有限元弱形式a(u,v)=f(v)中的v?
如題,用有限元時一般需要推導偏微分方程對應的弱形式a(u,v)=f(v),其中,u是待求解的量。我看書上、文獻里對v的描述都是:v取解空間中的基函數。
我的問題是:1、在我求解方程a(u,v)=f(v)之前,我並不知道解空間的基函數是多少,怎麼確定v是多少?2、在程序實現過程中,v取一個值還是多個值?其個數根據什麼確定?求大神指點!
從基本的一維線彈性問題為例講一下有限元方法中的意義和處理
- Strong Form(強形式): Governing Eqn.s and B.C.s
一維線彈性問題只要有合適的邊界條件就是well-posed problem,其Strong Form為
以上分別是momentum balance,Dirichlet and Neumann boundary conditions是位移場(未知量, primary variable),假設body force為零,彈性模量E和截面積A均為1,當然方程本身不重要。- Weak Form (弱形式):Method of Weighted Residual (的意義)
一般直接用Method of Weighted Residual (加權餘量法?)構造弱形式,當然例子中的方程是典型橢圓方程,也可以通過變分法直接構造弱形式,不過對於以一般的偏微分方程還是MWR更加普遍。
概念上來看,對於Governing eqn的餘量,對其加權的空間積分為零;;此處又稱weighting function(權),是一個任意函數,所以Weak Form成立的條件是餘量處處為零,也就回到了Strong Form,這是概念性的理解一下Strong Form和Weak Form 為什麼等價,數學證明可以參考相關文獻。作點變形可以在Weak Form中也引入邊界條件
Integration by parts Divergence theorem然後有Weak Form的嚴格定義Find , such that是Sobolev空間- Finite Element Galerkin Weak Form (如何處理)
MWR有多種形式,最有名的當然是Galerkin法,概念上可以理解為weighting function和trial solution用同一個函數空間,那麼其在有限元法下就體現為它們使用相同的形函數在單元內插值。那和能不能用不同的函數空間?當然可以,比如Petrov-Galerkin法中就不一樣。其實可以觀察之前Weak Form的推導,如果不用分部積分,那麼weighting function只需要連續就行了(),而trial solution需要兩次可導(),這樣如果應用Galerkin法,就必須使用高次形函數。
FE Galerkin Weak Form 為
此處求和符號嚴格來說應該是Assembly符號,反正表示local(element) stiffness和residual,結合為global stiffness和residual(等式的左右兩邊).單元內應用有限元插值函數 (Einstein notation)是每個單元的節點數目則residual的矩陣形式是剛度的矩陣形式最後需要求解的方程是- 弱形式不是偏微分方程的對應,是偏微分方程及其邊界條件的對應,兩者嚴格等價;
- 是weighting function,是任意函數,其函數空間只要滿足其在Weak Form中的連續性和可積行;
- Galerkin法中,weighting function和trial solution用相同的數值(函數)空間;
- 不需要確定,本身應該是任意函數,應用有限元法求解的時候會在等式左右兩邊(consistent tangent moduli和residual)中都出現而消去。
前面的答案都已經解釋的比較清楚了,這裡試著從弱形式背後的邏輯來稍作補充,希望有所幫助~
首先多物理場的數值模擬是基於解PDE(偏微分方程)的。這些PDE通常是由一些守恆法則推導而來的,例如質量守恆,能量守恆,動量守恆等等。而弱形式的基本思想就是把這些PDE轉化為在一個域上的積分,以一種更快捷但不一定完全準確的方式得出這些PDE的解。這裡舉個簡單的例子。
這裡以一維的靜態傳熱為例(1D heat transfer at steady state),假設熱源為零。由傅里葉定理可得:
,其中k為傳熱係數,q為heat flux。T為溫度場,就是待求的未知量。再根據能量守恆,我們可以得到PDE:對於這個例子,這個微分方程確實是手解都能解,但是我們試著從另一種思路來考慮它。
想把這個PDE轉化成一個域上的積分,最簡單粗暴的想法就是對它在整個域上做積分(這裡設這個域為0&
原PDE的解肯定是這個積分的解,但是這個積分的解不一定是原PDE的解。而且仔細想想,這個形式實在是太「弱」了。 原PDE是要求在整個域上處處為零,而這個積分只是要求在整個域上的平均值為零。這顯然是不合理的。所以需要進一步提高。
於是我們進一步思考,其實在某一點滿足和在這點附近的很小的一個區域的積分為零是可以近似等價的。把這個思路擴展的整個求解域,於是我們可以用一組很多極小積分區間的積分來近似原PDE,如下:
,,......
積分式子的數量越多,那解就越近似於PDE的精確解。可以想像,如果積分區域無限小,積分數量無限多,滿足這組積分的解就是PDE的精確解。
順著這個思路,我們換一種方式。那就是將被積函數乘以一個權函數(weighting function)再在全域上積分。而每個權函數都只在一個很小的區域內non-trivial。如下圖所示:
不難理解,這種方法和之前說的在一個極小區域積分是近似等價的,只要我們有很多個。於是我們就可以得到:在有限元中,我們知道會用形函數(shape function)對節點值進行插值,而形函數正好就有上述權函數所需要的性質,即在某一小區域non-trivial,其他地方為零或接近零。所以有限元中通常將形函數作為弱形式的權函數。
由於q是T的一階微分,實際上是T的二階微分。所以然後我們可以用分部積分,降低微分的階數,得到:
帶入,得到
這裡我們就得到了這個問題的完整弱形式。
- 解空間是什麼
解空間的基函數的通俗說法就是:與微分方程邊界條件一致的基函數。
在求解微分方程之前,對方程解的了解就只有滿足邊界條件(一般是齊次邊界,不是齊次的也變換成齊次的,齊次簡單說就是邊界上等於0),不滿足邊界條件的函數必然不可能是方程的解。現在流行的有限元都是基於Galerkin法的,也就是權函數和形函數取同一組基函數。所以把方程的解表示成解空間基的線性組合,如果基函數不滿足邊界條件,顯然會導致解的錯誤,因而必須在滿足邊界條件的函數空間選基函數,也就是題目里說的解空間。- 要選多少個
前面已經說了,需要把方程的解表示成解空間基函數的線性組合。函數空間基本都是無限維的,也就是說應該有無窮多個基函數。無窮個對於實際而言是無意義的,而且通過理論和經驗都能判斷,有些基函數容易出現,有些基函數則無關緊要,因而選取有限個就能達到一定精度。假設取了個基函數,就會對應個係數,換句話說,就有個待求未知量,求出這個未知量,與基函數組合得到的函數就是微分方程的近似解。
求個未知量自然需要個獨立方程就足夠了,所以選取個線性無關的權函數就可以了。上述並非是針對有限元法的,而是針對一般的加權余值法。Galerkin法就更為特殊了,因為權函數與形函數取的是同一組基,選了個個形函數,自然就得到了個權函數,也就是個。有限元法除了具有Galerkin法的特點外,另一個特殊的地方在於,形函數是根據網格節點的場變數的值通過多項式插值構造的,換句話說,劃分了網格,確定了單元類型(確定單元類型的意思就是確定插值的方式),形函數也就得到了,形函數的個數也成為所謂的自由度。所以,有限元並不需要考慮的個數,只要考慮網格劃分和單元類型,自然就生成全部的形函數和全部的了。基函數是單元上的插值用的,要看你選的有限元的次數,當用局部坐標表示時,基函數由幾個基本的形函數組成。想深入了解弱形式還是看有限元的書吧。
實際上,u和v,在嚴格的理論中,需要在Sobolev空間中討論。在一本計算數學專業的有限元書裡面,都會有嚴格的定義和有限元解的收斂性的證明。但這需要一定的數學基礎。
這裡從數值方法應用者和lz說的程序實現的角度來說說。以標量的Possion方程為例,試探函數選為基函數是方便自然的:既保證了對稱正定性,又保證了稀疏性。對稱正定性意味著可以採用CG和ICCG之類的求解器去求解;而稀疏性是有限元的又一個大優點,這主要得益於基函數/試函數具有局部性的特點,假設你對基函數/試函數選擇了一個全域性的傅里葉展開,可就沒有這麼個優點了。
試探函數可以不必選擇為基函數的,比如在積分方程的矩量法中就是這樣的,但是有些性質如正交性還是要滿足的吧。試探函數的選擇會對矩陣的性態有很大影響,有時候甚至導致離散方程是不適定的。
從lz的問題當中,可以看出lz的一個誤區是,沒有認識到,在推導過程中,試函數是一組有限維的正交的基函數所張成的,張成的意思就是說,每一個基函數是確定的,記為Ni,可以簡單定義為在基點(節點)上為1,其它基點上為0,但是表示未知場u或v時,還需要乘以一個任意的係數,記為ui或vi。只不過vi在離散形式中,可以通過化簡,從兩邊約掉,即integ(vi*Ni*divgradu)=integ(vi*Ni*f)變為integ(Ni*divgradu)=integ(Ni*f);Ni通過與微分運算元divgrad的分部積分,從而達到降次的目的,即integ(Ni*divgradu)=integ(gradNi*gradu);再將u表示成Nj*uj,方程左邊就得到一個稀疏對稱形式integ(gradNi*gradNj)uj了。怎麼樣,v的選擇實際上退化為Ni的選擇了。
參見科爾莫戈羅夫范函中傅立葉分析之前的部分,有一章對偶空間那部分,有關於求解微分方程的解釋
在你解的時候已經知道解空間是什麼了V一般取形函數
推薦閱讀:
※有限元中單元剛度矩陣的計算是否沒有意義?
※研究生在學習有限元課程前需要什麼數學知識?
※如果別人不相信你的 CAE 分析結果怎麼辦?
※疲勞理論計算的結果真的沒有意義么?
※用有限元分析法分析邊坡穩定有哪些問題?
TAG:有限元分析FEA |