分享

数值模拟偏微分方程的三种方法:FDM、FEM及FVM

 不一样的烟火w6 2017-02-10


偏微分方程数值模拟常用的方法主要有三种:有限差分方法(FDM)、有限元方法(FEM)、有限体积方法(FVM),本文将对这三种方法进行简单的介绍和比较。

有限差分方法

有限差分方法(Finite Difference Methods)是数值模拟偏微分方程最早采用的方法,至今仍被广泛运用。该方法包括区域剖分和差商代替导数两个过程。


具体地,首先将求解区域划分为差分网格,用有限个网格节点代替连续的求解区域。其次,利用Taylor级数展开等方法将偏微分方程中的导数项在网格节点上用函数值的差商代替来进行离散,从而建立以网格节点上的值为未知量的代数方程组。


该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法。差商代替导数后的格式称为有限差分格式,从格式的精度来考虑,有一阶格式、二阶格式和高阶格式。从差分的空间离散形式来考虑,有中心格式和迎风格式。对于瞬态方程,考虑时间方向的离散,有显格式、隐格式、交替显隐格式等。


目前常见的差分格式,主要是以上几种格式的组合,不同的组合构成不同的差分格式。差分方法主要适用于结构网格,网格的步长一般根据问题模型和Courant稳定条件来决定。

请输入标题

有限元方法(Finite Element Methods)的基础是变分原理和分片多项式插值。该方法的构造过程包括以下三个步骤。


首先,利用变分原理得到偏微分方程的弱形式(利用泛函分析的知识将求解空间扩大)。其次,将计算区域划分为有限个互不重叠的单元(三角形、四边形、四面体、六面体等)。再次,在每个单元内选择合适的节点作为求解函数的插值点,将偏微分方程中的变量改写成由各变量或其导数的节点值与所选用的分片插值基函数组成的线性表达式,得到微分方程的离散形式。利用插值函数的局部支集性质及数值积分可以得到未知量的代数方程组。


有限元方法有较完善的理论基础,具有求解区域灵活(复杂区域)、单元类型灵活(适于结构网格和非结构网格)、程序代码通用(数值模拟软件多数基于有限元方法)等特点。有限元方法最早应用于结构力学,随着计算机的发展已经渗透到计算物理、流体力学等各个数值模拟领域的广泛应用中。


根据所采用的检验函数(虚位移函数)和插值函数的不同,有限元方法也分为多种计算格式。从检验函数的选择来说,有配置法、最小二乘法和伽辽金法,从计算单元网格的形状来划分,有三角形网格、四边形网格和多边形网格,从插值函数的精度来划分,又分为线性插值函数和高次插值函数等。不同的组合同样构成不同的有限元计算格式。对于有限元方法,其基本思路和解题步骤可归纳为


  • 建立积分方程,根据变分原理或方程余量与检验函数正交化原理,建立与微分方程初边值问题等价的积分表达式,这是有限元法的出发点。


  • 区域单元剖分,根据求解区域的形状及实际问题的物理特点,将区域剖分为若干相互连接、不重叠的单元。区域单元划分是采用有限元方法的前处理过程,要给出计算单元和节点进行编号相互之间的关系、节点的位置坐标,同时还需要列出问题的自然边界和本质边界的节点序号和相应的边界值。


  • 确定单元基函数,根据单元中节点数目及对近似解精度的要求,选择满足一定插值条件的插值函数作为单元基函数。有限元方法中的基函数是在单元中选取的,由于各单元具有规则的几何形状,在选取基函数时可遵循一定的法则。


  • 单元分析:将各个单元中的求解函数用单元基函数的线性组合表达式进行逼近;再将近似函数代入积分方程,并对单元区域进行积分,可获得含有待定系数(即单元中各节点的函数值)的代数方程组,称为单元有限元方程。


  • 总体合成:在得出单元有限元方程之后,将区域中所有单元有限元方程按一定法则进行累加,形成总体有限元方程。


  • 边界条件的处理:一般边界条件有三种形式,分为本质边界条件(Dirichlet边界条件)、自然边界条件(Neumann边界条件)、混合边界条件(Cauchy边界条件)。对于自然边界条件,一般在积分表达式中可自动得到满足。对于本质边界条件和混合边界条件,需按一定法则对总体有限元方程进行修正满足。


  • 解有限元方程:根据边界条件修正的总体有限元方程组,采用适当的代数方程组求解器,可求得各节点的函数值。

有限体积法

有限体积法(Finite Volume Methods)又称为控制体积法。其基本思路是:将计算区域划分为一系列互不重叠的控制体,并使每个网格点周围有一个控制体;将待求解的微分方程对每一个控制体积积分,便得出一组离散方程。


该方法的未知量为网格点上的函数值。为了求出控制体积的积分,须假定函数值在网格点控制体边界上的变化规律。从积分区域的选取方法看来,有限体积法属于有限元方法中检验函数取分片常数插值的子区域法;从未知量的近似方法看来,有限体积法属于采用局部近似的离散方法。


有限体积法的基本思路易于理解,能够保持物理量在控制体上的守恒性质,也即离散方程保持了微分方程物理量在控制体满足某种守恒原理的物理意义。这是有限体积法吸引人的优点。此外,在有限体积法中,插值函数只用于计算控制体积的积分,因此可以对微分方程中不同的项采取不同的插值函数。

三者各有所长

有限差分方法直观,理论成熟,精度可选。但是不规则区域处理繁琐,虽然网格生成可以使FDM应用于不规则区域,但是对区域的连续性和解的光滑性等要求较高。使用FDM的好处在于易于编程。


有限元方法适合处理复杂区域,精度可选,程序代码具有较强的通用性,适于大规模编程开发和计算。有限体积法适于流体计算,可以应用于非结构网格,适于并行。但是精度最高达到二阶。FVM的优势正逐渐显现出来,FVM在应力应变、高频电磁场方面的特殊的优点正在被人重视。

三者间的区别

FVM和FDM在精度和守恒性方面的差别

FVM由积分方程离散,而FDM方法由微分方程直接离散,前者的精度不但取决于积分时的精度,还取决于对导数处理时的精度,一般总体最高具有二阶精度;后者的精度不涉及积分,而是借助Taylor展开利用差商代替导数,可以具有较高阶的精度。前者对于守恒型方程保持守恒性质,而后者不一定具有守恒性。


FVM和FEM的区别

有限元在复杂区域的适应性对有限体积是相同的,而有限容积的守恒性,物理概念明显的这些特点,有限元是没有的。但是有限体积方法在精度方面与有限元方法还有些差距。


FEM和FDM的区别

有限元方法在适应复杂求解区域和对解的光滑性要求上要优于有限差分法,但是在编程和实现上,有限差分方法在效率上占有一定的优势。

本文转自新浪博客举举的博客,封面图片来自互动百科。

关联阅读:
A数值模拟基础:初值问题与边值问题求解方法
B计算流体力学常用的五大类数值方法简介
C声学领域常用数值模拟方法和相关仿真软件介绍
D系统振动特性分析的数值仿真方法总结及简介


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多