abaqus批量提交inp文件進行計算
瀏覽:3581 評論: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插入腳本即可使用了
當然還有別的方法,但這中腳本方法親測我覺得最靠譜。
技術鄰APP
工程師必備
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP
38
21
12




















