工控網(wǎng)首頁(yè)
>

新聞中心

>

業(yè)界動(dòng)態(tài)

>

設(shè)計(jì)仿真 | MSC Nastran高性能求解計(jì)算(一)

設(shè)計(jì)仿真 | MSC Nastran高性能求解計(jì)算(一)

MSC Nastran是一款功能強(qiáng)大的有限元分析(FEA)軟件,是工程仿真的基礎(chǔ)。MSC Nastran已被結(jié)構(gòu)分析專(zhuān)家使用和驗(yàn)證了半個(gè)世紀(jì),以其穩(wěn)健性、準(zhǔn)確性和能夠解決工程中的挑戰(zhàn)而聞名。


本期摘要內(nèi)容

? 了解MSC Nastran如何利用高性能計(jì)算(HPC)策略提高您的仿真和分析性能。

? 探索適用于所有分析類(lèi)型(包括靜力學(xué)、特征值、動(dòng)力學(xué)和非線性)的可用求解器,以便您可以根據(jù)特定的仿真需求選擇最合適的求解器。

? 從其他MSC Nastran用戶和Hexagon專(zhuān)家的經(jīng)驗(yàn)中汲取見(jiàn)解,以實(shí)現(xiàn)最佳的并行性能,同時(shí)最大限度地降低讀取和寫(xiě)入磁盤(pán)的成本。

? 將HPC專(zhuān)業(yè)知識(shí)與對(duì)MSC Nastran求解器的全面了解相結(jié)合,以顯著加快仿真速度、最大限度地降低成本并提高不同類(lèi)型分析的效率。



01  求解器分類(lèi) 

MSC Nastran包含多種求解器。根據(jù)分析模型的特點(diǎn)來(lái)選擇最優(yōu)的求解器。MSC Nastran 求解器可分為三大類(lèi):直接求解器、迭代求解器和特征值求解器。

例如,線性靜態(tài)分析計(jì)算位移和其他結(jié)果,其靜態(tài)仿真性能主要由兩步運(yùn)算決定:求解矩陣方程和將請(qǐng)求的數(shù)據(jù)寫(xiě)入到輸出文件中。為了求解矩陣方程,我們可以使用直接或迭代方法,其中輸入是剛度矩陣和載荷,輸出是位移。


直接求解器

直接求解器依賴(lài)于LDLT分解,該方法在結(jié)構(gòu)分析中應(yīng)用廣泛,這種方法對(duì)剛度矩陣的數(shù)值特性不敏感,因此適用性比較好,它們的運(yùn)行過(guò)程包含兩步。首先,將對(duì)稱(chēng)剛度矩陣分解為下三角陣;然后,執(zhí)行前向消元和后向替換(FBS)來(lái)求解結(jié)果系統(tǒng),這一步也稱(chēng)為求解算法的FBS部分。 

直接方法利用剛度矩陣中固有的稀疏性(圖1)。稀疏矩陣僅意味著有許多零項(xiàng)。多波前Multi-frontal算法利用矩陣稀疏性來(lái)減少計(jì)算時(shí)間和內(nèi)存需求。

矩陣分解通常占總求解時(shí)間的80-90%,而FBS部分通常消耗剩余的10-20%。MSC Nastran 提供三種直接方法:

? MSC稀疏直接求解器(MSCLDL)

? Pardiso求解器(PRDLDL)

? MUMPS求解器(MUMPS 和MUMPSBLR)


image.png

圖 1:二維稀疏矩陣、非零項(xiàng)以黑色顯示(維基百科)


MSCLDL求解器是MSC Nastran的原始稀疏直接求解器,它被設(shè)計(jì)為在非常有限的內(nèi)存中運(yùn)行,但它的并行可擴(kuò)展性有限。另一方面,Pardiso和MUMPS求解器消耗的內(nèi)存是MSCLDL的5到12倍,具體取決于模型,但可以表現(xiàn)出更高的性能,尤其是在與共享內(nèi)存并行(SMP)一起使用時(shí)。


迭代求解器

迭代求解器是求解線性方程的另一種選擇。迭代求解器的工作原理是使用迭代來(lái)減少近似解中的誤差,最終在可接受的容差范圍內(nèi)收斂。

迭代方法通常依賴(lài)于共軛梯度法或 GMRES算法等技術(shù)。盡管這些方法比直接求解器要快得多,消耗的內(nèi)存也少得多,但它們通常只在某些類(lèi)型的問(wèn)題上表現(xiàn)良好,例如載荷工況很少且以實(shí)體單元為主導(dǎo)的模型。


特征值求解器 

