[CFD笔记3] 离散化方法

《计算流体力学基础及其应用》第四章笔记

有限差分法

大多数都是传热学课第四章的内容

差分方式:

  • 一阶导的向前/向后差分(一阶精度)

  • 一阶导的中心差分(二阶精度)

  • 二阶(混合)导的中心差分(二阶精度)

  • 边界通过多项式方式差分(可证明为二阶精度)

隐式方法&显式方法

显式方法

优点:编程简单,方程简单

缺点:需要满足稳定性条件,通常时间推进求解的时间步要很小,因此计算时间复杂度增加

隐式方法

优点:可以使用比显式方法大很多的时间步也能保持稳定,计算时间大大缩短

缺点:方程和方法建立较为复杂,需要运用大型矩阵运算方法,每一步的计算时间会比显式的长(总体则不一定),编程难度大

误差与稳定性

离散误差: 微分方程精确解与差分方程精确解的差别

舍入误差$\varepsilon$: 差分方程精确解与实际计算机求得解的差别(计算机有浮点数误差,C++中double通常有效位数为15位左右,但其实可以实现高精,例如Python的Decimal库高精浮点能达到很高精度)

显然计算机解得的解 = 舍入误差 + 差分方程精确解,那么容易得出舍入误差满足差分方程

对于舍入误差,需要满足时间推进过程中不能增加,因此$|\frac{\varepsilon_i^{n+1}}{\varepsilon_i^n}|\le 1$,作出误差在边界范围内的图像后,发现他类似于随机分布的函数信号(边界处误差为0,因为条件已知),考虑对误差进行傅里叶展开,得到

考虑对于每个时间步都有此误差,所以误差也是时间$t$的函数,将振幅$A$视作指数函数增长/衰减,那么误差表示为:

由于误差为线性的,且级数每一项的变化趋势和级数本身相同,所以讨论这个误差函数的情况可以通过只研究其中一项的情况得到,从而可以只研究

最后,将误差代入一阶导热的差分方程,通过一顿操作和推导(过程中用到了欧拉公式和三角函数降幂公式),得到了稳定性条件:

可见,时间步$\Delta t$需要特别的小才能满足该条件

以上的分析法称为冯·诺依曼稳定性方法,通过此方法,可以得到一阶、二阶波动方程的稳定性条件:柯朗数小于等于1,这个条件被称为CFL准则

一/二阶波动方程为:

他们的稳定性条件都是:

后续

数值稳定性并不是说如果有一台无误差的计算机就不存在不稳定的现象,实际上可以广义地将数值解展开为傅里叶级数,然后用同样的冯诺依曼稳定性分析法得到对应的条件