精講Abaqus批處理發表時間:2018-12-05 09:30作者:黑劍科技來源:原創 如何實現input文件處理,一直是廣大ABAQUS使用者關心的問題。在ABAQUS軟件中好像并沒有提供一個界面來實現這個功能,所以我們只能通過其它方式去實現,今天我們討論一種使用dos的方式實現,以后再討論python實現方法。現在我們開始! 版本說明:如您的電腦只安裝了一個abaqus的版本,那么就和下面的實例都完全相同;如果您的電腦安裝了兩個及以上的abaqus版本,那么請將實例中的abaqus替換成您需要調用的版本,例如abq6111、abq6121等!
問題一、怎么實現批處理 首先,新建一個記事本文件,將后綴改為bat,如run.bat,在里面輸入如下內容,然后保存文件,雙擊bat文件既可以運行計算。 call abaqus job=jobname1 call abaqus job=jobname2 說明:這種方式創建的批處理文件,是同時計算所列出來的每項任務,一般不是我們想要的結果,我們想要的應該是計算完第一個后計算第二個,依次計算下去,那么就要使用下面的方法了。 問題二、怎么實現交互式批處理 call abaqus job=jobname1 int call abaqus job=jobname2 int 說明:這種方式創建的批處理文件每條語句后面帶有int(interactive),意為交互式的,這樣計算機會計算完第一個job后才開始計算第二個job,達到我們的目的了。但新的問題又來了,我們很多情況下需要調用多個cpu進行計算,那么這時應該怎么辦呢?請看下面。 問題三、怎么實現多cpu計算 call abaqus job=jobname1 cpus=20 int call abaqus job=jobname2 cpus=20 int 說明:加上cpus這條語句后,系統會調用指定的cpu的個數進行計算,節約計算時間。 問題四、怎么保留批處理的dos框 call abaqus job=jobname1 cpus=20 int call abaqus job=jobname2 cpus=20 int pause 說明:加上最后一條語句后就算出現錯誤dos黑框也不會一閃而過自動關掉,有時可以從這里快速知道問題出在哪里,從而進行必要的修改。 問題五、怎么刪除文件 call abaqus job=jobname1 cpus=20 int del jobname1.stt “注釋:刪除第一個job的stt文件” call abaqus job=jobname2 cpus=20 int del jobname2.dat “注釋:刪除第二個job的dat文件” 說明:有時生成的一些文件很大,會占用大量硬盤空間,那么就需要在計算完成時使用上面的語句,刪除不需要的文件,以便為下一個計算多一些硬盤空間。 問題六、如何restart上一個文件 call abaqus job=jobname1 int call abaqus job=jobname2 oldjob=jobname1 int call abaqus job=jobname3 oldjob=jobname2 int 說明:有時為節約計算時間,設置重啟動文件,那么批處理文件里面就可以像上面的寫法,在計算第二個job的時候調用第一個job。當然使用這個的前提是已經確保計算時設置了正確的重啟動,并且重啟動需要的文件都在。 問題七、計算完成后怎么自動關機 call abaqus job=jobname1 cpus=20 int call abaqus job=jobname2 cpus=20 int shutdown –s –f –t 1 “1秒后自動強制關機” 說明:上面的最后一條語句會在計算完成時執行,強制關閉計算機,如果不指定f的話,有可能在計算機鎖定狀態下不能關機,因此還是將f加上。 問題八、其它幾個不太常用的命令 call abaqus terminate job=jobname1 int “殺死任務,一般不可恢復” call abaqus suspend job=jobname1 int “暫停任務,可恢復” call abaqus resume job=jobname1 int “從上次結束的地方恢復計算” 問題九、abaqus不是內部命令,不能批處理提交 解決方案:假如你的abaqus.bat在D:\SIMULIA\Abaqus\Commands下,那么在dos下輸入命令path=%path%;D:\SIMULIA\Abaqus\Commands即可。 問題十、顯式計算怎么修改計算精度 解決方案:將批處理的調用語句改為call abaqus job=jobname1 double int,則計算時采用雙精度,但這比較費時,沒有必要的話,就不要加了。 問題十一、怎么查看當前計算狀態 解決方案:根據個人經驗,一般通過查看sta文件、dat文件、msg文件就可以把握當前任務的運行狀態。 以上為本人親測完全可以使用,如有不全或不妥之處,還請各位齊心協力,完善abaqus批處理技巧!!! 上一篇自由模態與約束模態
|