Openfoam自定义求解器
1、求解器
1.1 复制源码
本案例以 icoFoam 为例,复制【openFOAM/OpenFOAM-9/applications/solvers/incompressible/icoFoam】文件夹至 run 文件夹下(我的是【openFOAM/mtl-9/run/solvers/incompressible】)

1.2 修改名称
将文件夹重新命名为【myIconFoam】
修改该目录下的文件名称,为了便于分辨是自己的求解器,在源代码里输出一些内容


1.3 修改 files
修改【Make/files】

注意:这里路径要改为【$(FOAM_USER_APPBIN)】,与之前【FOAM_USER_APPBIN】区别

1.4 编译
输入【wmake】

编译成功之后开始使用
2、使用
复制一份 cavity 案例
blockMesh 划分网格
myIcoFoam 求解

3、进阶
本案例修改 icoFoam 求解器,添加温度项。 \[\frac{\partial T}{\partial t} + \bigtriangledown \cdot (UT)-{\bigtriangledown }^2(D_{T}T)=0\]
3.1 修改源文件
添加以下代码,及上述方程

1 |
|
3.2 修改场文件
新增以下有关温度项的代码

1 |
|
3.3 编译
修改完成之后,【wmake】编译

3.4 使用
3.4.1 初始条件
复制 p 文件至 T,改变名称、单位、初始值和边界条件

3.4.2 自定义属性
复制 constant 里的文件【transportProperties】文件至 system,修改名称 myProperties

3.4.3 新增离散格式
新增 div(phi,T)的离散格式

3.4.4 新增求解项

3.4.5 求解
划分网格:blockMesh
求解:myIcoFoam

完成
Openfoam自定义求解器
http://example.com/2024/03/20/012 Openfoam自定义求解器/