abaqus批量提交inp文件进行计算

当分析参数较多时,可能同时有多个模型需要计算。但只有一台电脑的话需要人守着一个一个提交模型文件,耗费大量人的精力。

实际上只需要几行代码,就可实现电脑一个接一个自动计算模型。

话不多说实现方式如下:(不需要下载任何软件)

(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插入脚本即可使用了

当然还有别的方法,但这中脚本方法亲测我觉得最靠谱。

登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

38
21
12