Abaqus批處理

如何實(shí)現(xiàn)input文件處理,一直是廣大ABAQUS使用者關(guān)心的問(wèn)題。在ABAQUS軟件中好像并沒(méi)有提供一個(gè)界面來(lái)實(shí)現(xiàn)這個(gè)功能,所以我們只能通過(guò)其它方式去實(shí)現(xiàn),今天我們討論一種使用dos的方式實(shí)現(xiàn),以后再討論python實(shí)現(xiàn)方法。現(xiàn)在我們開(kāi)始!

版本說(shuō)明:如您的電腦只安裝了一個(gè)abaqus的版本,那么就和下面的實(shí)例都完全相同;如果您的電腦安裝了兩個(gè)及以上的abaqus版本,那么請(qǐng)將實(shí)例中的abaqus替換成您需要調(diào)用的版本,例如abaqus6.11.1、abaqus6.12.1等!

問(wèn)題一、怎么實(shí)現(xiàn)批處理

首先,新建一個(gè)記事本文件,將后綴改為bat,如run.bat,在里面輸入如下內(nèi)容,然后保存文件,雙擊bat文件既可以運(yùn)行計(jì)算。

call abaqus job=jobname1

call abaqus job=jobname2

說(shuō)明:這種方式創(chuàng)建的批處理文件,是同時(shí)計(jì)算所列出來(lái)的每項(xiàng)任務(wù),一般不是我們想要的結(jié)果,我們想要的應(yīng)該是計(jì)算完第一個(gè)后計(jì)算第二個(gè),依次計(jì)算下去,那么就要使用下面的方法了。

問(wèn)題二、怎么實(shí)現(xiàn)交互式批處理

call abaqus job=jobname1 int

call abaqus job=jobname2 int

說(shuō)明:這種方式創(chuàng)建的批處理文件每條語(yǔ)句后面帶有int(interactive),意為交互式的,這樣計(jì)算機(jī)會(huì)計(jì)算完第一個(gè)job后才開(kāi)始計(jì)算第二個(gè)job,達(dá)到我們的目的了。但新的問(wèn)題又來(lái)了,我們很多情況下需要調(diào)用多個(gè)cpu進(jìn)行計(jì)算,那么這時(shí)應(yīng)該怎么辦呢?請(qǐng)看下面。

問(wèn)題三、怎么實(shí)現(xiàn)多cpu計(jì)算

call abaqus job=jobname1 cpus=20 int

call abaqus job=jobname2 cpus=20 int

說(shuō)明:加上cpus這條語(yǔ)句后,系統(tǒng)會(huì)調(diào)用指定的cpu的個(gè)數(shù)進(jìn)行計(jì)算,節(jié)約計(jì)算時(shí)間。

問(wèn)題四、怎么保留批處理的dos框

call abaqus job=jobname1 cpus=20 int

call abaqus job=jobname2 cpus=20 int

pause

說(shuō)明:加上最后一條語(yǔ)句后就算出現(xiàn)錯(cuò)誤dos黑框也不會(huì)一閃而過(guò)自動(dòng)關(guān)掉,有時(shí)可以從這里快速知道問(wèn)題出在哪里,從而進(jìn)行必要的修改。

問(wèn)題五、怎么刪除文件

call abaqus job=jobname1 cpus=20 int

del jobname1.stt “注釋?zhuān)簞h除第一個(gè)job的stt文件”

call abaqus job=jobname2 cpus=20 int

del jobname2.dat “注釋?zhuān)簞h除第二個(gè)job的dat文件”

說(shuō)明:有時(shí)生成的一些文件很大,會(huì)占用大量硬盤(pán)空間,那么就需要在計(jì)算完成時(shí)使用上面的語(yǔ)句,刪除不需要的文件,以便為下一個(gè)計(jì)算多一些硬盤(pán)空間。

問(wèn)題六、如何restart上一個(gè)文件

call abaqus job=jobname1 int

call abaqus job=jobname2 oldjob=jobname1 int

call abaqus job=jobname3 oldjob=jobname2 int

說(shuō)明:有時(shí)為節(jié)約計(jì)算時(shí)間,設(shè)置重啟動(dòng)文件,那么批處理文件里面就可以像上面的寫(xiě)法,在計(jì)算第二個(gè)job的時(shí)候調(diào)用第一個(gè)job。當(dāng)然使用這個(gè)的前提是已經(jīng)確保計(jì)算時(shí)設(shè)置了正確的重啟動(dòng),并且重啟動(dòng)需要的文件都在。

問(wèn)題七、計(jì)算完成后怎么自動(dòng)關(guān)機(jī)

call abaqus job=jobname1 cpus=20 int

call abaqus job=jobname2 cpus=20 int

shutdown –s –f –t “1秒后自動(dòng)強(qiáng)制關(guān)機(jī)”

說(shuō)明:上面的最后一條語(yǔ)句會(huì)在計(jì)算完成時(shí)執(zhí)行,強(qiáng)制關(guān)閉計(jì)算機(jī),如果不指定f的話,有可能在計(jì)算機(jī)鎖定狀態(tài)下不能關(guān)機(jī),因此還是將f加上。

問(wèn)題八、其它幾個(gè)不太常用的命令

call abaqus terminate job=jobname1 int “殺死任務(wù),一般不可恢復(fù)”

call abaqus suspend job=jobname1 int “暫停任務(wù),可恢復(fù)”

call abaqus resume job=jobname1 int “從上次結(jié)束的地方恢復(fù)計(jì)算”

問(wèn)題九、abaqus不是內(nèi)部命令,不能批處理提交

解決方案:假如你的abaqus.bat在D:\SIMULIA\Abaqus\Commands下,那么在dos下輸入命令path=%path%;D:\SIMULIA\Abaqus\Commands即可。

問(wèn)題十、顯式計(jì)算怎么修改計(jì)算精度

解決方案:將批處理的調(diào)用語(yǔ)句改為call abaqus job=jobname1 double int,則計(jì)算時(shí)采用雙精度,但這比較費(fèi)時(shí),沒(méi)有必要的話,就不要加了。

問(wèn)題十一、怎么查看當(dāng)前計(jì)算狀態(tài)

解決方案:根據(jù)個(gè)人經(jīng)驗(yàn),一般通過(guò)查看sta文件、dat文件、msg文件就可以把握當(dāng)前任務(wù)的運(yùn)行狀態(tài)


轉(zhuǎn)自公眾號(hào)——ABAQUS大世界

旨在分享,若侵即刪.

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

2
1
3