日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

有限元分析简介及伽辽金法

發布時間:2023/12/31 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 有限元分析简介及伽辽金法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.1 什么是有限元方法

有限元方法(Finite Element Method, FEM)是一種求解由偏微分方程描述或可表示為泛函極小化問題的數值方法。感興趣的域被表示為有限單元(finite elements)的集合。有限元中的逼近函數是根據所求物理場的節點值確定的。FEM將一個連續的物理問題轉化為節點值未知的離散化有限元問題,并得到一個線性方程組,求解該方程組就可以獲得待求的物理量。有限元內部的值可以使用節點值恢復。

值得一提的是,FEM的兩個特點:

  • 在有限元上的物理場的分段近似提供了很好的精度,即使用簡單的近似函數(增加單元的數量,我們可以達到任意精度)。
  • 局部逼近將導致離散問題的方程組稀疏,這有助于解決具有大量節點未知數的問題。
  • 1.2 FEM是如何工作的

    為了說明有限元方法是如何工作的,我們列出如下幾個有限元的主要求解步驟

  • 離散化。第一步是將求解域劃分為有限單元。有限元網格通常由預處理程序生成。網格的描述由幾個數組組成,其中主要是節點坐標和單元的連通性。

  • 選擇插值函數。插值函數用于對單元上的場變量進行插值,這里通常選擇多項式作為插值函數。多項式的次數取決于單元上的節點數。

  • 尋找單元屬性。建立待求函數的結點值與其他參數聯系起來的矩陣方程,此步驟有多種方法可以使用,但最方便的方法是伽遼金方法(Galerkin method)。

  • 組裝單元方程。要找到整個求解區域的全局方程組,必須將所有的單元方程組合在一起。在組裝過程中需要用到單元之間的連通性。同時,在求解之前還需要施加邊界條件(邊界條件不在單元方程中考慮)。

  • 求解全局方程組。有限元整體方程組具有典型的稀疏、對稱和正定性質,可采用直接法和迭代法來求解該方程組。待求函數在結點處的值被當做最終的解。

  • 計算其他量。對于很多情況,我們需要計算其他的量,例如在力學問題中,除了位移外,還需要考慮應變和應力,這些位移是在求解整體方程組后得到的。

  • 1.3 有限元方程的表述

    有很多方法可以將問題的物理形式轉換成有限元離散后的形式。如果物理問題是由偏微分方程描述的,則經常使用的是伽遼金方法(Galerkin method)。如果文理問題是由泛函最小化描述的,則經常使用變分公式(variational formulation)將其轉換為有限元方程。

    1.3.1 伽遼金方法(Galerkin method)

    讓我們先從簡單的一維問題開始,介紹使用伽遼金方法的有限元公式。假設我們需要求解下面方程的數值解
    ad2udx2+b=0,0≤x≤1(1)a\frac{d^2u}{dx^2}+b=0,\quad 0 \leq x \leq 1 \tag{1} adx2d2u?+b=0,0x1(1)
    邊界條件為
    u∣x=0=0adudx∣x=2L=R\begin{array}{l} \left.u\right|_{x=0}=0 \\ \left.a \frac{d u}{d x}\right|_{x=2 L}=R \end{array} ux=0?=0adxdu??x=2L?=R?
    其中uuu是待求解量。我們將使用下圖所示的兩個線性一維有限元來解決這個問題。

    首先我們考慮圖1.1右半部分的有限元,該單元擁有兩個節點,則近似函數u(x)u(x)u(x)可以表示為
    u=N1u1+N2u2=[N]{u}[N]=[N1N2]{u}={u1u2}\begin{array}{l} u=N_1u_1+N_2u_2=[N]\{u\} \\ [N]=\left[\begin{array}{c}N_1 & N_2\end{array}\right] \\ \{u\}=\left\{\begin{array}{c}u_1 & u_2\end{array}\right\} \end{array} u=N1?u1?+N2?u2?=[N]{u}[N]=[N1??N2??]{u}={u1??u2??}?
    這里的NiN_iNi?也稱為形函數(shape functions)
    N1=1?x?x1x2?x1N2=x?x1x2?x1N_1=1-\frac{x-x_1}{x_2-x_1} \\ N_2=\frac{x-x_1}{x_2-x_1} N1?=1?x2??x1?x?x1??N2?=x2??x1?x?x1??
    使用這些形函數在結點出的值來插值u(x)u(x)u(x)。我們需要從全局離散方程中求解出未知的結點值u1u_1u1?u2u_2u2?。

    將節點處的值和形函數帶入到式(1)的微分方程中,得到如下的近似形式
    ad2dx2[N]{u}+b=ψ(2)a\frac{d^2}{dx^2}[N]\{u\}+b=\psi \tag{2} adx2d2?[N]{u}+b=ψ(2)
    由于式(2)是有限元中的近似形式,所以殘差ψ\psiψ是一個非零的數。伽遼金方法通過將式(2)的項乘以形函數,在單元上積分并令其等于0最小化殘差:
    ∫x1x2[N]Tad2dx2[N]{u}dx+∫x1x2[N]Tbdx=0\int_{x_{1}}^{x_{2}}[N]^{T} a \frac{d^{2}}{d x^{2}}[N]\{u\} d x+\int_{x_{1}}^{x_{2}}[N]^{T} b d x=0 x1?x2??[N]Tadx2d2?[N]{u}dx+x1?x2??[N]Tbdx=0
    對其進行分部積分,得到該單元上微分方程的一種離散形式
    ∫x1x2[dNdx]Ta[dNdx]dx{u}?∫x1x2[N]Tbdx?{01}adudx∣x=x2+{10}adudx∣x=x1=0(3)\int_{x_{1}}^{x_{2}}\left[ \frac{dN}{dx} \right]^{T} a \left[ \frac{dN}{dx}\right] d x\{u\}-\int_{x_{1}}^{x_{2}}[N]^{T} b d x - \left\{ \begin{array}{c} 0 \\ 1 \end{array} \right\}a \left. \frac{du}{dx} \right|_{x=x_2}+ \left\{ \begin{array}{c} 1 \\ 0 \end{array} \right\}a \left. \frac{du}{dx} \right|_{x=x_1} =0 \tag{3} x1?x2??[dxdN?]Ta[dxdN?]dx{u}?x1?x2??[N]Tbdx?{01?}adxdu??x=x2??+{10?}adxdu??x=x1??=0(3)
    為了表示方便,我們使用如下幾個記號

    [k]=∫x1x2[dNdx]Ta[dNdx]dx{f}=∫x1x2[N]Tbdx+{01}adudx∣x=x2?{10}adudx∣x=x1\begin{aligned} &{[k]=\int_{x_{1}}^{x_{2}}\left[\frac{d N}{d x}\right]^{T} a\left[\frac{d N}{d x}\right] d x} \\ & \{f\}=\int_{x_{1}}^{x_{2}}[N]^{T} b d x+\left.\left\{\begin{array}{l} 0 \\ 1 \end{array}\right\} a \frac{d u}{d x}\right|_{x=x_{2}}-\left.\left\{\begin{array}{l} 1 \\ 0 \end{array}\right\} a \frac{d u}{d x}\right|_{x=x_{1}} \end{aligned} ?[k]=x1?x2??[dxdN?]Ta[dxdN?]dx{f}=x1?x2??[N]Tbdx+{01?}adxdu??x=x2???{10?}adxdu??x=x1???

    則式子(3)可以寫成
    [k]{u}={f}\boxed{{[k]\{u\}=\{f\}}} [k]{u}={f}?
    在固體力學中,[k][k][k]稱為剛度矩陣(stiffness matrix);{f}\{f\}{f}稱為載荷向量(load vector)。在上述我們考慮的偏微分問題中,我們分別計算兩個長度為LLL單元的剛度矩陣和載荷向量。
    [k1]=[k2]=aL[1?1?11][k_1]=[k_2]=\frac{a}{L} \left[ \begin{array}{c} 1 & -1 \\ -1 & 1 \end{array} \right] [k1?]=[k2?]=La?[1?1??11?]

    {f1}=bL2{11},{f2}=bL2{11}+{0R}\{f_1\}= \frac{bL}{2} \left\{ \begin{array}{c} 1 \\ 1 \end{array} \right\}, \quad \{f_2\}= \frac{bL}{2} \left\{ \begin{array}{c} 1 \\ 1 \end{array} \right\} + \left\{ \begin{array}{c} 0 \\ R \end{array} \right\} {f1?}=2bL?{11?},{f2?}=2bL?{11?}+{0R?}

    對于整個求解域上2個單元,3個結點的全局方程組可以通過組裝單元方程組獲得。在此實例中,第二個結點時單元共用結點。組裝全局方程組為
    aL[1?10?12?10?11]{u1u2u3}=bL2{121}+{00R}\frac{a}{L} \left[ \begin{array}{c} 1 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 1 \end{array} \right] \left\{ \begin{array}{c} u_1 \\ u_2 \\ u_3 \end{array} \right\} =\frac{bL}{2} \left\{ \begin{array}{c} 1 \\ 2 \\ 1 \end{array} \right\} + \left\{ \begin{array}{c} 0 \\ 0 \\ R \end{array} \right\} La????1?10??12?1?0?11????????u1?u2?u3??????=2bL?????121?????+????00R?????
    施加邊界條件u(x=0)=0u(x=0)=0u(x=0)=0后,最終的全局方程為
    aL[10002?10?11]{u1u2u3}=bL2{021}+{00R}\frac{a}{L} \left[ \begin{array}{c} 1 & 0 & 0 \\ 0 & 2 & -1 \\ 0 & -1 & 1 \end{array} \right] \left\{ \begin{array}{c} u_1 \\ u_2 \\ u_3 \end{array} \right\} =\frac{bL}{2} \left\{ \begin{array}{c} 0 \\ 2 \\ 1 \end{array} \right\} + \left\{ \begin{array}{c} 0 \\ 0 \\ R \end{array} \right\} La????100?02?1?0?11????????u1?u2?u3??????=2bL?????021?????+????00R?????
    結點處的值uiu_iui?可以通過求解上面的線性方程組得到。uuu在有限元內任一點處的值可以通過形函數計算。當a=1,b=1,L=1,R=1a=1,b=1,L=1,R=1a=1,b=1,L=1,R=1時有限元的解如下圖所示。

    在此例中,精確解是二次函數,而有限元方法中在每個單元上使用的是簡單的線性函數。通過增加單元的個數或使用更加復雜的形函數可以得到更加精確的數值解。值得注意的是,在結點處有限元方法得到的解是精確的(僅針對此例中)。如果精確解是二次函數,則有限元方法使用線性形函數可在結點處獲得精確值;而如果精確解是三次函數,則有限元方法使用二次形函數可在結點處獲得精確值,以此類推。

    總結

    以上是生活随笔為你收集整理的有限元分析简介及伽辽金法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。