[关闭]
@gunshooter 2019-07-12T05:18:30.000000Z 字数 1273 阅读 784

迭代法

数值方法


静态迭代法(stationary iterative methods)

形如:


的迭代法,因其不随迭代步数变化,称为静态迭代法(stationary iterative methods)。最常见、最简单的的三种迭代法就属于这类:雅可比法(Jacobi method),高斯-赛德尔法(Gauss-Seidel method)和松弛法(successive relaxation method)。
由于这类方法很少使用,此处只列出分类,其余细节请见线性方程组(3)-静态迭代法

代数多重网格法(AMG)

一种改进过的静态迭代法被用于OpenFOAM,即AMG算法(Algebraic Multigrid , 代数多重网格法)[1]。该算法基于网格的概念设计出来,但本质上只是一种迭代求解线性方程组的方法而已。

关于这一算法的详细细节和实现,可以参考:

非静态迭代法

常用的求解方法几乎都是这一类。例如只能求解对称正定阵的共轭梯度法(CG)以及其多种改进。共轭梯度法的推导可从变分原理导出线性方程组(4)-变分原理与共轭梯度法

这一类方法在OpenFOAM中十分常见。数学上,这些方法都归属于Krylov space 方法。这一方法的说明如下[2]

Krylov space methods are characterised by iteration-dependent parameters and non-linear convergence behaviour and use preconditioning techniques to achieve convergence.

在OpenFOAM中真正使用的求解器应为AMG和CG的组合。

共轭梯度法

带稳定器的双共轭梯度法

(内容提要:eigen库中该方法的使用)


[1] OpenFOAM: A C++ Library for Complex Physics Simulations

此链接跳转较慢,本地文件存储于:
file:///E:/我的坚果云/openfoam与计算流体力学/基础文献/Jasak_Jemcov_Tukovic_OpenFOAM_C_library_for_complex_physics_simulations_2007.pdf
[2] OpenFOAM: A C++ Library for Complex Physics Simulations

此链接跳转较慢,本地文件存储于:
file:///E:/我的坚果云/openfoam与计算流体力学/基础文献/Jasak_Jemcov_Tukovic_OpenFOAM_C_library_for_complex_physics_simulations_2007.pdf
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注