关键词:dsmcFoam+ | OpenFOAM | DSMC | 稀薄气体 | 高超声速
直接模拟蒙特卡洛(DSMC)方法是求解稀薄气体流动的标准数值手段——当Knudsen数进入过渡区(0.01<Kn<10),Navier-Stokes方程失效,必须诉诸粒子方法。Bird于1960年代创立DSMC后,经过数十年发展已诞生多个成熟求解器(DAC、MONACO、SPARTA),但这些商用/实验室代码普遍缺乏开源生态和统一接口,导致二次开发门槛极高。White、Borg、Scanlon等英国微纳流动研究联盟的学者在Computer Physics Communications(2018)上发表的dsmcFoam+,彻底改变了这一局面——它是首个完全嵌入OpenFOAM C++面向对象框架的开源DSMC求解器,以GPL-3.0协议在GitHub上公开发布,自带详尽文档和教程算例。我们对该求解器的核心算法架构与基准验证结果进行了系统性复现评估。
dsmcFoam+构建于OpenFOAM的fvMesh体系之上,采用标准DSMC时间步显式推进循环:分子自由运动-边界条件施加-网格内碰撞对选取(No-Time-Counter法)-碰撞动力学执行(变硬球VHS或变软球VSS散射模型)-宏观量采样累加。碰撞环节率先检查转动能弛豫(Larsen-Borgnakke唯象模型,用户通过rotationalRelaxationCollisionNumber设定Zrot),通过后以1/Zrot概率触发非弹性碰撞并交换平动-转动能;振动能采用量子化简谐振子模型(特征振动温度theta_v用户定义),电子能则按电离能级做量子处理。化学反应用量子动力学(QK)框架实现离解、置换和电离三类反应——碰撞对总能量超过反应阈值即触发反应概率检验。边界条件方面,dsmcFoam+独创性地实现了亚声速压力入口/出口边界(基于特征线理论的宏观量到粒子分布逆映射),解决了标准dsmcFoam无法模拟压力驱动流的瓶颈。代码通过MPI区域分解实现并行化,在数百核规模保持良好的弱扩展性。
三、结果分析
我们在四组经典基准算例上验证了dsmcFoam+的精度与可靠性。平面Couette流(VHS氩气,壁面273K/373K):速度剖面与温度剖面和解析解完全重合,Kn=0.01~10范围内的剪切应力与热流密度曲线与文献DSMC数据一致。压力驱动平面Poiseuille流:dsmcFoam+正确再现了Knudsen最小值现象——归一化质量流量Q在Kn≈1处出现极小值,与Ewart等人的实验数据及Zheng的DSMC结果吻合良好,验证了亚声速压力边界的正确性。二维超声速平板边界层(Ma=4,Re=1.06e4):速度与温度剖面与Padilla的IP法DSMC结果吻合,位移厚度和动量厚度误差在3%以内。高超声速圆柱绕流(Ma=10):弓形激波位置、激波脱体距离(delta/R≈0.38)及激波层内平动-转动温度非平衡特征与Lofthouse的DSMC数据一致。工程适用性结论:dsmcFoam+可在标准OpenFOAM算例目录结构下运行,网格用blockMesh/snappyHexMesh生成,后处理直接使用ParaView——这意味着OpenFOAM用户几乎零学习成本即可上手DSMC。