在線性動(dòng)力學(xué)分析中,需要多次動(dòng)態(tài)剛度矩陣的分解。雖然可以基于物理坐標(biāo)(即物理自由度,相對(duì)于模態(tài)自由度而言)進(jìn)行求解,但是它求解效率低,計(jì)算時(shí)間很長(zhǎng)。模態(tài)縮減通常用于將系統(tǒng)的物理坐標(biāo)轉(zhuǎn)換為一組模態(tài)坐標(biāo),需要計(jì)算特征值來(lái)獲得系統(tǒng)的特征值(和固有頻率)和特征向量(振型)。系統(tǒng)的這些內(nèi)在特性有助于工程師了解其行為,并有助于設(shè)計(jì)和評(píng)估系統(tǒng)在不同條件下的性能。多年來(lái),MSC Nastran 中添加了多種求解特征值問(wèn)題的方法,包括反冪法(inverse iteration)、Householder、Givens、ACMS和Lanczos 方法。目前,兩種最常見(jiàn)的方法是:

? Lanczos 方法

? ACMS(自動(dòng)部件模態(tài)綜合法)


Lanczos 方法僅進(jìn)行必要的計(jì)算以找到所需要的根。它使用Sturm序列邏輯來(lái)確保找到所有模態(tài)。在提取相對(duì)較少的特征值時(shí),Lanczos 的大部分計(jì)算時(shí)間都用于執(zhí)行對(duì)稱(chēng)分解,因此在提高計(jì)算效率的策略方面與MSC Nastran中的線性靜態(tài)分析幾乎相同。


ACMS是一種多級(jí)模態(tài)縮減技術(shù),用于得到正則模態(tài)分析結(jié)果的近似值。它特別適合于需要提取的模態(tài)階次較多的分析任務(wù),也適用于需要相對(duì)較少模態(tài)階數(shù)、超大規(guī)模模型的求解。將ACMS與FastFR結(jié)合使用時(shí),使用模態(tài)縮減的頻域動(dòng)態(tài)響應(yīng)甚至更快。FastFR是一種用于模態(tài)頻率響應(yīng)運(yùn)行的加速方法,適用于具有高模態(tài)階數(shù)或高激勵(lì)頻率的系統(tǒng)。


接下來(lái),我們將深入研究有關(guān)內(nèi)存、硬件和并行設(shè)置的更多細(xì)節(jié),以確保求解器以最佳性能水平運(yùn)行。 


02  內(nèi)存注意事項(xiàng)  

使用MSC Nastran進(jìn)行典型結(jié)構(gòu)的仿真包括線性靜態(tài)、正態(tài)模態(tài)、動(dòng)態(tài)響應(yīng)和非線性分析。當(dāng)可用內(nèi)存足夠時(shí),求解速度主要受內(nèi)存帶寬的影響。當(dāng)可用內(nèi)存不足時(shí),磁盤(pán) (I/O)性能和可用內(nèi)存成為計(jì)算性能的關(guān)鍵決定因素。


內(nèi)存 (RAM)

大多數(shù)直接求解器都允許在In-core或Out-of-core中求解。

1) In-core計(jì)算

In-core計(jì)算意味著可以將整個(gè)數(shù)值問(wèn)題放入到分配的內(nèi)存(RAM)中。該解決方案速度很快,因?yàn)樵L問(wèn)內(nèi)存中的數(shù)據(jù)比從其他存儲(chǔ)介質(zhì)中檢索數(shù)據(jù)要快得多。

2) Out-of-core計(jì)算Out-of-core計(jì)算

意味著分配的內(nèi)存只能進(jìn)行部分?jǐn)?shù)值方程的求解,因此計(jì)算的過(guò)程是分批進(jìn)行的。當(dāng)數(shù)值求解完成一部分時(shí),必須將數(shù)據(jù)從內(nèi)存中移出到某個(gè)存儲(chǔ)介質(zhì)中,以便為數(shù)值求解的下一部分騰出空間。根據(jù)所選存儲(chǔ)介質(zhì)的速度,數(shù)據(jù)的移動(dòng)將花費(fèi)一定的時(shí)間,而且它比直接在內(nèi)存中訪問(wèn)數(shù)據(jù)要慢很多。


