关于OpenFOAM矩阵求解器
-
@一二
碰巧最近搞了一点点矩阵求解器。绿之一二。
OpenFOAM里面的PCG就是CG求解器附加预条件(precondition)
PBICG就是bi-CG求解器附加预条件(precondition)当然我假想你应该不只是关心他们的名字。而是关心收敛速度。不过这我就不太明白了。暂时只是知道Gauss-Seidel迭代如果对角占优不是特别强,收敛会很慢。并且可以看出来,OpenFOAM里面全部使用了预处理。
另一种黑科技是多重网格求解技术,对于网格数量比较多的时候大大加速收敛,不过看起来不是我们讨论的内容。
有关矩阵求解器书籍推荐Yousf saad的书。不过要精通实在忒复杂。目前我也想知道BICG以及BICGStab算法之前收敛性以及稳健性的区别。
如果有看过相关对比的文献也多交流:sunglasses:
-
@cfd-china 在 关于OpenFOAM矩阵求解器 中说:
目前我也想知道BICG以及BICGStab算法之前收敛性以及稳健性的区别
我之前测试过bicg和bicgstab算法,测试的是迎风格式下对流扩散问题的求解,网格增多会加大求解的不稳定性,实际上bicgstab在一些情况下稳定性比bicg算法还差(具体什么情况我没有仔细对比过),但bicgstab没有比Bicg好到哪里去。
这方面方程组求解理论其实我并不懂,只是对着算法自己实现了而已,gauss算法还可以理解,那个简单,但我简单测试了下,bicg算法收敛速度是g-s速度的十倍左右。所以完全不靠谱。
至于你说的多重网格方法,那个应该是求解器里面的吧,而且对于复杂外形的求解,这个算法我觉得也不好设置,我在所有cfd教科书上都看到过,其实我不明白为什么这张内容会放在线性方程组求解那一章,或许我的理解有偏差。
你说的Yousf saad的书我准备看看,不找哪有下载的啊