前言
OpenFOAM是一款优秀的开源流体计算软件,十分适合学习以及二次开发。本文针对OpenFOAM动态加密网格的平衡问题,分享前人解决方法,希望可以帮助到CFD工作者。
一、为什么需要OpenFOAM网格动态平衡?
OpenFOAM应用中经常用动态加密网格策略,这样在节省一部分计算量的同时保证网格分辨率,OpenFOAM已经自带相关算法和案例,本文略过。但网格动态加密随之带来并行计算时发生负载失衡问题,即某计算节点可能处于流场剧烈变动区域需要使用大量网格来加密,造成局部节点负荷偏大,使得并行计算效率降低。此时,需要在计算实时根据节点负荷,重新分配节点网格数量,即负荷平衡。针对此问题的描述详细可见Daniel Rettenmaier文章,链接见https://doi.org/10.1016/j.softx.2019.100317。本文对Rodrigo Gomez Vazquez的工作进行学习记录,该工作基于OpenOFAM5.x实现了负荷平衡库的开发,生成libdynamicRefineBalancedFvMesh库,供求解器链接使用。下面将介绍具体的编译使用步骤。
二、使用步骤
1. github下载源码
Rodrigo Gomez Vazquez的库代码适用于OpenFOAM5.x版本及以上,代码链接: