abaqus批量提交inp文件进行计算
2020年8月25日 浏览:2429 评论:21 收藏:12
当分析参数较多时,可能同时有多个模型需要计算。但只有一台电脑的话需要人守着一个一个提交模型文件,耗费大量人的精力。
实际上只需要几行代码,就可实现电脑一个接一个自动计算模型。
话不多说实现方式如下:(不需要下载任何软件)
(1)新建一个txt文件,将以下内容作为表头固定输入。
from abaqusConstants import*
import job
(2)下面为计算代码
mdb.JobFromInputFile(name='result-1',inputFileName='cal-1.inp',numCpus=62,numDomains=62) mdb.jobs['result-1'].submit() mdb.jobs['result-1'].waitForCompletion()
resut-1为计算后odb文件名称,inp文件为模型计算文件,numCpus,numDomains对于计算机的线程数
当同时计算多个模型文件时,将计算代码copy多次即可,注意odb文件名不要重复,例如
mdb.JobFromInputFile(name='result-10',inputFileName='cal-10.inp',numCpus=62,numDomains=62) mdb.jobs['result-10'].submit() mdb.jobs['result-10'].waitForCompletion() mdb.JobFromInputFile(name='result-11',inputFileName='cal-11.inp',numCpus=62,numDomains=62) mdb.jobs['result-11'].submit() mdb.jobs['result-11'].waitForCompletion() mdb.JobFromInputFile(name='result-12',inputFileName='cal-12.inp',numCpus=62,numDomains=62) mdb.jobs['result-12'].submit() mdb.jobs['result-12'].waitForCompletion()
以上代码计算了3个模型,先计算Cal-10.inp,再计算Cal-11.inp,最后计算Cal-12.inp,如果有更多文件继续copy吧
计算3个模型时的完整代码如下
from abaqusConstants import*
import job
mdb.JobFromInputFile(name='result-10',inputFileName='cal-10.inp',numCpus=62,numDomains=62)
mdb.jobs['result-10'].submit()
mdb.jobs['result-10'].waitForCompletion()
mdb.JobFromInputFile(name='result-11',inputFileName='cal-11.inp',numCpus=62,numDomains=62)
mdb.jobs['result-11'].submit()
mdb.jobs['result-11'].waitForCompletion()
mdb.JobFromInputFile(name='result-12',inputFileName='cal-12.inp',numCpus=62,numDomains=62)
mdb.jobs['result-12'].submit()
mdb.jobs['result-12'].waitForCompletion()
(3)将txt文件后缀.txt,修改为.py。此时在abaqus插入脚本即可使用了
当然还有别的方法,但这中脚本方法亲测我觉得最靠谱。
点赞 38 评论 21 收藏 12
查看更多评论 >