我正在寻找用 Fortran 编写的用于模拟传热和流体流动的 Patankar 算法(例如 SIMPLE、SIMPLER、SIMPLEC 和 PISO)。
Patankar 的数值传热和流体流动算法
最好的办法可能是使用 J.Ferziger 和 M. Peric 的“流体动力学计算方法”一书中的代码,该书可从Springer ftp 站点获得。地点。在那里你会找到二维 Navier-Stokes 方程的 F77 代码。我建议从使用并置变量排列的 2dc 文件夹和 pcol.f 代码开始,而不是在 Patankar 的书中解释的交错排列。
我个人认为 Patankar 的书出现得太早了三年,因此它没有包括在 1983 年引入 Rhie-Chow 插值后启用的并置变量排列的有限体积方法版本。Patankar 还给出了基于顶点的中位数的草图-dual 方法,对于非结构化网格也非常重要,不详述。
我认为需要一本关于 FVM 的新书,从一开始就使用一般的非结构化单元,而不是使用将计算减少到类似于有限差分的方形单元。
我的建议——从上面的代码中学习,并尽快开始阅读论文。有很好的论文以全面和现代的方式解释流体流动的 FVM。
我推荐的参考资料是:
S. Muzaferija 和 D. Gosman,有限体积 CFD 过程和任意拓扑网格的自适应误差控制策略,计算物理学杂志,138,第 766-787 页(1997 年)(离散化过程,最小二乘单元中心梯度,自适应网格)
I.Demirdzic,S. Muzaferija,使用具有任意拓扑单元的非结构化移动网格进行耦合流体流动、传热和应力分析的数值方法,计算机。方法应用程序。机甲。Engrg, 125, pp.235-255 (1955)(这两篇论文都是由 CD-Adapco 人撰写的)
D. Kim, H. Choi,混合非结构化网格上非定常不可压缩流动的二阶时间精确有限体积法,JCP,162,pp.411-428 (2000)
M.Darwish, I. Sraj, F. Moukalled, 用于求解非结构化网格上不可压缩流的耦合有限体积求解器, JCP, 228, pp.180-201 (2009) (!!!)
F.-S。留置权,一种基于压力的全速流动非结构化网格方法,诠释。J.数字。冰毒。流体,33,pp.355-374 (2000)
SR Mathur 和 JYMurthy,基于压力的非结构化网格方法,数值传热,B 部分:基础,31(2),pp.195-215 (1997)(流利的人)
B. Basara,在任意非结构化网格上使用二阶矩湍流闭合,Int。J.数字。冰毒。Fluids, 44, pp. 377-407 (2004)(AVL-Fire\Swift 开发者)
H.Jasak、HGWeller 和 ADGosman,任意非结构化网格的高分辨率 NVD 差分方案,Int。J.数字。冰毒。Fluids, 31, pp. 431-449 (1999)(介绍对流项的 Gamma 差分方案,OpenFOAM 开发人员)
该列表可能会扩展到博士论文。在 OF 社区中,H. Jasak 的博士论文经常被引用并且是一本不错的读物。
如果还需要帮助,可以参考这个 Github https://github.com/xuaoxiqi/Computational-Fluid-Dynamics
它使用 SIMPLE 解决了盖子驱动的型腔流动,并且非常易于解释。