VMSam
Bioengineer
- Jan 20, 2018
- 14
plain and simple: I have 3 seperate Static steps (each with their own loading conditions) and I want ABAQUS to run them in a loop for 50 times. how can I get this done?! i.e. step1,step2,step3,step1,step2,step3,...
more info: each step should be run for 1 increment, so the whole analysis should be done in 150 increments. this seems irrelevant but I am running urdfil and usdfld subroutines on this model.
to solve this problem for 5 loops (15 increments) , i have written a python script that creates 15 seperate steps. but for 150 steps, that approach does not seem optimized and will lead to big file size (150steps, 150loadings) so i am looking for a better approach.
my previous approach:
this python script (1) creates 15 static steps (2) copies the 3 seperate loadings into desires step (3) deactivates the load in the next step
result:
this approach works but it is not practical for 150 steps. so i am looking for a way to creat 3 steps and run them in a loop.
any help is appreciated.
more info: each step should be run for 1 increment, so the whole analysis should be done in 150 increments. this seems irrelevant but I am running urdfil and usdfld subroutines on this model.
to solve this problem for 5 loops (15 increments) , i have written a python script that creates 15 seperate steps. but for 150 steps, that approach does not seem optimized and will lead to big file size (150steps, 150loadings) so i am looking for a better approach.
my previous approach:
this python script (1) creates 15 static steps (2) copies the 3 seperate loadings into desires step (3) deactivates the load in the next step
Python:
for i in range(15):
mdb.models['Model-1'].StaticStep(amplitude=STEP, maxNumInc=1, name='Steps-%d'%(i+1),
noStop=OFF, previous='Steps-%d'%(i), timeIncrementationMethod=FIXED)
for i in range(5):
mdb.models['Model-1'].Load(name='Load-1-%d'%(i+1), objectToCopy=
mdb.models['Model-1'].loads['Load-1'], toStepName='Steps-%d'%(3*i+1))
mdb.models['Model-1'].loads['Load-1-%d'%(i+1)].deactivate('Steps-%d'%(3*i+2))
mdb.models['Model-1'].Load(name='Load-2-%d'%(i+1), objectToCopy=
mdb.models['Model-1'].loads['Load-2'], toStepName='Steps-%d'%(3*i+2))
mdb.models['Model-1'].loads['Load-2-%d'%(i+1)].deactivate('Steps-%d'%(3*i+3))
mdb.models['Model-1'].Load(name='Load-3-%d'%(i+1), objectToCopy=
mdb.models['Model-1'].loads['Load-3'], toStepName='Steps-%d'%(3*i+3))
mdb.models['Model-1'].loads['Load-3-%d'%(i+1)].deactivate('Steps-%d'%(3*i+4))
result:
this approach works but it is not practical for 150 steps. so i am looking for a way to creat 3 steps and run them in a loop.
any help is appreciated.