有限元演算法,無論四面體單元還是六面體單元,如果單元數量無窮多,結果是否都收斂於一個值?
有些工程師曾經這樣說:「由於四面體單元自由度比六面體小,剛度大,因此結果誤差大。」我認為這句話,對於實際工程問題是對的。實際工程問題,比如要分析一個發動機,由於幾何結構複雜,只能一次劃分網格,然後算上一兩次,這樣用六面體單元比較保險。
但是我們這科研,有時候用有限元演算法,都會首先確定網格劃分密度夠了沒有。換句話就是不斷加密網格,直到結果收斂為止。這樣是否不需要考慮單元是六面體還是四面體了?
這裡我想儘可能精確描述問題。
假設我的問題是靜態純彈性小變形,或者穩態熱傳導;
求解域是三維,並且可以被六面體單元劃分;
HEX即Hexagonal,六面體
TET即tetrahedron,四面體
假定已有六面體劃分方案,可以在原有的基礎上,把每個原來每個單元,都用8個新六面體單元替代,得到網格密度大8倍的劃分方案。類似的,每個四面體單元都可以用4個小四面體單元替代。
執行以下步驟
Step 0:用六面體單元劃分,記劃分方案為MESH0(包括單元節點坐標等等信息)
(為了兩種網格劃分方案由可比性,所以都考察相同的節點,即MESH0。因此我們在MESH0的基礎上,產生兩種不同的劃分方式。)
Step1-HEX:HEX0,六面體劃分方案0號,也就是MESH0了,求解得到MESH0上節點的結果,記為HEXResult0。
Step1-TET:把MESH0中的每個六面體,都由兩個四面體替代,得到TET0。求解得到結果為TETResult0。
(注意HEXResult,0跟TETResult,0節點的坐標相同,其實都是MESH0的節點,因此有可比性)
Step2-HEX:在HEX0的基礎上加密網格,即把原來的六面體,用8個新六面體替代,得到網格HEX1。求解得到HEXResult1。
Step2-TET:類似地,在TET0的基礎上加密網格,即把原來的四面體,用4個新四面體替代,得到網格TET1。求解得到TETResult1。
不斷重複Step1和Step2,可以得到一系列HEXResult和一系列TETResults。
問:
1. HEXResult和TETResult這兩類結果,是否都是單調遞增或者遞解?
2. 當重複無窮多次後,HEXResult無窮,是否精確等於TETResult無窮?
稍微看了下題主為了比較結果苦心設計的兩個比較例子。首先要說的是,要是非比較的話,找積分點的值才是正途。積分點上的值是準確的。非要比較全域的話,參見superconvergent patch recovery(SPR)的方法。
再說說題主的本意,想要比較兩種單元是不是會收斂到解析解。非常肯定的說,在你那麼多的假設下,一定會的。如果不會,是由於各種原因,稍後我說說所謂的「各種原因」。為什麼會收斂到解析解呢,因為當你所插值(interpolation)的函數(要模擬的問題的函數)階數比你的形函數(shape function)所能插值的最高階小的時候,有限元法是可以給出精確解的。舉個例子,假設你的解,位移u的解析解是u=1+ax+by+cz+O(n^2),這個解是一階的。那麼單元呢,4面體tet單元有一個積分點,可以精確插值得到2*1-1=1階的函數。6面體brick單元每個方向有兩個積分點(一共8個),可以精確插值得到2*2-1=3階的函數。這樣,別說很多單元,你一個單元都可以得到精確解。
但是我們一般有限元求解的問題,就算是小變形,就算材料是線性的,解也一般不是1階的。這就需要更多的單元逼近解析解。這個時候,用不用什麼縮減積分啊各種問題就出來了。推薦題主看一下patch test的內容,可以判斷你的單元適不適合你想要求解的問題。有人說了bending的hourglass,這就是因為有non-physical的mode。類似的基本問題還有shear的自鎖(單元aspect ratio不好),incompressible的自鎖(泊松比趨近於0.5)等等各種問題。
綜上所述,你要非要說xxxx簡單的問題,FEM能不能隨細化網格給你精確解,確定一定以及肯定。但是你確定你說的xxxx簡單的問題真的是xxxx那麼簡單么?非常不確定。這個可能不是這樣。對於同一種網格,用C3D8和C3D8R算出來的結果就不一樣,哪怕是線性問題。順便說一下,問題描述裡面
「HEX即Hexagonal,六面體
TET即tetrahedron,四面體」翻譯有一點點不妥:
六面體是hexahedron,hexagonal是六邊形的。
採用二階單元的話,差別其實不大
在位移元範圍內討論。如果只是彈性變形問題,解一個方程KQ=F, 其中K是總剛度矩陣,Q是節點位移,F是節點外力(
或分布力轉化到節點上的力 )或邊界條件。K的維數取決於有多少個節點。考慮你說的問題,分兩種情況 :
- 一個獨立的六面體單元組成的六面體
- 兩個四面體單元組成一個六面體:
雖然是兩種不同的單元劃分,但是兩個六面體的節點數和節點位置都相同,那麼它們的自由度(Q的個數)和F也是相同的。那麼這兩種情況算出來的位移值Q是否相同呢?取決於K的值。因為有限元軟體裡面都是通過計算積分點的值求積分來集成剛度矩陣,所以積分點的分布直接決定了K的值。那麼如果這兩個中單元劃分中積分點的位置不同,那麼求出來的K值一般不會相同。但是如果通過無窮劃分,那麼由四面體組成的分割體和六面體組成的分割體求出的Q應該會原來越接近。如果是彈性問題,計算和時間步長無關。
不一定,有限元方法只是求解偏微分方程的一種數值方法。如果問題本身的解就是奇異的,那麼有限元解必然不會收斂。一個常見的例子就是單個作用於平面或實體上某一點的集中力,在作用點處的應力是奇異的,單元越多得到的解越趨於無窮大。
實用地說:
在大量的工作和實用中,TET可以代替HEX。引用我看過的一些文獻(翻譯)「隨著算力的提高網格變得不再重要」(有出處有空時補上)
「那都些很老的教科書會提及HEX的重要性」(有出處有空時補上)「經過實踐TET與HEX不會有很大差別"(有出處有空時補上)"你花在畫出漂亮的HEX上的時間,甚至遠超過了TET所多消耗的CPU時間"(有出處有空時補上)
與諸多美國和日本500強的專業CAE團隊共事時,TET已被大量使用,他們的很多模擬報告也是全是用TET。我自己實際使用時感覺兩者區別也是可控的。
哲學地說:世界是連續的,方法是離散的,無論如何逼近,結果到一個值(或者或假的)是不可能的,更何況有限元法基於的理論是不真實的,牛頓力學也不真實。
回答1.不一定,模型本身是否收斂還是個問題,HEX收斂效率時常高於TET,但有的模型不收斂就是不收斂,不是HEX和TET的問題。2.有可能等於,也有可能差別很大。「由於四面體單元自由度比六面體小,剛度大,因此結果誤差大。」 對於一階單元而言,的確如此。
一階四面體單元要達到和一階六面體單元同樣水平的精度,要劃分的非常密才行,而且通過網格加密的手段提高計算精度的效果會隨著網格越來越密變得越來越差,雖然離收斂解還有一些距離。 二階四面體單元的精度很好,至少不會弱於一階六面體,對計算能力要求比較高,一些達到百萬級的單元規模的非線性計算,能六面體,還是六面體吧。首先並不見得四面體單元自由度比六面體自由度少,很多情況下是節點的數量決定了自由度的數量.所以在相同尺寸的網格下,兩種單元的自由度是相同的.其次,同一個問題,使用四面體單元與六面體單元,有限元的構造一般情況下差異是比較大的,如果有限元的構造滿足穩定性和收斂性,那麼在一定範圍內不同的有限元的輸直解是要收斂到一個解的.由於收到計算機精度的限制,網格過密,由於計算機浮點運算誤差的傳播,導致計算失敗.
不熟,不過這個應該問是否收斂到正確的值,也就是估計誤差限。
手機答……先佔坑,回頭補——發現得AT數值模擬領域相關科研人員了,改討論吧
真正的數值模擬經歷不多,自認為略能淺淺回答題主問題,再深入還望有人提點
問2:
有限元法
遞推是基於計算離散化的「元」的狀態,
再然後利用控制方程結合泛函變分(情況不複雜利用微分,視需要元的狀態而定)得出一定時間步長的轉移關係或平衡轉移關係
分割方法的不同,只不過求得方程表現的形式不同(比如元的邊界數量,距離,面積等都發生變化,控制方程的項,係數自然改變),但只要本構和控制方程正確,求得結果所收斂的結果自然都是「正確」的
所以只要精度足夠,兩種分割方法的解是一致的
可以這樣理解,六面體每個元的計算比四面體複雜,相對於再次細分四面體增加的精度不大,但增加的計算量也不大(再次細分的計算量增加可是指數級的)
兩種分割只是處理方法的區別
問1:
是否單調可不一定
實踐證明……
而模擬中參數選擇需要保證的是收斂
數值模擬可離不開步長
比如溫穩問題,最重要的是時間步長
步長足夠小的情況下,細分格子結果是單調的
如果情況複雜更不是單調的了
模型本身收斂,不考慮計算機的誤差,是會收斂到同一個值得, 有限元的收斂性是與單元形式無關的。
推薦閱讀:
※如何理解熱傳導方程的解?
※通過亥姆霍茲方程是如何推導出球面波表達式的?
※完整學習測度論、實分析、隨機微分方程需要多久時間?
※如何用微分方程表示墨汁在水中的擴散?
※方程的 微分形式 和 積分形式的區別和聯繫?