Mhhh, deine Frage ist schwierig zu beantworten. Ich fasse erstmal zusammen wie ich die Frage verstanden habe (um Missverständnissen vorzubeugen):
- du berechnest für 4 verschiedene Materialparameter jeweils 12 verschiedene Varianten -> =48
- d.h. dass du mindestens 4 Jobs aufsetzen musst
- hast du eine Materialvariante in CAE vollständig definiert, brauchst du für die anderen 3 nur noch das Material modifizieren
- pro Job rechnest du 12 "Probleme"
- BC die im "Initial"-Step definiert wurden, gelten für alle Steps
- die Frage ist also, wie du die Lasten der 12 Probleme am effektivsten erstellst, richtig?
Wenn die Lasten/Randbedingungen größtenteils identisch sind, würde ich ein "Problem" mit den übergreifenden Definitionen (Steps, Output, BC, Loads) vollständig in /CAE definieren. Von dieser Definition würde ich mir die "Mitschrift" aus der .rpy-Datei kopieren und in eine andere Datei legen. Ich empfehle bei der Definition in CAE mit Sets und Surface-Sets zu arbeiten. So wird die Mitschrift wesentlich einfacher zu verstehen.
Jetzt kannst du in dieser neuen Datei mit Copy&Paste oder einer Schleife die Definition der anderen Steps, BC usw. einfügen. Du musst den Steps natürlich jeweils einen neuen Namen geben und musst dann jeweils die Definitionen der BC, Loads usw. auf den neuen Step anwenden.
Falls du Phyton etwas kannst ist das mit der schleife nicht schwer. Du machst am Anfang eine Liste oder ein Dictionary, wo du den Ziffern i=1 bis 12 (oder in Phyton 0 bis 11) einen Namen (den Stepnamen) zuweist. Dann baust du eine Schleife um eine komplette Definitionen. Bei jedem Schleifendurchlauf wird i um 1 erhöht. Den Stepnamen bzw. Step in dem eine Last oder BC erstellt wird, ziehst du nun aus der Liste oder dem Dict., so dass mit jedem Schleifendurchlauf ein neuer Step mit allen Definitionen erstellt wird.
Noch einfacher wird es, wenn du die Stepnamen durchnummerieren kannst. Dann kannst du den Namen auch in der Schleife erzeugen. Also "Step-i" bzw. in Phyton-Syntax 'Step-%i'%i
Hier mal ein Beispiel. Kopiere das Script in eine leere Datei (Endung .py). Erzeuge in CAE in "Model-1" ein beliebiges Bauteil und eine Instance davon. Definiere ein Set mit dem Namen "Bereich-Last". Dann lass dieses Script ablaufen (File->Run Script).
Code:
from abaqus import *
from abaqusConstants import *
for i in range(12, 0, -1):
mdb.models['Model-1'].StaticLinearPerturbationStep(name='Step-%i'%i,
previous='Initial')
a = mdb.models['Model-1'].rootAssembly
region = a.sets['Bereich-Last']
mdb.models['Model-1'].DisplacementBC(name='Last-%i'%i, createStepName='Step-%i'%i,
region=region, u1=UNSET, u2=-10.0, u3=UNSET, ur1=UNSET, ur2=UNSET,
ur3=UNSET, amplitude=UNSET, fixed=OFF, distributionType=UNIFORM,
localCsys=None)
Es werden 12 Perturbation Steps und jeweils eine Last/BC erstellt. Nicht wundern, die Steps werden rückwärts erstellt (range(12, 0,-1)). Der Grund ist dieses "previous='Initial'". Das lässt sich schlecht parametrisieren.
In diese Schleife kannst natürlich noch mehr tun. Mehr Lasten, BC, Output Request usw. Das soll nur als Beispiel dienen.
Nun musst du nur noch für jedes "Problem" die Definitionen erstellen, welche jeweils unterschiedlich sind.
Ob das Ganze nun schneller und einfacher ist als die 12 Probleme per Hand zu definieren musst du selbst wissen.
PS: Wenn das Model viele DOF hat, macht es eventuell Sinn die 12 "Probleme" mit 1 Perturbation Step und 12 Loadcases zu rechnen. Siehe Manual 6.1.3 "Multiple load case analysis"
Das Vorgehen würde aber genauso funktionieren. Nur das du jetzt in der Schleife die Loadcases erstellst usw.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP