
發布
注冊
/
登錄提高abaqus計算速度
關注創建者:王靖雯 創建時間:2023-02-27

提高abaqus計算速度的實例教程
如何提高ABAQUS計算速度
當問題的自由度和復雜程度比較小的時候,計算速度也許不是什么太大的問題,但當自由度很多,比如幾百萬個自由度,又有復雜的接觸搜索計算時,計算速度就很重要了。我不精通計算機原理,但在Windows和Linux上安裝使用過32位和64位ABAQUS,也在64位工作站上用Linux并行計算過,對計算速度有一點自己的心得,寫出來和大家討論下,對計算機比較精通的,希望能解釋下原理和表達下自己的看法。
我認為影響計算速度的因素主要有3個:
1.計算模型的大小和復雜程度;
2.ABAQUS中關于內存和硬盤使用的設置;
3.計算機的配置。
在ABAQUS幫助文件中說,一個有限元模型在分析計算中,會生成兩種臨時文件,第一種臨時文件是必須放在內存中,第二種臨時文件可以放在硬盤里也可以放在內存中。由于內存讀寫速度比硬盤讀寫速度快,所以如果計算機配置不變的情況下,要達到最快計算速度,就要在計算時讓兩種臨時文件都放在內存中。在計算前進行datacheck,然后在dat文件中會告訴你能使模型計算所需最小的內存量,也就是在計算中所生成的第一種文件的大小,還會告訴你最小I/O交換情況所需的內存量,也就是兩種文件都放在內存中時所需要的內存量,我稱這叫“全速計算”所需內存量。在ABAQUS中,有個內存使用上限設置參數,也就是你允許你的計算機中有多少內存讓ABAQUS使用,如果你允許ABAQUS使用的內存上限大于“全速計算”所需內存,則ABAQUS會將兩種臨時文件放入內存使用。如果允許內存大于最小所需內存,小于“全速計算”計算內存,則ABAQUS會把第二種文件一部分放入內存,一部分放入硬盤。如果允許內存小于最小所需內存,則無法計算。
展開 所以如果你的模型“全速計算”所需內存量很小的時候,或者相對你的計算機物理內存很小的時候,如果不改變計算機配置,速度就已經達到最快了,再加大內存或內存上限也沒用。如果你的模型無法進行“全速計算”,首先可以在可能的情況下,提高ABAQUS允許使用內存上限值來提速,如果本身物理內存的限制,那么加大物理內存也能提速。
下面說說CPU和內存的使用問題。首先CPU和內存頻率越高計算速度就會越快。當“全速計算”時,我看到的是CPU在分析計算時能100%使用(除了前處理,寫入計算結果和兩迭代計算中間隙時),多CPU計算也是如此。不是“全速計算”時,分析計算種CPU部分時間能100%使用,和部分CPU能100%使用,我想這應該和硬盤讀寫速度相對較慢導致的吧。如果有兩個模型在某計算機中都能“全速計算”,兩個“全速計算”的內存之和也不超過允許使用內存大小,如果同時計算,計算速度應該都小于分別單獨計算時的速度,因為CPU要分配給兩個模型用。如果兩個“全速計算”的內存之和大于允許使用內存,則同時計算時就會“搶內存”,計算速度就會大打折扣,這還沒考慮如果使用了虛擬內存的情況。
如果你設置的ABAQUS使用的內存上限大于你實際的物理內存,這個時候好像就會用到虛擬內存,計算速度也會大打折扣。如果你用ABAQUS時還有其它程序也在大量使用內存和CPU,也會很影響速度。所以務必保證你設置的允許使用內存上限,必須是計算機物理內存實際能空閑提供給ABAQUS使用的內存。
然后再是Linux和并行計算的問題,一臺計算機使用多個CPU進行計算也算是一種并行計算,在“全速計算”情況下參與計算的CPU越多,計算速度越快。我用的是ABAQUS6.8,Linux用的是opensuse10.3,計算機用的是兩臺64位8CPU工作站。
展開 在ABAQUS幫助文件中說,一個有限元模型在分析計算中,會生成兩種臨時文件,第一種臨時文件是必須放在內存中,第二種臨時文件可以放在硬盤里也可以放在內存中。由于內存讀寫速度比硬盤讀寫速度快,所以如果計算機配置不變的情況下,要達到最快計算速度,就要在計算時讓兩種臨時文件都放在內存中。在計算前進行datacheck,然后在dat文件中會告訴你能使模型計算所需最小的內存量,也就是在計算中所生成的第一種文件的大小,還會告訴你最小I/O交換情況所需的內存量,也就是兩種文件都放在內存中時所需要的內存量,我稱這叫“全速計算”所需內存量。在ABAQUS6.8中,有個內存使用上限設置參數,也就是你允許你的計算機中有多少內存讓ABAQUS使用,如果你允許ABAQUS使用的內存上限大于“全速計算”所需內存,則ABAQUS會將兩種臨時文件放入內存使用。如果允許內存大于最小所需內存,小于“全速計算”計算內存,則ABAQUS會把第二種文件一部分放入內存,一部分放入硬盤。如果允許內存小于最小所需內存,則無法計算。
所以如果你的模型“全速計算”所需內存量很小的時候,或者相對你的計算機物理內存很小的時候,如果不改變計算機配置,速度就已經達到最快了,再加大內存或內存上限也沒用。如果你的模型無法進行“全速計算”,首先可以在可能的情況下,提高ABAQUS允許使用內存上限值來提速,如果本身物理內存的限制,那么加大物理內存也能提速。
下面說說CPU和內存的使用問題。首先CPU和內存頻率越高計算速度就會越快。當“全速計算”時,我看到的是CPU在分析計算時能100%使用(除了前處理,寫入計算結果和兩迭代計算中間隙時),多CPU計算也是如此。不是“全速計算”時,分析計算種CPU部分時間能100%使用,和部分CPU能100%使用,我想這應該和硬盤讀寫速度相對較慢導致的吧。
展開 由AWS亞馬遜云提供支持的Ansys Gateway:為仿真而打造
這款云解決方案,即由AWS亞馬遜云提供支持的Ansys Gateway,顯著提高了仿真的計算能力和求解速度,專用于解決當今仿真所具有的海量數據、復雜工作流程和跨職能協作。
該解決方案可在AWS Marketplace上獲取,其巧妙結合了全球最全面、最廣泛采用的云平臺,與Ansys在通過HPC解決高級工程問題方面的深厚專業知識。Ansys專家深知如何將特定的Ansys解決方案與問題類型以及最佳HPC配置相匹配,因此,可提供優異的“即插即用”性能,其默認的虛擬桌面架構(VDI)和HPC設置已經針對工程仿真進行了優化。
由AWS亞馬遜云提供支持的Ansys Gateway還可為更高級的用戶提供對云環境的完全控制。用戶可以通過用戶門戶配置自己獨特的VDI或HPC集群,這些集群可根據用戶自己的仿真需求進行定制。用戶可從AWS云部署模板提供的豐富選項中進行選擇,其中包含CPU、內存、存儲和網絡容量的各種組合。由AWS亞馬遜云提供支持的Ansys Gateway還為每個求解器提供推薦的模板類型。
云定制化功能使Ansys Fluent用戶能夠在求解速度和計算成本之間進行平衡,以滿足他們自己的特定需求。有些用戶可能面臨緊迫的期限,需要選擇最快的運行時間,而不考慮成本;而另一些用戶可能不需要快速獲得CFD仿真結果,并選擇較慢的解決方案運行時間,從而最大限度地降低硬件成本。由AWS亞馬遜云提供支持的Ansys Gateway使仿真用戶能夠自己做出明智的選擇。
展開 (Solver_Option = 0 是使用external 的 MOR_MUMPS.exe程序做matrix factorization,速度可提高數倍。MOR_MUMPS.exe是自己寫的C語言程序,用到了GNU MUMPS linear solver library和BLAS library, 需用GNU fortran 和 gcc 編譯).
ANSYS模型的MOR步驟:
Model Order Reduction using Ansys & Matlab.rar
(1): 在ANSYS里建模,mesh,以及加載 (不必求解)。
(2): 用HBMAT命令輸出system matrice文件(Example.mac里有對應的code).
(3): 在Matlab里讀入system matrice文件進行MOR(code在MOR_ODE.m里).
(4): 在Matlab里用ODE solver求解并project solution back 得到原模型上的解。
限制: 模型必需是linear system response model.
ansys.dat 中包含了用ANSYS得到的MX和MN點的溫度變化曲線, 用來和MOR結果做比較。
下圖顯示了用matlab/MOR求解ANSYS模型結果和直接用ANSYS simulation的結果的比較,可以看出結果完全一樣,求解速度提高400倍!
展開 
提高abaqus計算速度的相關專題、標簽、搜索
提高abaqus計算速度的最新內容
本文原刊登于Ansys.com:《Race to Faster Fluent Results with Ansys Gateway Powered by AWS》
作者:Thomas Lejeune | Ansys產品營銷高級經理
編輯整理:郭曉東 | Ansys主任應用工程師
Ansys Fluent用戶需要出色的計算速度和功能來求解大規模的問題,而他們現在可以利用專用的云平臺
聲明:貼主目前正在學習ABAQUS,對UMAT有一點淺淺的了解,若有不對的地方,請理性留言討論。
貼主的ABAQUS模型即使使用工作站,一運行也好幾天,苦惱不已,因此萌生了探討影響計算速度的相關因素的想法。
首先影響ABAQUS運行速度的最主要因素是模型的復雜程度,但往往模型是不易更改的,因此本文不做討論,而著重討論容易更改的部分,進而提高ABAQUS的運行效率。以下對計算效率的討論均使用了使用
Abaqus有非常豐富的單元庫,其中就有軸對稱單元,比如CAX4(I/R/H/T),當一個回轉結構具有某種載荷對稱性時,可以用它將三維模型縮減為軸對稱模型來分析,能減少大量的內存和分析時間,而同樣的模型規模,3D實體單元要更耗費計算資源。
那么,回轉結構受到側向彎曲或軸向扭轉的載荷時,有沒有類似的單元可以用呢?
橡膠阻尼器的內摩擦生熱分析-節點溫度云圖
比如,假設上圖中的阻尼器不再是長方體
在ABAQUS幫助文件中說,一個有限元模型在分析計算中,會生成兩種臨時文件,第一種臨時文件是必須放在內存中,第二種臨時文件可以放在硬盤里也可以放在內存中。由于內存讀寫速度比硬盤讀寫速度快,所以如果計算機配置不變的情況下,要達到最快計算速度,就要在計算時讓兩種臨時文件都放在內存中。在計算前進行datacheck,然后在dat文件中會告訴你能使模型計算所需最小的內存量,也就是在計算中所生成的第一種文件的大小
如何提高ABAQUS計算速度
當問題的自由度和復雜程度比較小的時候,計算速度也許不是什么太大的問題,但當自由度很多,比如幾百萬個自由度,又有復雜的接觸搜索計算時,計算速度就很重要了。
最近在做一些Fast simulation的工作,用到了Model Order Reduction (MOR),覺得十分有用,在這里推薦給大家,并且附上ANSYS 和Matlab的source code.現在最流行的MOR主要基于Krylov subspace projection method, 基本原理如下:
假設原來的linear system model的node數是N (NxN的矩陣),
當問題的自由度和復雜程度比較小的時候,計算速度也許不是什么太大的問題,但當自由度很多,比如幾百萬個自由度,又有復雜的接觸搜索計算時,計算速度就很重要了。我不精通計算機原理,但在Windows和Linux上安裝使用過32位和64位ABAQUS,也在64位工作站上用Linux并行計算過,對計算速度有一點自己的心得,寫出來和大家討論下,對計算機比較精通的,希望能解釋下原理和表達下自己的看法。