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