有限体积方法可以在离散意义上满足局部和全局的守恒律,是CFD中最常用的数值求解方法。为何众多基于有限体积方法的软件最高只有二阶精度,鲜见3阶以上精度的有限体积方法?
有人认为,是非结构网格导致了这个现状。这个认识没有触及根本,至少是不全面的。下面我们会看到,即使是最简单的、不考虑一般曲线坐标系的平直结构网格,相比有限差分方法,要实现3阶以上精度,必须付出很多额外代价。
这里以平直结构网格上的三阶有限体积方法为例,展开说明。
一维守恒方程
是数值流通量。这样,我们就获得了对应一维守恒方程 (1) 的,具有p阶精度的数值格式 (2)。
至此,问题归于:如何通过第n时间步的平均值,获得网格面上的数值通量?不同于插值,这是从平均值到点值的过程,称为重构。可以证明,譬如下面的重构过程
是线性的,即有
二维情形
图1 结构网格以及控制体单元示意图
阴影部分为此次考虑的控制体单元
图1中,阴影部分表示的控制体单元上,平均量的定义为
其中,表示u在x方向的平均,表示u在y方向的平均。考虑二维守恒律方程
我们希望获得如下形式的数值格式
要求满足
p是格式的要求的精度。考虑通量f和g都是非线性函数,比如Burgers方程中,的一次重构过程无法满足上述近似,因为
上述近似过程必须考虑数值积分。高斯积分使用更少的点,可以实现更高的精度。以 为例,为了满足式 (11a) 的精度要求,需要下面的过程
上述第一个“→”表示进行一次x方向的重构,第二个“→”表示在y方向进行一次重构。β是高斯点索引,比如实现三阶有限体积格式β=1,2,而五阶格式则要求β=1,2,3 。
表格1:三阶精度的有限体积格式计算量对比。假设一维三阶精度守恒型有限差分格式的计算量为1个单位。
见表格2,5阶有限体积方法,对应二维和三维流动,计算量分别增加了4倍和10倍。
分辨率和精度
一般来说,离散格式的误差可以表示为,E 整体表示格式的分辨率,而p表示格式的精度。分辨率是描述算法的状态,而精度则是描述随着网格加密,算法的误差的变化过程。
折 中
如果仅在一个方向进行高阶重构,计算代价与有限差分方法相当。尽管格式仍然是二阶精度,但能够提高格式的整体分辨率。在气动计算领域,这种做法很常见。
这种格式,与传统的二阶Harten TVD格式比较,尽管精度相当,却具备更高的分辨率。相同网格下,这种高分辨率格式能够更准确捕捉流场的精细结构。
延 申
对于非结构网格上的有限体积方法,额外的重构过程,依然无法避免。模板选择是另外一个棘手的问题。
二阶精度有限体积格式