Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Python-Skript zur automatischen Erstellung von LOADS

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Python-Skript zur automatischen Erstellung von LOADS (3 mal gelesen)
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
Mono Seb
Mitglied
Berechnungsingenieur (Dipl.-Ing. TU)


Sehen Sie sich das Profil von Mono Seb an!   Senden Sie eine Private Message an Mono Seb  Schreiben Sie einen Gästebucheintrag für Mono Seb

Beiträge: 20
Registriert: 23.12.2014

erstellt am: 23. Dez. 2014 13:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Tag zusammen,

ich bin gerade ein bisschen ratlos und frage hier mal nach Rat/ Denkanstößen. Es geht um folgendes: Ich setze gerade eine transiente FEM-Rechnung in ABAQUS auf. Nun muss ich die PRESSURE LOADs definieren. Das Problem: ich möchte das via Python-Skript erledigen, da ich manuell 155 Surfaces jeweils einen Druck zuweisen muss und das Ganze dann auch noch für 5 Steps, macht also schlappe 775 LOADs, welche manuell zu setzen sind... dies ist mir aber zu blöd und kann ja prinzipiell wunderbar automatisiert werden 

Übrigens: Ich bin Python-Neuling.

Meine Idee:

ein Dictionary bauen, mit einer "Spalte" SURFACES, der Spalte, die den Namen der Belastung enthält und der Magnitude.

Dafür möchte ich dann einfach eine FOR-Schleife generieren, welche mir dann 155 LOADs für meine 155 verschiedenen Flächen erzeugt. Leider stehe ich gerade komplett auf dem Schlauch, da ich irgendwie keine Ahnung habe, wie ich korrekt auf die Spalteneinträge im Dictionary zugreifen kann. 

Hier noch ein Code-Schnipsel, welcher noch nicht funktioniert:

# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__

# deklaration

myLOAD_P1={}
myLOAD_P1['SURF']=['HP STAGE 01 1',
'HP STAGE 01 2',
'HP STAGE 01 3',
'HP STAGE 01 4']

myLOAD['name']=['P1 HP STAGE 01 1',
'P1 HP STAGE 01 2',
'P1 HP STAGE 01 3',
'P1 HP STAGE 01 4'
]

myLOAD['magnitude']=[3800000,
3800000,
3800000,
3610000]

import section
import regionToolset
import displayGroupMdbToolset as dgm
import part
import material
import assembly
import step
import interaction
import load
import mesh
import optimization
import job
import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import connectorBehavior
       
a = mdb.models['Model-1'].rootAssembly
for SURF in myLOAD.items():
region = a.instances['INNER_CASING-1'].surfaces[myLOAD.items()]
mdb.models['Model-1'].Pressure(name='P1_Load-1', createStepName='Step-1',
region=region, distributionType=UNIFORM, field='', magnitude=3800000.0,
        amplitude='AMP-ALPHA P0->P1')

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pam Crash
Moderator
Moderator


Sehen Sie sich das Profil von Pam Crash an!   Senden Sie eine Private Message an Pam Crash  Schreiben Sie einen Gästebucheintrag für Pam Crash

Beiträge: 411
Registriert: 29.04.2008

erstellt am: 24. Dez. 2014 11:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mono Seb 10 Unities + Antwort hilfreich

Guude

Der python -Weg erscheint mir übertrieben aufwendig. Dein Dictionary sieht doch schon so aus wie das Abaqus Inputfile Format. Du könntest den Text also direkt manuell via editor ins Inputdeck einbauen oder alternativ über den abaqus cae preprozessor in dein Modell importieren.

------------------
Pam

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Callahan
Ehrenmitglied V.I.P. h.c.
Administrator PDMLink


Sehen Sie sich das Profil von Callahan an!   Senden Sie eine Private Message an Callahan  Schreiben Sie einen Gästebucheintrag für Callahan

Beiträge: 5608
Registriert: 12.09.2002

Creo Parametric 3.0 M180 (produktiv)
Creo Parametric 6.0 (Test)
Windchill PDMLink 11.1 M020
Pro/NC mit NCSimul
CoCreate ME10 14.5
SimuFact Forming 16
MSC.Marc/Mentat 2014.1

erstellt am: 29. Dez. 2014 06:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mono Seb 10 Unities + Antwort hilfreich

Ich verschiebe mal in den Abaqus-Bereich. Hier gehts weiter.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz