有限元法基础gydF4y2Ba

偏微分方程工具箱™算法的核心是使用有限元方法(FEM)来解决二维或三维空间中有界区域上的问题。在大多数情况下,初等函数不能表示复杂几何上甚至简单偏微分方程的解。万博 尤文图斯有限元方法通过在几何上生成网格,将复杂几何描述为子域的集合。例如,可以用三角形(2-D几何)或四面体(3-D几何)的并集来近似计算域Ω。子域形成一个网格,每个顶点称为一个节点。下一步是在每个子域上使用更简单的方程来近似原偏微分方程问题。gydF4y2Ba

例如,考虑基本椭圆方程。gydF4y2Ba

−gydF4y2Ba ∇gydF4y2Ba ⋅gydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba )gydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba ugydF4y2Ba =gydF4y2Ba fgydF4y2Ba 在域gydF4y2Ba ΩgydF4y2Ba

假设这个方程服从狄利克雷边界条件gydF4y2Ba ugydF4y2Ba =gydF4y2Ba rgydF4y2Ba 在gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba DgydF4y2Ba 和诺伊曼边界条件gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba .这里,gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba =gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba DgydF4y2Ba ∪gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba 是Ω的边界。gydF4y2Ba

有限元的第一步是将原始微分(gydF4y2Ba强大的gydF4y2Ba)形式的PDE为一个积分(gydF4y2Ba虚弱的gydF4y2Ba)形式与测试函数相乘gydF4y2Ba vgydF4y2Ba 在Ω上积分。gydF4y2Ba

∫gydF4y2Ba ΩgydF4y2Ba (gydF4y2Ba −gydF4y2Ba ∇gydF4y2Ba ·gydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba )gydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba ugydF4y2Ba −gydF4y2Ba fgydF4y2Ba )gydF4y2Ba vgydF4y2Ba dgydF4y2Ba ΩgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ∀gydF4y2Ba vgydF4y2Ba

测试函数是从在边界的Dirichlet部分消失的函数集合(函数空间)中选择的,gydF4y2Ba vgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 在gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba DgydF4y2Ba .以上方程可以看作是利用所有可能的加权函数对残差进行加权平均gydF4y2Ba vgydF4y2Ba . 可容许解的函数集合,万博 尤文图斯gydF4y2BaugydF4y2Ba的弱形式,使它们满足狄利克雷BC,gydF4y2BaugydF4y2Ba=gydF4y2BargydF4y2Ba在gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba DgydF4y2Ba .gydF4y2Ba

按部分积分(格林公式)二阶项得出:gydF4y2Ba

∫gydF4y2Ba ΩgydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba ∇gydF4y2Ba vgydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba ugydF4y2Ba vgydF4y2Ba )gydF4y2Ba dgydF4y2Ba ΩgydF4y2Ba −gydF4y2Ba ∫gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba ngydF4y2Ba →gydF4y2Ba ·gydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba )gydF4y2Ba vgydF4y2Ba dgydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba +gydF4y2Ba ∫gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba DgydF4y2Ba ngydF4y2Ba →gydF4y2Ba ·gydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba )gydF4y2Ba vgydF4y2Ba dgydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba DgydF4y2Ba =gydF4y2Ba ∫gydF4y2Ba ΩgydF4y2Ba fgydF4y2Ba vgydF4y2Ba dgydF4y2Ba ΩgydF4y2Ba ∀gydF4y2Ba vgydF4y2Ba

用诺伊曼边界条件代入方程左侧的第二项。另外,请注意,gydF4y2Ba vgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 在gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba DgydF4y2Ba 使第三项无效。得到的方程为:gydF4y2Ba

∫gydF4y2Ba ΩgydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba ∇gydF4y2Ba vgydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba ugydF4y2Ba vgydF4y2Ba )gydF4y2Ba dgydF4y2Ba ΩgydF4y2Ba +gydF4y2Ba ∫gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba 问gydF4y2Ba ugydF4y2Ba vgydF4y2Ba dgydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba =gydF4y2Ba ∫gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba ggydF4y2Ba vgydF4y2Ba dgydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba +gydF4y2Ba ∫gydF4y2Ba ΩgydF4y2Ba fgydF4y2Ba vgydF4y2Ba dgydF4y2Ba ΩgydF4y2Ba ∀gydF4y2Ba vgydF4y2Ba

注意,到此阶段为止的所有操作都是在连续体Ω(问题的全局域)上执行的。因此,可容许函数和试函数的集合是跨无限维函数空间的。下一步是通过将Ω细分为更小的子域或元素来离散弱表单gydF4y2Ba ΩgydF4y2Ba egydF4y2Ba ,在那里gydF4y2Ba ΩgydF4y2Ba =gydF4y2Ba ∪gydF4y2Ba ΩgydF4y2Ba egydF4y2Ba 。这一步相当于将弱形式的偏微分方程投影到有限维子空间上。使用符号gydF4y2Ba ugydF4y2Ba hgydF4y2Ba 和gydF4y2Ba vgydF4y2Ba hgydF4y2Ba 表示定义于上的容许函数和试函数的有限维等价gydF4y2Ba ΩgydF4y2Ba egydF4y2Ba ,您可以将PDE的离散化弱形式写成:gydF4y2Ba

∫gydF4y2Ba ΩgydF4y2Ba egydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba hgydF4y2Ba ∇gydF4y2Ba vgydF4y2Ba hgydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba ugydF4y2Ba hgydF4y2Ba vgydF4y2Ba hgydF4y2Ba )gydF4y2Ba dgydF4y2Ba ΩgydF4y2Ba egydF4y2Ba +gydF4y2Ba ∫gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba egydF4y2Ba 问gydF4y2Ba ugydF4y2Ba hgydF4y2Ba vgydF4y2Ba hgydF4y2Ba dgydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba egydF4y2Ba =gydF4y2Ba ∫gydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba egydF4y2Ba ggydF4y2Ba vgydF4y2Ba hgydF4y2Ba dgydF4y2Ba ∂gydF4y2Ba ΩgydF4y2Ba NgydF4y2Ba egydF4y2Ba +gydF4y2Ba ∫gydF4y2Ba ΩgydF4y2Ba egydF4y2Ba fgydF4y2Ba vgydF4y2Ba hgydF4y2Ba dgydF4y2Ba ΩgydF4y2Ba egydF4y2Ba ∀gydF4y2Ba vgydF4y2Ba hgydF4y2Ba

接下来,让我们gydF4y2BaϕgydF4y2Ba我gydF4y2Ba,gydF4y2Ba我gydF4y2Ba= 1, 2, ... ,gydF4y2BaNgydF4y2BapgydF4y2Ba,为包含集合的子空间的分段多项式基函数gydF4y2Ba ugydF4y2Ba hgydF4y2Ba 和gydF4y2Ba vgydF4y2Ba hgydF4y2Ba ,那么有什么特别的吗gydF4y2Ba ugydF4y2Ba hgydF4y2Ba 可以表示为基函数的线性组合:gydF4y2Ba

ugydF4y2Ba hgydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba 1gydF4y2Ba NgydF4y2Ba pgydF4y2Ba UgydF4y2Ba 我gydF4y2Ba ϕgydF4y2Ba 我gydF4y2Ba

在这里gydF4y2BaUgydF4y2Ba我gydF4y2Ba是待定标量系数。替换gydF4y2Ba ugydF4y2Ba hgydF4y2Ba 转化为PDE的离散化弱形式,并使用gydF4y2Ba vgydF4y2Ba hgydF4y2Ba =gydF4y2Ba φgydF4y2Ba 我gydF4y2Ba 当测试功能和对元素进行集成时,会产生一个gydF4y2BaNgydF4y2BapgydF4y2Ba方程gydF4y2BaNgydF4y2BapgydF4y2Ba未知数gydF4y2BaUgydF4y2Ba我gydF4y2Ba.gydF4y2Ba

请注意,有限元方法通过最小化相关的误差函数来近似解。最小化过程自动找到最接近解的基函数的线性组合gydF4y2BaugydF4y2Ba.gydF4y2Ba

FEM产生一个系统gydF4y2Ba库gydF4y2Ba=gydF4y2BaFgydF4y2Ba的矩阵gydF4y2BaKgydF4y2Ba右边gydF4y2BaFgydF4y2Ba包含用测试函数表示的积分gydF4y2BaϕgydF4y2Ba我gydF4y2Ba,gydF4y2BaϕgydF4y2BajgydF4y2Ba,以及系数gydF4y2BacgydF4y2Ba,gydF4y2Ba一个gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2Ba问gydF4y2Ba,及gydF4y2BaggydF4y2Ba定义问题。解向量gydF4y2BaUgydF4y2Ba包含的膨胀系数gydF4y2BaugydF4y2BahgydF4y2Ba,这也是价值gydF4y2BaugydF4y2BahgydF4y2Ba在每个节点gydF4y2BaxgydF4y2BakgydF4y2Ba(gydF4y2BakgydF4y2Ba= 1,2对于二维问题gydF4y2BakgydF4y2Ba=1,2,3(对于三维问题)因为gydF4y2BaugydF4y2BahgydF4y2Ba(gydF4y2BaxgydF4y2BakgydF4y2Ba) =gydF4y2BaUgydF4y2Ba我gydF4y2Ba.gydF4y2Ba

FEM技术也用于解决更一般的问题,例如:gydF4y2Ba

  • 时间的问题。解决方案gydF4y2BaugydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2BatgydF4y2Ba)方程的gydF4y2Ba

    dgydF4y2Ba ∂gydF4y2Ba ugydF4y2Ba ∂gydF4y2Ba tgydF4y2Ba −gydF4y2Ba ∇gydF4y2Ba ⋅gydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba )gydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba ugydF4y2Ba =gydF4y2Ba fgydF4y2Ba

    可近似为gydF4y2Ba

    ugydF4y2Ba hgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba NgydF4y2Ba UgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ϕgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba

    其结果是一个常微分方程组(ode)gydF4y2Ba

    米gydF4y2Ba dgydF4y2Ba UgydF4y2Ba dgydF4y2Ba tgydF4y2Ba +gydF4y2Ba KgydF4y2Ba UgydF4y2Ba =gydF4y2Ba FgydF4y2Ba

    两个时间导数会得到一个二阶微分方程gydF4y2Ba

    米gydF4y2Ba dgydF4y2Ba 2gydF4y2Ba UgydF4y2Ba dgydF4y2Ba tgydF4y2Ba 2gydF4y2Ba +gydF4y2Ba KgydF4y2Ba UgydF4y2Ba =gydF4y2Ba FgydF4y2Ba

  • 特征值问题。解决gydF4y2Ba

    −gydF4y2Ba ∇gydF4y2Ba ⋅gydF4y2Ba (gydF4y2Ba cgydF4y2Ba ∇gydF4y2Ba ugydF4y2Ba )gydF4y2Ba +gydF4y2Ba 一个gydF4y2Ba ugydF4y2Ba =gydF4y2Ba λgydF4y2Ba dgydF4y2Ba ugydF4y2Ba

    的未知数gydF4y2BaugydF4y2Ba和gydF4y2BaλgydF4y2Ba,在那里gydF4y2BaλgydF4y2Ba是复数。利用有限元离散化,可以解决代数特征值问题gydF4y2Ba库gydF4y2Ba=gydF4y2BaλgydF4y2Ba亩gydF4y2Ba发现gydF4y2BaugydF4y2BahgydF4y2Ba近似于gydF4y2BaugydF4y2Ba.为了解决特征值问题,使用gydF4y2BasolvepdeeiggydF4y2Ba.gydF4y2Ba

  • 非线性问题。如果系数gydF4y2BacgydF4y2Ba,gydF4y2Ba一个gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2Ba问gydF4y2Ba,或gydF4y2BaggydF4y2Ba是函数的gydF4y2BaugydF4y2Ba或∇gydF4y2BaugydF4y2Ba, PDE被称为非线性,FEM得到一个非线性系统gydF4y2BaKgydF4y2Ba(gydF4y2BaUgydF4y2Ba)gydF4y2BaUgydF4y2Ba=gydF4y2BaFgydF4y2Ba(gydF4y2BaUgydF4y2Ba)gydF4y2Ba.gydF4y2Ba

总之,FEM方法:gydF4y2Ba

  1. 将问题的原始域表示为元素的集合。gydF4y2Ba

  2. 对于每个元素,用一组局部近似原始方程的简单方程替换原始PDE问题。为每个元素的边界应用边界条件。对于系数不依赖于解或其梯度的平稳线性问题,结果是线性方程组。对于站点当系数依赖于解或其梯度时,结果是一个非线性方程组。对于时间相关问题,结果是一组常微分方程。gydF4y2Ba

  3. 将生成的方程和边界条件组合成一个全局方程组,对整个问题进行建模。gydF4y2Ba

  4. 分别使用线性解算器或数值积分求解生成的代数方程组或常微分方程组。工具箱在内部调用适当的MATLABgydF4y2Ba®gydF4y2Ba这个任务的求解器。gydF4y2Ba

工具书类gydF4y2Ba

[1] 库克、罗伯特·D·大卫·S·马尔库斯和迈克尔·E·普莱夏。gydF4y2Ba有限元分析的概念与应用gydF4y2Ba.第3版。纽约:约翰·威利父子公司,1989年。gydF4y2Ba

[2] 吉尔伯特·斯特朗和乔治·菲克斯。gydF4y2Ba有限元法分析gydF4y2Ba第二版。马萨诸塞州韦尔斯利:韦尔斯利剑桥出版社,2008年。gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba|gydF4y2Ba