在過(guò)去幾年中,對(duì)存儲(chǔ)介質(zhì)的數(shù)據(jù)訪問(wèn)速度顯著得提高。如果配置正確,可以在很大程度上緩解與寫(xiě)入存儲(chǔ)介質(zhì)相關(guān)的延遲,但分批解決out-of-core的問(wèn)題始終會(huì)降低性能。無(wú)論以何種方式解決問(wèn)題,求解過(guò)程都會(huì)生成臨時(shí)數(shù)據(jù),這些數(shù)據(jù)僅用于管理求解過(guò)程。如果有足夠的內(nèi)存可用,則此臨時(shí)數(shù)據(jù)也可以存儲(chǔ)在內(nèi)存中的緩沖區(qū)中。如果內(nèi)存不足,則必須將其寫(xiě)入其他存儲(chǔ)介質(zhì)。給任何大規(guī)模求解計(jì)算分配內(nèi)存將始終影響求解性能。操作系統(tǒng)有自己的I/O緩沖邏輯,但最好使用通過(guò)MSC Nastran緩沖池提供的緩沖系統(tǒng)。


為了簡(jiǎn)單地說(shuō)明MSC Nastran如何使用內(nèi)存,讓我們忽略MSC Nastran分配給其執(zhí)行系統(tǒng)的少量?jī)?nèi)存。MSC Nastran在計(jì)算時(shí)基本上設(shè)置了兩個(gè)重要的內(nèi)存區(qū)域:主要區(qū)域稱(chēng)為open core,也稱(chēng)為 HICORE;另一個(gè)重要區(qū)域分配給緩沖池,它的名稱(chēng)為BPOOL。


 圖2說(shuō)明了MSC Nastran如何為各種任務(wù)分配內(nèi)存。提交計(jì)算時(shí),MSC Nastran會(huì)使用用戶指定的計(jì)算機(jī)上總物理可用RAM的一部分。如果在提交過(guò)程中使用“mem=max”命令,MSC Nastran 將使用計(jì)算上50%的可用物理內(nèi)存。此內(nèi)存大小,一部分分配給緩沖池系統(tǒng) BPOOL,另一部分分配給求解器 HICORE。


? BPOOL使用內(nèi)部緩存算法。增加BPOOL的大小會(huì)減少對(duì)磁盤(pán)型存儲(chǔ)介質(zhì)的讀寫(xiě)。這對(duì)于具有高I/O需求的大問(wèn)題特別有用,在I/O配置較差的計(jì)算機(jī)上可以顯著的提高運(yùn)行時(shí)間。另一方面,BPOOL分配的內(nèi)存越大,HICORE就會(huì)越小。

? HICORE表示求解計(jì)算而分配的內(nèi)存。


image.png

圖2:MSC Nastran求解的內(nèi)存布局


3展示了一個(gè)200萬(wàn)自由度(DOF)系統(tǒng)在三臺(tái)機(jī)器上進(jìn)行靜態(tài)接觸分析計(jì)算(SOL 101)的示例。這些計(jì)算機(jī)具有相同的硬件配置,但安裝的RAM內(nèi)存大小分別為16GB、64GB和128GB。


image.png

圖3:不同RAM的內(nèi)存布局(條形圖)和性能(黃線)示例


對(duì)于此模型,將內(nèi)存從16 GB增加到64 GB可使運(yùn)行時(shí)間減少53%。將RAM增加到128 GB后,運(yùn)行時(shí)間總體上減少了63%。請(qǐng)注意,分配給求解器(HICORE)的內(nèi)存量保持不變(以藍(lán)色顯示),而B(niǎo)POOL的大小會(huì)發(fā)生變化(以橙色顯示)。增加BPOOL的大小可以減少運(yùn)行時(shí)間,因?yàn)殛P(guān)鍵數(shù)據(jù)緩存在BPOOL內(nèi)存中,并且I/O運(yùn)算顯著加快。


內(nèi)存分配一般建議是在MSC Nastran提交計(jì)算命令行上使用 memory=max。這會(huì)將計(jì)算機(jī)的50%的物理內(nèi)存分配給作業(yè),并根據(jù)模型大小、特性和可用RAM將此數(shù)量分配給求解器和緩沖池。

審核編輯(
唐楠
)
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

數(shù)控五軸模擬訓(xùn)練機(jī)大顯身手,競(jìng)賽數(shù)字孿生應(yīng)用迎來(lái)新突破

浪尖上的創(chuàng)新 | 海克斯康以科技重塑沖浪板的綠色未來(lái)

GD&T | 尺寸要素的位置度在MMC時(shí)零工差和可逆原則的應(yīng)用

質(zhì)量管理 | 海克斯康質(zhì)量管理平臺(tái)數(shù)字化糾正預(yù)防措施

生產(chǎn)制造 | 產(chǎn)品加工-EDGECAM 高效自動(dòng)編程-自定義半自動(dòng)編程篇