有限元法(Finite Element Method)是基於近代計算機的快速發展而發展起來的一種近似數值方法, 用來解決力學,數學中的帶有特定邊界條件的偏微分方程問題(PDE)。而這些偏微分方程是工程實踐中常見的固體力學和流體力學問題的基礎。有限元和計算機發展共同構成了現代計算力學 (Computational Mechanics)的基礎。有限元法的核心思想是“數值近似”和“離散化”, 所以它在歷史上的發展也是圍繞著這兩個點進行的。
有限元法(Finite Element Method)是基於近代計算機的快速發展而發展起來的一種近似數值方法, 用來解決力學,數學中的帶有特定邊界條件的偏微分方程問題(PDE)。而這些偏微分方程是工程實踐中常見的固體力學和流體力學問題的基礎。有限元和計算機發展共同構成了現代計算力學 (Computational Mechanics)的基礎。有限元法的核心思想是“數值近似”和“離散化”, 所以它在歷史上的發展也是圍繞著這兩個點進行的。
“數值近似” 由於在有限元法被髮明之前,所有的力學問題和工程問題中出現的偏微分方程只能依靠單純的解析解(Analytical Solution)得到解答。這種方法對數學要求很高,而且非常依賴於一些理想化的假定(Assumption)。比如在土木工程中樑柱計算中出現的平截面假定,小應變假定,理想塑性假定。這些假定其實是和實際工程問題有很大偏差的,而且一旦工程問題稍微複雜一些我們就不能直接得到解析解,或者解析解的答案誤差過大。而有限元法把複雜的整體結構離散到有限個單元(Finite Element),再把這種理想化的假定和力學控制方程施加於結構內部的每一個單元,然後透過單元分析組裝得到結構總剛度方程,再透過邊界條件和其他約束解得結構總反應。總結構內部每個單元的反應可以隨後透過總反應的一一對映得到,這樣就可以避免直接建立複雜結構的力學和數學模型了。其總過程可以描述為: 總結構離散化 — 單元力學分析 — 單元組裝 — 總結構分析 — 施加邊界條件 — 得到結構總反應 — 結構內部某單元的反應分析 在進行單元分析和單元內部反應分析的時候,形函式插值(shape function interpolation)和 高斯數值積分(Gaussian Quadrature)被用來近似表達單元內部任意一點的反應,這就是有限元數值近似的重要體現。一般來說,形函式階數越高,近似精度也就越高,但其要求的單元控制點數量和高斯積分點數量也更多。另外單元劃分的越精細,其近似結果也更加精確。但是以上兩種提高有限元精度的代價就是計算量幾何倍數增加。 為了提高數值近似精度同時儘量較少地提高計算量,有限元法經歷了很多發展和改良。下圖就是一典型的有限元問題,因為模型中間空洞部分幾何不規則性,結構用有限三角單元劃分。由於在靠外區域,結構反應變化程度不是很大,因此劃分的單元比較大和粗糙,而在內部,應力變化比較大,劃分也比較精細。而在左邊單元劃分最密區域,有應力集中現象(如裂紋問題的奇異解現象),所以又有相應的高階理論(比如non-local theory)來指導這部分的單元應力應變計算。結構被選擇性地離散,和高階理論構成了有限元發展的主要研究方向。 2. “離散化” 離散化和相應單元特性和收斂研究也是有限元中一個重要研究領域,總的來說,有限單元和他們組裝成的總體結構主要分為: 1-D 單元 (1-D element) 杆單元 (bar element) ------ 桁架 (truss) 梁單元 (beam element) ------ 框架 (frame) 板單元 (plate element) ------ 殼體 (shell) 2-D單元 (2-D element) ------ 平面應力體 (plain stress) 和 平面應變體 (plain strain) 三角單元 (triangle element) 四邊形單元 (quadrilateral element) 多邊形單元 (polygonal element) 3-D 單元 (3-D element) ----- 立體結構 (3-D problem) 三角體 (tetrahedrons element) 立方體單元 (hexahedrons element) 多邊體單元 (polyhedrons element) 具體的分類和單元形狀見下圖 可以看到每種單元又可以提高形函式的階數(控制點 node 數量)來提高精度。很多有限元研究也集中在這個領域。比如研究新的單元引用於結構動力反應以減小數值震盪,比如用3-D單元去模擬梁單元等等。其實理論上來說這個領域可以有無限可能,因為對精度和數值穩定的追求可以是無限的。 3. “光滑邊界” 和 與CAD的互動問題 其實這個算不上有限元的核心思想,不過是現在有限元研究熱的不能再熱的領域了,就是Hughes提出的“NURBS”有限元法,它的原理是用空間樣條曲線來劃分單元。如第一幅圖所示,傳統的有限元在處理不規則邊界的時候一般都是較多的單元和用三角單元,多邊形單元來解決,而且單元控制點都是和單元在一個平面上。 而NURBS 單元的控制點脫離了單元本身,並且利用B-spline理論上可以把單元的光滑程度(continuity)提高到無限,而且不會顯著提高計算量。 發展NURBS的另外一個好處是,在建模中常用的CAD軟體是用B-spline來進行模型建立基礎的,而NURBS 正好也是用用B-spline作為basis。 所以CAD和NURBS的互動可以非常簡單和高效的,甚至可以說是無縫連線。因此在工業界中十分複雜的模型都可以用CAD進行建模,再用NURBS進行有限元計算,如下圖。現在成噸的有限元paper都來自這個領域,因為有限元的基本理論基本已經成熟和robust,利用高效能計算機進行大尺度(large-scale)和高複雜結構模擬也是有限元發展的一個主要方向。P.S. :需要提到一點的是,沒有高效能計算機技術的大力發展,就不可能有有限元的發展。有限元的理論最早是出現在1960年代,直到1970之後才隨著計算機的發展而迅速發展。而現在發展迅速的計算力學也是得益於高效能計算機的發展。可能當某一天計算機處理速度可以強大到我們可以用最複雜,最密集的單元完美快速地模擬任意結構,我們也不用再操心精度問題了。 所以我覺得有限元的核心還需要加上計算機技術的發展吧。