我写了一个脚本来在abaqus中创建多个模型,然后运行使用简单的python循环创建的作业,但是运行脚本时,程序会同时运行所有作业,并且计算机内存不足,因此中止工作。我想知道如何创建一个大纲,以便在第一个作业结束后立即提交下一个作业。
答案 0 :(得分:0)
这取决于您如何调用Abaqus。如果直接创建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()
答案 1 :(得分:0)
我开发了图形用户界面来改善Abaqus分析的排队过程。 可以在GitHub here上使用。
安装:
1.从GitHub下载或克隆该软件包。
2.找到core.py文件,并根据您的机器和配置编辑第31、36、37和38行。
3.运行它。
如果在使用时遇到任何问题,请在GitHub存储库上提交它们。