教学兼求教:如何在OF5/6中初步修改一个湍流模型

本文旨在讨论如何在OF源代码的基础上,修改一个湍流模型,修改的范围局限于参数调整.以修改kEpsilon模型为例.目前尚不知如何增减方程的内容.在我学习过程中,得到了坛友 @chnrdu 的无私帮助.在此表示感谢.同时也希望各位能在这个帖子下提供更多的扩展和讨论

正文如下:

总的来说有几个步骤:

1.复制原始模型到你的工作目录

2.修改编译配置,修改模型

3.编译

一 准备原始模型

首先,在终端在定位到你的工作目录,然后执行以下操作(如果你不熟悉命令行操作,也可以按注释进行图形界面的操作)

#从$FOAM_SRC/TurbulenceModels/turbulenceModels/RAS/ 中复制kEpsilon文件夹并改名为mykEpsilon
cp  -r $FOAM_SRC/TurbulenceModels/turbulenceModels/RAS/kEpsilon mykEpsilon   
# 进入你新建的文件夹
cd mykEpsilon 
# 将文件夹中的kEpsilon.H命名为mykEpsilon
mv kEpsilon.H mykEpsilon.H 
# 将文件夹中的kEpsilon.C命名为mykEpsilon
mv kEpsilon.C mykEpsilon.C 
# 复制 $FOAM_SRC/TurbulenceModels/incompressible中的Make文件夹到你的工作目录
cp -r $FOAM_SRC/TurbulenceModels/incompressible/Make/ .  

cp -r $FOAM_SRC/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.C maketurbulentTransportModels.C

二 修改编译配置

在前述操作中,你从OpenFOAM的源文件中复制了一个名为turbulentTransportModels.C

的文件,并将其命名为

maketurbulentTransportModels.C

现在打开该文件,仅保留第一个#include声明及第一个宏命令,其余内容全部删除,并添加下述内容:

#include "mykEpsilon.H"
makeRASModel(mykEpsilon);

修改完成后的文件如下所示

%E5%9B%BE%E7%89%87
接着你应当修改Make文件夹下的files文件

首先打开这个文件,并清空里面的内容,并加入如下代码,最后保存退出

maketurbulentTransportModels.C

LIB = $(FOAM_USER_LIBBIN)/libmyincompressibleTurbulenceModels

如下图所示

对Make文件夹下的options作如下操作

清空该文件原始内容,并添加如下代码,保存退出.

EXE_INC = \
    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
    -I$(LIB_SRC)/transportModels \
    -I$(LIB_SRC)/finiteVolume/lnInclude \
    -I$(LIB_SRC)/meshTools/lnInclude \

LIB_LIBS = \
    -lincompressibleTransportModels \
    -lturbulenceModels \
    -lfiniteVolume \
    -lmeshTools

如下图所示

三 修改模型内容

修改的目标是把两个原始的模型文件kEpsilon.H kEpsilon.C(现在已分别命名为mykEpsilon.H mykEpsilon.C)里的kEpsilon替换为mykEpsilon.
并把你要修改的参数进行修改,我修改了了sigmaEps,使其从1.3变为1.11
%E5%9B%BE%E7%89%87
最后编译wmake即可生成新的湍流模型

1 Like

单纯修改参数的话,没必要

1 Like

如果是演示/教学性的,还是可以的,熟悉下流程。

鼓励一下。

有更好的教程推荐吗?在OF6上能用的