abaqus計算速度.docx_第1頁
abaqus計算速度.docx_第2頁
abaqus計算速度.docx_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

當問題的自由度和復(fù)雜程度比較小的時候,計算速度也許不是什么太大的問題,但當自由度很多,比如幾百萬個自由度,又有復(fù)雜的接觸搜索計算時,計算速度就很重要了。我不精通計算機原理,但在Windows和Linux上安裝使用過32位和64位ABAQUS,也在64位工作站上用Linux并行計算過,對計算速度有一點自己的心得,寫出來和大家討論下,對計算機比較精通的,希望能解釋下原理和表達下自己的看法。我認為影響計算速度的因素主要有3個:1 計算模型的大小和復(fù)雜程度 2 ABAQUS中關(guān)于內(nèi)存和硬盤使用的設(shè)置 3 計算機的配置 在ABAQUS幫助文件中說,一個有限元模型在分析計算中,會生成兩種臨時文件,第一種臨時文件是必須放在內(nèi)存中,第二種臨時文件可以放在硬盤里也可以放在內(nèi)存中。由于內(nèi)存讀寫速度比硬盤讀寫速度快,所以如果計算機配置不變的情況下,要達到最快計算速度,就要在計算時讓兩種臨時文件都放在內(nèi)存中。在計算前進行datacheck,然后在dat文件中會告訴你能使模型計算所需最小的內(nèi)存量,也就是在計算中所生成的第一種文件的大小,還會告訴你最小I/O交換情況所需的內(nèi)存量,也就是兩種文件都放在內(nèi)存中時所需要的內(nèi)存量,我稱這叫“全速計算”所需內(nèi)存量。在ABAQUS6.8中,有個內(nèi)存使用上限設(shè)置參數(shù),也就是你允許你的計算機中有多少內(nèi)存讓ABAQUS使用,如果你允許ABAQUS使用的內(nèi)存上限大于“全速計算”所需內(nèi)存,則ABAQUS會將兩種臨時文件放入內(nèi)存使用。如果允許內(nèi)存大于最小所需內(nèi)存,小于“全速計算”計算內(nèi)存,則ABAQUS會把第二種文件一部分放入內(nèi)存,一部分放入硬盤。如果允許內(nèi)存小于最小所需內(nèi)存,則無法計算。所以如果你的模型“全速計算”所需內(nèi)存量很小的時候,或者相對你的計算機物理內(nèi)存很小的時候,如果不改變計算機配置,速度就已經(jīng)達到最快了,再加大內(nèi)存或內(nèi)存上限也沒用。如果你的模型無法進行“全速計算”,首先可以在可能的情況下,提高ABAQUS允許使用內(nèi)存上限值來提速,如果本身物理內(nèi)存的限制,那么加大物理內(nèi)存也能提速。下面說說CPU和內(nèi)存的使用問題。首先CPU和內(nèi)存頻率越高計算速度就會越快。當“全速計算”時,我看到的是CPU在分析計算時能100使用(除了前處理,寫入計算結(jié)果和兩迭代計算中間隙時),多CPU計算也是如此。不是“全速計算”時,分析計算種CPU部分時間能100使用,和部分CPU能100使用,我想這應(yīng)該和硬盤讀寫速度相對較慢導(dǎo)致的吧。如果有兩個模型在某計算機中都能“全速計算”,兩個“全速計算”的內(nèi)存之和也不超過允許使用內(nèi)存大小,如果同時計算,計算速度應(yīng)該都小于分別單獨計算時的速度,因為CPU要分配給兩個模型用。如果兩個“全速計算”的內(nèi)存之和大于允許使用內(nèi)存,則同時計算時就會“搶內(nèi)存”,計算速度就會大打折扣,這還沒考慮如果使用了虛擬內(nèi)存的情況。如果你設(shè)置的ABAQUS使用的內(nèi)存上限大于你實際的物理內(nèi)存,這個時候好像就會用到虛擬內(nèi)存,計算速度也會大打折扣。如果你用ABAQUS時還有其它程序也在大量使用內(nèi)存和CPU,也會很影響速度。所以務(wù)必保證你設(shè)置的允許使用內(nèi)存上限,必須是計算機物理內(nèi)存實際能空閑提供給ABAQUS使用的內(nèi)存。然后再是Linux和并行計算的問題,一臺計算機使用多個CPU進行計算也算是一種并行計算,在“全速計算”情況下參與計算的CPU越多,計算速度越快。我用的是ABAQUS6.8,Linux用的是opensuse10.3,計算機用的是兩臺64位8CPU工作站。我的計算速度經(jīng)驗是,同一個模型在“全速計算”情況下,用隱式計算,單機Linux計算時間是單機Windows計算時間的四分之三,兩個工作站Linux并行計算的時間是單機Windows計算的二分之一。這個問題我也是研究過:1 計算速度在不同的ABAQUS處理階段是不一樣的,所以不同時間CPU的使用率也是不同的2 CPU要和相應(yīng)的內(nèi)存相配套,例如64位的操作系統(tǒng)要和4G以上的電腦,我的是16G的內(nèi)存,8核CPU,CPU有時候可以全部達到50%以上3 CPU只有在顯式計算中能體會到最大的使用率,可以看到所有的CPU在運行,很壯觀的。是的,前處理,寫入計算結(jié)果和兩迭代計算中間隙時,CPU使用率沒有真正計算時高。對于顯示計算,之所以CPU總能100利用,我覺得是因為由于顯示計算時,臨時文件只有第一種臨時文件,也就是臨時文件都只能放到內(nèi)存中,所以顯示計算就相當于隱式計算的“全速計算”。隱式“全速計算”時,CPU全部用滿的確很壯觀,我用兩個64位工作站進行Linux并行計算時,16個CPU的使用率都是100時很讓人興奮??!既然有人把老貼頂起來了, 我就再多啰嗦兩句, 望Robert_Su網(wǎng)開一頁.首先, I/O是指input/output,是指用于基本輸入輸出的交換文件大小, 如果內(nèi)存了不夠的話, 這個文件是放在硬盤上的, 如果內(nèi)存足夠大的話, 這個文件則會由ABAQUS進行任務(wù)調(diào)度放入內(nèi)存以提高速度, 即設(shè)定內(nèi)存使用量的百分比. 這個不是指所需的內(nèi)存量, 而是作為一個控制磁盤剩余空間的參數(shù). 其次, 關(guān)于緩存大了是不是一定好的問題, 緩存是一個磁盤文件的部分或全部鏡像, CPU要得到數(shù)據(jù)首先是通過查找其內(nèi)部的高速緩存, 或叫一級緩存, 如果沒有, 再查找二級, 還沒有再查找內(nèi)存中的磁盤緩存, 還沒有就查找磁盤文件, 一部級數(shù)越高, 其緩存物理速度越快, 空間也越小, 價格也高, 所以系統(tǒng)分級緩存是一個金字塔形的, 假如CPU在前三次都沒找到, 第四次找磁盤空間才找到, 為什么不能直接找磁盤呢, 這樣不是更節(jié)約時間? 問題就出在所有的緩存都是下一級緩存部分鏡像上, 而且查找緩存也要用到一定的時間, 這種情況下, 磁盤文件在內(nèi)存中的緩存就不是越大越好, 而是剛剛好最好, 小了會減小命中率, 大了會增加查找時間.再次, 關(guān)于多CPU的問題, 操作系統(tǒng)在進行任務(wù)調(diào)度的時候會盡量安排互相之間沒有資源沖突的線程分CPU進行計算, 最后再進行數(shù)據(jù)同步, 每個CPU和線程都占用獨立的運行空間, 為了對公用的數(shù)據(jù)空間進行管理, 防止幾個線程同時改變公共數(shù)據(jù), 同步技術(shù)在這里被使用了, 跑得快的必須在某個點停下來等跑得慢的, 這樣就造成了執(zhí)行效率的下降, 但是保證了數(shù)據(jù)安全, 沒有必錯誤的修改, 所以不可能出現(xiàn)一個CPU在進行每二步迭代了, 另一個CPU還是算第一步的情況, 特別是在std中很明顯, 我曾經(jīng)試過4CPU比2CPU計算會慢一點點的情況. 就是因為數(shù)據(jù)同步的問題.model change單元的鈍化和激活技術(shù)在對施工工序進行模擬時是十分必要的。因此,探索ABAQUS中單元的鈍化和激活具有明顯的意義。在本論壇*Model change 的應(yīng)用技巧初步/viewthread.php?tid=842837&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D2&page=1經(jīng)過網(wǎng)友們的熱烈討論,尤其是jsnjcivil的提醒后,才發(fā)現(xiàn)這個該帖內(nèi)容尤其是原帖的inp文件已經(jīng)跟后邊討論的內(nèi)容存在比較大的出入了,不便于對model change的正確把握。為了方便以后的網(wǎng)友更容易掌握該命令的應(yīng)用,特開新貼并進行修正。也一并感謝jsnjcivil。基本原理:首先將結(jié)構(gòu)分成兩個獨立部分,一是需要在前期需要鈍化而隨后需要激活的部分,另一部分就是不需要做任何處理的剩余部分。在此將其分別命名為“需要鈍化”的部分和“不需要鈍化”的部分。由于ABA在激活單元時是在該單元的原始位置予以激活,而實際結(jié)構(gòu)分析中往往要求在變形后的位置上以無初始應(yīng)變的方式激活。故需要先確定變形后的相應(yīng)位置,并予以激活。為此特設(shè)置一種具有“追蹤功能”的單元。此單元實際上是“需要鈍化”單元的備份單元(通過elcopy命令實現(xiàn)),具體要求如下:1.該單元跟“需要鈍化”單元形狀完全一致,共享節(jié)點,但具有不同的單元號;2.該單元的剛度很小,它的存在不影響原有結(jié)構(gòu)的計算結(jié)果;3.該單元的自重?zé)o限小,不至于由于自重導(dǎo)致該單元產(chǎn)生過大應(yīng)力和變形;可見,該“追蹤功能”的單元具有“完全彈性”性質(zhì)。因此,當添加此單元后,實際結(jié)構(gòu)實際上由三部分組成,一是“需要鈍化”的單元,二是“不需要鈍化”的單元,三是賦予了完全彈性材料特性的 “追蹤單元”?,F(xiàn)在,如果將原來 “需要鈍化”的單元鈍化掉(*model change, remove),則結(jié)構(gòu)中剩下的就是“不需要鈍化”的單元和“追蹤單元”兩部分。由于“追蹤單元”的剛度很小,所以,理論上是不影響原有結(jié)構(gòu)的受力的。但由于追蹤單元仍在結(jié)構(gòu)上,其變形位置是可以隨 “不需要鈍化”單元的變形而獲得的。當此時激活先前已經(jīng)鈍化的單元時,由于該單元與“追蹤單元”共享節(jié)點,先前已經(jīng)鈍化的單元就自然而然的獲得變形后的位置了。這就是“追蹤”功能的基本原理。如果“追蹤單元”不采用完全彈性材料,則結(jié)構(gòu)的剛度就會因此增大很多,這是第一個需要注意的地方。如果“追蹤單元”的自重參數(shù)較大,則會因其彈性模量較小而產(chǎn)生很大的變形,這是第二個需要注意的地方。如果鈍化單元后結(jié)構(gòu)體系的約束設(shè)置不合理,則會出現(xiàn)結(jié)構(gòu)不穩(wěn)定的現(xiàn)象,這是第三個需要注意的地方。由于“追蹤單元”的“完全彈性”和小自重特性,理論上講,對結(jié)構(gòu)的任何一部分的計算都不會有很明顯的影響?;静襟E:建立part,結(jié)合施工順序的要求對相關(guān)part進行partition,并將partition 后的各個獨立部分設(shè)置單元集(以便在elcopy的時候調(diào)用)。此時的結(jié)構(gòu)由兩部分組成,一是“需要鈍化”的單元集,二是剩余的“不需要鈍化”的單元集。這兩部分必須相互獨立,不能有交集。當然,在同一個part里,允許有多個“需要鈍化”的單元集存在。在assembly階段,將涉及“需要鈍化”單元集的部分按part內(nèi)同樣的要求設(shè)置相應(yīng)的單元集,以便model change時方便調(diào)用。其它建模步驟先按一般方法完成。然后對形成的inp文件進行修改。1.在涉及“需要鈍化”的單元集的instance里添加elcopy命令行*Elcopy, Element shift=XXXX, Old set=Original_Set, New set=Trace_Set,Shiftnodes=0此處的Element shift=XXXX是單元號的增加量,一般要求略大于該instance中原有單元數(shù)的最大值,否則會出現(xiàn)材料重復(fù)定義的錯誤提示;也不宜設(shè)置過大。Old set=Original_Set此處的Original_Set是在該instance中 “需要鈍化”的單元集。New set=Trace_Set是新增的用于追蹤的單元集。Shiftnodes=0即表示新增追蹤單元集Trace_Set與“需要鈍化”的Original_Set單元集共享節(jié)點。2. 在assembly 中設(shè)置“需要鈍化”的單元集,以便在model change進行相關(guān)操作。如果不在此處設(shè)置單元集,則在model change調(diào)用的時候需要指定part屬性。3.添加“完全彈性”材料要求完全彈性,即相對于非鈍化單元的彈性模量小,最好能小5個數(shù)量級;要求質(zhì)輕,以避免自重引起變形過大,可近似取自重密度比其彈性模型模量小5個數(shù)量級。4.在適當階段鈍化單元集* Remove all elements in element set Original_Set*MODEL CHANGE, REMOVEOriginal_Set需要注意的是鈍化掉的是原始單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論