ToB企服应用市场:ToB评测及商务社交产业平台

标题: OpenFoam——自定义求解器 [打印本页]

作者: 泉缘泉    时间: 2023-6-14 01:15
标题: 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. fvScalarMatrix TEqn
  2. (
  3.     fvm::ddt(T) + fvm::div(phi, T) - fvm::laplacian(DT, T)
  4. );
  5. TEqn.solve();
复制代码
3.2 修改场文件

新增以下有关温度项的代码

[code]IOdictionary myProperties // 新增一个myProperties项(    IOobject    (        "myProperties",        runTime.system(), // 存储在system文件夹下        mesh,        IOobject::MUST_READ_IF_MODIFIED,        IOobject::NO_WRITE    ));dimensionedScalar DT // 定义一个变量DT,从myProperties中获取(    "DT",    myProperties.lookup("DT"));Info




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4