影響Abaqus計(jì)算速度的因素和解決方法
2017-12-14 by:CAE仿真在線 來(lái)源:互聯(lián)網(wǎng)
當(dāng)問(wèn)題的自由度和復(fù)雜程度比較小的時(shí)候,計(jì)算速度也許不是什么太大的問(wèn)題,但當(dāng)自由度很多,比如幾百萬(wàn)個(gè)自由度,又有復(fù)雜的接觸搜索計(jì)算時(shí),計(jì)算速度就很重要了。我不精通計(jì)算機(jī)原理,但在Windows和Linux上安裝使用過(guò)32位和64位ABAQUS,也在64位工作站上用Linux并行計(jì)算過(guò),對(duì)計(jì)算速度有一點(diǎn)自己的心得,寫(xiě)出來(lái)和大家討論下,對(duì)計(jì)算機(jī)比較精通的,希望能解釋下原理和表達(dá)下自己的看法。
我認(rèn)為影響計(jì)算速度的因素主要有3個(gè):
1.計(jì)算模型的大小和復(fù)雜程度;
2.ABAQUS中關(guān)于內(nèi)存和硬盤使用的設(shè)置;
3.計(jì)算機(jī)的配置。
在ABAQUS幫助文件中說(shuō),一個(gè)有限元模型在分析計(jì)算中,會(huì)生成兩種臨時(shí)文件,第一種臨時(shí)文件是必須放在內(nèi)存中,第二種臨時(shí)文件可以放在硬盤里也可以放在內(nèi)存中。由于內(nèi)存讀寫(xiě)速度比硬盤讀寫(xiě)速度快,所以如果計(jì)算機(jī)配置不變的情況下,要達(dá)到最快計(jì)算速度,就要在計(jì)算時(shí)讓兩種臨時(shí)文件都放在內(nèi)存中。在計(jì)算前進(jìn)行datacheck,然后在dat文件中會(huì)告訴你能使模型計(jì)算所需最小的內(nèi)存量,也就是在計(jì)算中所生成的第一種文件的大小,還會(huì)告訴你最小I/O交換情況所需的內(nèi)存量,也就是兩種文件都放在內(nèi)存中時(shí)所需要的內(nèi)存量,我稱這叫“全速計(jì)算”所需內(nèi)存量。在ABAQUS中,有個(gè)內(nèi)存使用上限設(shè)置參數(shù),也就是你允許你的計(jì)算機(jī)中有多少內(nèi)存讓ABAQUS使用,如果你允許ABAQUS使用的內(nèi)存上限大于“全速計(jì)算”所需內(nèi)存,則ABAQUS會(huì)將兩種臨時(shí)文件放入內(nèi)存使用。如果允許內(nèi)存大于最小所需內(nèi)存,小于“全速計(jì)算”計(jì)算內(nèi)存,則ABAQUS會(huì)把第二種文件一部分放入內(nèi)存,一部分放入硬盤。如果允許內(nèi)存小于最小所需內(nèi)存,則無(wú)法計(jì)算。
所以如果你的模型“全速計(jì)算”所需內(nèi)存量很小的時(shí)候,或者相對(duì)你的計(jì)算機(jī)物理內(nèi)存很小的時(shí)候,如果不改變計(jì)算機(jī)配置,速度就已經(jīng)達(dá)到最快了,再加大內(nèi)存或內(nèi)存上限也沒(méi)用。如果你的模型無(wú)法進(jìn)行“全速計(jì)算”,首先可以在可能的情況下,提高ABAQUS允許使用內(nèi)存上限值來(lái)提速,如果本身物理內(nèi)存的限制,那么加大物理內(nèi)存也能提速。
下面說(shuō)說(shuō)CPU和內(nèi)存的使用問(wèn)題。首先CPU和內(nèi)存頻率越高計(jì)算速度就會(huì)越快。當(dāng)“全速計(jì)算”時(shí),我看到的是CPU在分析計(jì)算時(shí)能100%使用(除了前處理,寫(xiě)入計(jì)算結(jié)果和兩迭代計(jì)算中間隙時(shí)),多CPU計(jì)算也是如此。不是“全速計(jì)算”時(shí),分析計(jì)算種CPU部分時(shí)間能100%使用,和部分CPU能100%使用,我想這應(yīng)該和硬盤讀寫(xiě)速度相對(duì)較慢導(dǎo)致的吧。如果有兩個(gè)模型在某計(jì)算機(jī)中都能“全速計(jì)算”,兩個(gè)“全速計(jì)算”的內(nèi)存之和也不超過(guò)允許使用內(nèi)存大小,如果同時(shí)計(jì)算,計(jì)算速度應(yīng)該都小于分別單獨(dú)計(jì)算時(shí)的速度,因?yàn)镃PU要分配給兩個(gè)模型用。如果兩個(gè)“全速計(jì)算”的內(nèi)存之和大于允許使用內(nèi)存,則同時(shí)計(jì)算時(shí)就會(huì)“搶內(nèi)存”,計(jì)算速度就會(huì)大打折扣,這還沒(méi)考慮如果使用了虛擬內(nèi)存的情況。
如果你設(shè)置的ABAQUS使用的內(nèi)存上限大于你實(shí)際的物理內(nèi)存,這個(gè)時(shí)候好像就會(huì)用到虛擬內(nèi)存,計(jì)算速度也會(huì)大打折扣。如果你用ABAQUS時(shí)還有其它程序也在大量使用內(nèi)存和CPU,也會(huì)很影響速度。所以務(wù)必保證你設(shè)置的允許使用內(nèi)存上限,必須是計(jì)算機(jī)物理內(nèi)存實(shí)際能空閑提供給ABAQUS使用的內(nèi)存。
然后再是Linux和并行計(jì)算的問(wèn)題,一臺(tái)計(jì)算機(jī)使用多個(gè)CPU進(jìn)行計(jì)算也算是一種并行計(jì)算,在“全速計(jì)算”情況下參與計(jì)算的CPU越多,計(jì)算速度越快。計(jì)算機(jī)用的是兩臺(tái)64位8CPU工作站。我的計(jì)算速度經(jīng)驗(yàn)是,同一個(gè)模型在“全速計(jì)算”情況下,用隱式計(jì)算,單機(jī)Linux計(jì)算時(shí)間是單機(jī)Windows計(jì)算時(shí)間的四分之三,兩個(gè)工作站Linux并行計(jì)算的時(shí)間是單機(jī)Windows計(jì)算的二分之一。
相關(guān)標(biāo)簽搜索:影響Abaqus計(jì)算速度的因素和解決方法 abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識(shí) Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn)