Forum:SIMULIA/ABAQUS
Thema:Python-Skript zur automatischen Erstellung von LOADS
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge verwalten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
Mono Seb

Beiträge: 20 / 0

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')

Pam Crash

Beiträge: 433 / 0

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

Callahan

Beiträge: 5609 / 1


Windchill PDMLink 11.1 M020
Creo Parametric 3.0 M180 (produktiv)
Creo Parametric 7.0 (Test)
CoCreate ME10 14.5
SimuFact Forming 2021

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