標籤:

abaqus批處理?

在批處理調用abaqus的py文件時,先找到記錄所有操作步驟和參數的文件abaqus.rpy,首先我把它改成txt格式複製到腳本窗口無法生成建模,顯示syntaxerror:invalid syntax,而且明顯感覺代碼太短,從建模的模型參數到分析步到荷載所設置的參數都沒找到,求哪位奆奆幫忙,我只想能夠快速修改模型參數,提交多個任務。


這個我會。基本思路如下:

1.先批量生成.inp文件;

2.批量提交.inp文件進行計算;

3.還可以批量處理結果數據,如果有需要的話。

當然你也可以生成一個完整的.py文件,裡面包含所有的前處理計算後處理流程。我個人喜歡第一種分段處理的方式,因為這樣可以分階段檢查錯誤,如果有一個出問題,可以及時停止計算,不必要浪費太多計算資源和計算時間。

現在說一下具體操作細節。

第一步,如何批量生成.inp文件。

這裡面包含兩個子步,第一步是先生成一個模板.inp文件;第二步是用python將模板.inp修改成可以批量化輸出.inp的文件。

其中1.1步也就是你問題中描述的,如何利用GUI生成模板文件。這個具體操作步驟,見此鏈接:http://bertoldi.seas.harvard.edu/files/bertoldi/files/learnabaqusscriptinonehour.pdf

1.2步中主要的工作,就是調用python的循環語句功能,循環輸出提交計算用的.inp文件。注意這裡可以循環嵌套,方便同時調整多個參數的變數值。python循環語句,見此鏈接:ForLoop - Python Wiki

第二步,如何批量提交.inp進行計算?

笨的辦法,就是自己一個一個在job manager里提交,如果只有幾個的話,工作量還是可以接受的。另一種方式就是自己寫個.bat文件,直接在DOS窗口提交。我用的是windows系統,蘋果和ubuntu的具體操作不清楚,但肯定也可以的。自己寫.bat的好處就是,我可以刪掉我不想要的結果文件,節省空間。因為我有時候會批處理50個計算任務,光為了保存結果文件就要佔用很多空間,所以基本上都是算完一個,把沒用的刪掉,開始算第二個。可參考:CUED - ABAQUS

第三步,如何批處理結果文件?

這裡面看你要怎麼樣後處理.odb文件,如果ABAQUS自帶的輸出結果就能滿足你的需求,參考第一步,你可以記錄你後處理的操作步驟,然後批量調用.odb文件,一個循環下來,你要的結果都有了。但如果你需要用諸如MATLAB之類的其他軟體進行數據後處理,那麼你先要從ABAQUS輸出MATLAB能識別的數據文件,再用MATLAB處理。也可以直接從MATLAB里打開ABAQUS,進行你需要的操作。這個可以參考:Downloads How to run ABAQUS from Matlab.

基本上就是這些,但是具體問題具體分析,希望對你有用。


首先不能改成txt文件格式,應該改成py文件,而且盡量不要在GUI界面直接複製運行,我記得N久之前我在這裡有些關鍵字或者格式容易出錯。我個人還是習慣文檔軟體編寫完,用file下的Run Script來運行,你也可以用abaqus內置的PDE試試。

其次系統自動生成的abaqus.rpy文件中所用的一些edge face等的選取是基於內部的編號,如果你對其中的幾何體進行了切割等操作,這個默認編號會發生變化。而且這個系統內部編號在GUI中無法查看。因此在py文件中一般推薦使用findAt或findBybounding等函數選取。所以你直接運行系統生成的文件會出錯。

最後一個你說很多操作沒有在文件中生成,我推薦你看看工作目錄設置,默認生成在abaqus安裝時設置的工作目錄中,而不是你在GUI中Set work Directory的目錄下。


推薦閱讀:

如何使用Abaqus輸入隨時間變化的材料屬性,是否需要編寫用戶程序?
abaqus後處理可以一併提絕對坐標和想要的結果(撓度、應力)嗎?如畫梁的撓度,需要每個點的坐標和撓度
精通abaqus的人一般是怎樣的工作狀態和待遇?
想用ansys去分析骨頭的受力情況,有什麼快速入門簡單應用的教程嗎?我工科的知識儲備太少了。請教。?
abaqus有限元模擬有什麼奇技淫巧?

TAG:Abaqus |