天天看點

有限元軟體開發的基本要求,你還差幾條?

有限元分析軟體在幾何所有的行業領域裡都會碰到。

雖然有許多開源軟體可用,但作為出生于高校的開源軟體,都是為了研究目的開發的。算算小的問題可以,一旦碰到大規模的問題,就不夠用了。

有限元軟體的開發綜合了計算機、計算數學、應用力學、有限元等各方面的因素,沒有個10年8年的積累,還真是幹不了這個活兒。

常碰到一些剛畢業的碩士、博士,一開始就雄心勃勃地要搞什麼通用有限元軟體開發,那是連門兒還沒有找到呢。

算起來,從事這個行業也快10個年頭了,總結了一下這方面的經驗,權當飯後談資,和大家共同探讨一下吧。

1.記憶體管理(計算機方向)

對于大型有限元軟體,對效率要求很高的。在CPU的頻率及邏輯核心不斷增加,多線程應用很廣泛的情況下,記憶體的使用效率就顯著影響了計算過程的效率了。目前竟然還有的程式在内外存緩沖時有64K的容量限值(老的FORTRAN程式中開數組的長度限制),可見咱們的FEA軟體的研發水準處于什麼程度了。

2.網格剖分(圖形學/數值計算)

這方面的東西研究的人比較少,各軟體公式都急功近利,誰還肯在這種東西上花時間呀。

2D的剖分算法(三角形/四邊形)在FEA軟體中是重中之重,研究的也最多。千萬不要迷信那個什麼NETGEN、TETGEN等開源的算法,不靈呀。

3.基本單元(有限元方向)

對于杆件單元,普遍認為現有的成果已經很不錯了。

膜、闆單元似乎各有各的主意,大家都說自己的單元好精度高。尤其是那些加了旋轉自由度的膜單元的主兒們,都說自己的主意好,還申請什麼專利!搞笑,用梁單元你給timoshenko付了多少錢?

3.靜力求解器(應用力學+計算數學+圖形學方向)

基本上都是基于LDLT分解算法的,有記憶體模式、内/外存交換模式、稀疏矩陣存貯系列。目前,稀疏矩陣求解器使用的狀況還是不錯的。可這方面的資料很少,中國人聰明,賠本賺吆喝的事情國家不作,沒有縱向科研經費支援;公司也不作。太聰明了,外國從6、70年代都有專著出版,咱們僅有少的可憐的基本小冊子作了蜻蜓點水的介紹而已。

4.動力求解器(應用力學+計算數學方向)

還靜力求解器比較起來,動力求解器的使用情況還好點。Ritz向量及其改進版、Subspace、Lanczos方法也都用的不錯。本身比較簡單,上手也快。改一下初始疊代向量就能對某一類特定問題解決漏、僞頻的問題,多多少少也還是有點成就感的。

5.動力時程分析

基本上用述的基本技術就可以完成了,隻需要研究一下3種基本算法的過程就可以了:直接積分系列、振型位移疊加法、振型加速度疊加法。

繼續閱讀