BiCGSTAB法 — CAE用语解释
BiCGSTAB法
老师,在CFD求解器设置中看到BiCGSTAB这个词,这是什么缩写?这是什么方法?
Bi-Conjugate Gradient STABilized(双共轭梯度稳定化法)的缩写。CFD的Navier-Stokes方程离散化后成为非对称稀疏矩阵线性方程组,这是解决它的代表性迭代法之一。
非对称是指矩阵的$(i,j)$元素和$(j,i)$元素不相等吗?
正是这样。结构分析中刚性矩阵是对称的($K = K^T$),所以可以使用CG法(共轭梯度法)。但是在CFD中当加入流体的"对流项"时,矩阵就变成非对称的——因为流动有单向影响。BiCGSTAB就是为了处理这种非对称矩阵的方法,作为GMRES法的替代被广泛使用。
BiCGSTAB和GMRES哪个更好呢?
很难笼统地说,但从实际应用趋势来看——BiCGSTAB内存消耗少,易于并行化。GMRES收敛更稳定,但随着迭代次数增加,内存会线性增长(可以通过重启GMRES来避免)。OpenFOAM的smoothSolver和压力方程通常使用GMRES系列,速度方程常用BiCGSTAB系列。
前处理(预处理器)和它配合使用,那是什么呢?
预处理是为了加快迭代法收敛而进行的矩阵变换。例如使用ILU(不完全LU分解)预处理器,可以改善矩阵的条件数,加快收敛速度。BiCGSTAB单独使用可能需要百次以上迭代的问题,结合ILU预处理器可以在几十次迭代内收敛。OpenFOAM的GaussSeidel预处理器和Ansys的ILU也是基于同样的思想。
请教我相关的术语。
当CFD求解器设置中出现BiCGSTAB时,现在我理解它在做什么了!
在实际工作中,当在OpenFOAM的fvSolution中设置solver/tolerance/relTol时,如果理解为什么选择BiCGSTAB,这样在收敛困难时也更容易追踪原因。
CAE术语的准确理解是团队沟通的基础。 — Project NovaSolver着眼于支持实务工作者的学习。
下一代CAE项目:连接开发者和实务工作者
Project NovaSolver致力于在包括BiCGSTAB法在内的广泛分析领域中,充分发挥实务工作者的知识。我们还在探索中,欢迎有志之士与我们同行。
联系我们(筹备中)相关主题
帮助
更详细
错误