I have a python script to create ABAQUS model and run a job.
I want to create a loop over a variable
index=1:1:4,
create four different models and run the four jobs for each model.
A model is named 'Model-1' for instance in the following line:
##-----------------------------------------------------------------------
mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=sqrlen)
##-----------------------------------------------------------------------
In creating a loop, I create a string as follows:
##-----------------------------------------------------------------------
index='1'
modelname='\''+'Model' + index+ '\''
# Square Part is created
mdb.models[modelname].ConstrainedSketch(name='__profile__', sheetSize=sqrlen)
##-------------------------------------------------------------------------
When I run the script in ABAQUS, it gives error saying 'Model1'as follows:
##-------------------------------------------------------------------------
File "d:/abaqus_working_directory/scripting_example/simulation/scripting_loop.py", line 22, in <module>
mdb.models[modelname].ConstrainedSketch(name='__profile__', sheetSize=sqrlen) #### sqrlen
KeyError: 'Model1'
Exit from main file [Kernel]: d:/abaqus_working_directory/scripting_example/simulation/scripting_loop.py
##-------------------------------------------------------------------------
I want to use the string modelname( with value ='Model-1') instead of writing 'Model-1' in the python script
mdb.models['Model-1'].ConstrainedSketch(name=....)
mdb.models[modelname].ConstrainedSketch(name=...)
when it is called.
Any help is deeply appreciated.
Sincerely, Me.
don't work with the string names at all. Early in the script define:
then do for example:
if you are working with multiple models then similarly create a list of model objects.