python - Compile user subroutine only once when running consecutive jobs in Abaqus -
i have script written in python calibrates material parameters based on output of last job, is, runs many jobs in abaqus consecutively until error small enough.
i use fortran subroutine compiles before each job.
the problem each job submit, user subroutine compiles. though input parameters different last job user subroutine not have compiled again. compilation of subroutine takes 80% of time of running job.
how can specify compile user subroutine once , use consecutive runs?
the following snippets of relevant code written in python. execute script typing
abaqus cae nogui=script.py
in terminal. code uses abaqus scripting interface.
creating job:
mdb.job(name=self.jobname, model='model-1', description='', type=analysis, attime=none, waitminutes=0, waithours=0, queue=none, memory=90, memoryunits=percentage, getmemoryfromanalysis=true, explicitprecision=single, nodaloutputprecision=single, echoprint=off, modelprint=off, contactprint=off, historyprint=off, usersubroutine=self.usersubroutinepath, scratch='', resultsformat=odb, multiprocessingmode=default, numcpus=1, numgpus=0)
submit , wait job completion:
mdb.jobs[self.jobname].submit(consistencychecking=off) mdb.jobs[self.jobname].waitforcompletion()
this code run each time run consecutive job data previous run.
the compiler intel 64 fortran compiler xe, version 15.0.0.090 build 20140723.
by entering
module add abaqus module add intel module add gcc
i then allowed enter
abaqus make library=usub.f
which compile subroutine.
Comments
Post a Comment