Scientific Computing, aka numerical PDE.

Finite Difference Method

有限差分法 能用显式方法处理三维/二维问题,但是基于数值稳定性的考虑,时间步长不得不选为空间步长的平方量级。以计算的时间尺度考虑,显示方法还不如隐式方法快。

Finite Volume Method

有限体积法 能处理三维问题,但是黎曼求解器或者近似黎曼求解器的方法行不通,因为二维、三维的黎曼问题没有解析解。已有的处理方法是考虑reconstruction(用直观方法构建基本单元,结果与benchmark problems吻合得比较好),或者作split(三个维度依次求解)。

在正交网格里,有限体积法与有限差分法没有区别。在不规则网格里,事实上只有,且一直都用着有限体积法。【真的么?】——龚斌

Finite Element Method

Other Methods

Lattice Boltzmann Method

Lattice Boltzmann Method

Notes

数值计算应当从处理简单的模型逐步发展到处理复杂的、实际的模型,否则没法应用科学计算的知识分析计算结果,从而不能判定计算结果的质量或分析错误因素。

Stencil

对于流动问题(双曲型方程),用于离散化导数的stencil(模板)需要特别选择;而对于热方程则很随意。因为对于双曲型方程,波是单向传播的,stencil的方向取反了,会导致误差积累,最终导致数值不稳定或者数值误差。而对于传导方程,信息是双向传播的,stencil无论取哪边,总是会得到所有的信息。

我还没有看到过stencil在有限体积法中的体现,此前的迎风格式、黎曼求解器、近似黎曼求解器都不曾刻意的选取stencil。

迎风格式就是在刻意的选择stencil的方向,即取在信息传来的方向。高精度解法中的limiter将点取在函数光滑的一侧,也是在可以选取stencil。ENO、WENO重构函数时刻意的选取了插值点的位置,也是主动选择stencil的体现。

迎风格式并不仅仅针对线性对流方程。虽然其他问题没有直接提起迎风格式,但迎风格式本质上可以理解为将离散点取在信息传来的方向。双曲型问题一定要用迎风格式,因为流动问题的信息传播是单向的。

References