Это зависит от того, как вы вызываете Абакуса.Если вы создаете процессы Abaqus напрямую, вы можете добавить аргумент -interactive
в свою команду, чтобы он не запускал решатель в фоновом процессе и немедленно возвращался.Например:
abq2018 -j my_job_name -interactive
С другой стороны, если вы используете Abaqus API и объект Job
для создания и выполнения заданий, вы можете использовать метод waitForCompletion
, чтобы дождаться, пока Job
завершается.Вот выдержка из документации Abaqus:
waitForCompletion ()
Этот метод прерывает выполнение скрипта до конца анализа.Если вы вызываете метод waitForCompletion и элемент состояния не передан и не запущен, Abaqus предполагает, что анализ либо завершен, либо прерван, и немедленно возвращает результат.
Вот краткий пример того, как создать Job
объектыи используйте метод waitForCompletion
:
from abaqus import *
# Create a Job from a Model definition
j1 = mdb.Job(name='my_job_name', model=mdb.models['my_model_name'])
# or create a Job from an existing input file
j2 = mdb.JobFromInputFile(name='my_job_name', inputFileName='my_job_name.inp')
# Submit the first job - this returns immediately
j1.submit()
# Now wait for the first job - this will block until the job completes
j1.waitForCompletion()
# Same process for the second Job
j2.submit()
j2.waitForCompletion()