有限差分法和有限体积法的区别

2022/3/3 6:19:41

本文主要是介绍有限差分法和有限体积法的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

有限差分法有限差分法有限差分法(Finite Difference Method, FDM)和有限体积法(Finite Volume Method, FVM)都是用数值解逼近微分方程的真实解的计算方法,其区别主要在于逼近思想、网格划分、格式类型和精度上有所不同。


  • 有限差分法(FDM)

将求解区域离散为差分网格,以有限个网格节点来代替连续的求解域,用网格上的差商来近似代替格点上的空间导数(整理后变为差分代替微分,故称之为差分格式),从而将原来的微分方程转化为以网格节点上的场值作为未知量的代数(差分)方程组,然后进行求解。

从是否对时间进行离散来划分,有半离散格式和全离散格式(前者只离散空间导数,原方程转化为大规模常微分方程组,于是时间推进可利用Runge-Kutta格式);从格式的精度来划分,有一阶、二阶和高阶格式;从导数的差分形式来划分,可分成中心格式和迎风格式;若考虑时间离散(即考虑全离散格式),差分格式还可以进一步分为显式格式、隐式格式、半隐式格式、显隐交替格式等;针对差分格式缺点(格式精度越高,差商依赖的节点越多,边界条件不好处理)进行改进,出现了所谓的紧致差分格式。

差分格式主要通过泰勒展开来构造,因此能很方便控制时间和空间上精度的阶数。目前,常见的差分格式是上述几种不同类型的组合,不同的组合构成不同的差分格式。

FDM主要适用于正交有序的网格,即结构化网格,因此特别适合结构简单、外形规整的计算域。对于外形不是特别复杂,但又不规则的计算域,仍可使用贴体和分块技术来转化为结构化网格。网格单元的尺寸一般需要适应流动情况(例如在有激波、边界层、涡等现象地方网格尺寸应该小)以及满足CFL(Courant-Friedrichs-Lewy)稳定性条件。

FDM数学概念直观,推导自然,是发展较早且比较成熟的数值方法。


  • 有限体积法(FVM)

FVM将求解区域离散为网格(可以是结构化也可以是非结构化类型),然后将其划分为一系列不重合的控制体,对待解的微分方程在单个控制体内进行体积分,利用斯托克斯定理得到微分方程相应的积分形式,然后对方程进行离散求解。

根据未知量所处的位置,离散格式类型可分为两种:一种是未知量处于网格单元中心(cell-centered);一种位于网格节点上(vertex-centered)。前者计算量较大,但精度也比后者高。为了方便,通常使用的是前者。

为了求出控制体内的积分,必须假定场值在网格内之间的变化规律,或者直接给出通量的近似表达式。这便是有FVM格式构造的核心。根据通量导数构造方式,也可以分为中心型格式和迎风型格式两大类。中心型较为特殊,需要使用交错网格,这里不谈。

迎风型格式根据其所用到的物理思想,又可分为通量矢量分裂(Flux Vector Splitting, FVS)、通量差分分裂(Flux Difference Splitting, FDS)、总变差衰减(Total Variation Diminishing, TVD)、波动分裂(Fluctuation Splitting, FS)等格式。其中最为经典的Godunov格式、加权本质无振荡(WENO)格式就是属于FDS一类,而ASUM家族类的格式以及经典的Steger-Warming格式,van Leer格式则属于FVS一类。

根据格式精度,也能分为一阶格式、二阶格式和高阶格式。同样,根据时间是否离散,可以分为半离散格式和全离散格式。对于时间进行离散的格式中,又可分为显式、隐式、显隐交替格式等。像前面的高阶精度格式(TVD、WENO)都喜欢与半离散方式结合,这样容易控制时间和空间精度,缺点是计算开销大。

可以说,FVM中上述格式也吸收借鉴了FDM中格式构造的思想,它们之间也是相互促进的,并非完全独立的。


从数学本质来说,FVM属于加权参量法家族中的子区域法(而限元法则是基于变分原理和加权残量法,可以说FVM是FDM和有限元法之间的结合物)。有限体积法的物理意义清晰,即守恒变量在任意大小的控制体积(乃至对整个计算区域)中满足守恒律,这是FVM的最大优点,而FDM仅当网格非常密时,离散方程才满足积分守恒。

总结二者的典型不同之处:

  1. FVM在复杂区域上容易进行,而FDM实施起来较困难;但FVM使用非结构化网格对复杂区域求解,解的质量与网格质量关系较大。
  2. 对于复杂计算域,若采用贴体网格,FDM中几何量和物理量是耦合运算的,故采用不同的差分格式,这些几何量对计算结果的影响不同,因而会产生所谓几何诱导误差。
  3. 对多维问题而言,高精度(高于二阶)FDM较为容易构造,而FVM的构造和实施比较困难,且多维的引入会带来几何源项。
  4. FDM适合光滑流动(低速流),但对网格光滑性要求较高;FVM适合流场有大梯度或间断的流动(如激波)。

上述文章收录自2018-11-14 15:36叶落无声的回答,具体请看

有限差分法和有限体积法的区别? - 知乎



这篇关于有限差分法和有限体积法的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程