OpenFOAM修改湍流模型之后出现#duplicate entry的解决办法

OpenFOAM修改湍流模型之后出现#duplicate entry的解决办法

参考文章:
OpenFOAM-Duplicate Entry 解决办法link
如何在OF6中添加新的湍流模型? :link
主要流程和第二篇文章基本一致,因为在实际操作过程中遇到过一些博主也没有遇到的问题,所以从头到尾记录一下。
使用的平台是WSL的Ubuntu20.04,OpenFOAM版本是OpenFOAM-v8

  1. 首先拷贝文件
    因为一般来讲openfoam的源文件是被锁住的,不允许操作,所以首先进入root用户
    sudo -i
    输入密码
    找到MomentumTransportModels文件夹的位置,我这里是下边的地址。
    \wsl$\Ubuntu-20.04\opt\openfoam8\src\MomentumTransportModels
    然后复制到个人的文件夹中,具体复制方法随便查一下就有了。
    复制完成后是这样
    在这里插入图片描述
    我这里的界面是用”explorer.exe .“打开的,可以百度一下这个的含义,这里不过多赘述。

2.接下来是创建一个自己的湍流模型
这里以kEpsilon模型为例,在其中添上一点小小的输出
具体做法如下,找到MomentumTransportModels\momentumTransportModels\RAS文件夹,里边是RANS湍流模型的源文件,新建一个叫做kEpsilon_NEW的文件夹,将文件夹kEpsilon中的两个文件,kEpsilon.H和kEpsilon.C复制到kEpsilon_NEW文件夹中,改名为mykEpsilon.H , mykEpsilon.C,
打开.H .C文件,将所有kEpsilon关键词改为mykEpsion我这里的操作是通过文档的关键词替换功能实现的,这样不容易出错。在mykEpsilon.C文件中随便一个位置,只要不会报错,打上 Info << nl << “This is THE new turbulent model :mykEpsilon” << nl << nl;
至此,我们完成的新的湍流模型的创建。

3.创建软链接ln -s
回到上级文件夹MomentumTransportModels\momentumTransportModels,进入lnInclude文件,在该文件中输入
ln -s …/RAS/kEpsilon_NEW/mykEpsilon.H mykEpsilon.H
以及
ln -s …/RAS/kEpsilon_NEW/mykEpsilon.C mykEpsilon.C
就创建了两个文件的软链接,软连接的含义就是一个变化另一个也变化,如果想知道是否链接成功,就使用ls -l命令,看对应的文件是否有链接到位,像这样:
lrwxrwxrwx 1 zsz-linux zsz-linux 42 Jun 4 14:57 mykEpsilon.C -> …/RAS/kEpsilon_NEW/mykEpsilon.C
lrwxrwxrwx 1 zsz-linux zsz-linux 42 Jun 4 14:57 mykEpsilon.H -> …/RAS/kEpsilon_NEW/mykEpsilon.H
至此,链接成功。

4.修改创建库的位置和添加实例化
由于创建的是不可压的湍流模型,
在MomentumTransportModels\incompressible\kinematicMomentumTransportModels目录下,打开
kinematicMomentumTransportModels.C文件
添加上
// -------------------------------------------------------------------------- //
// RAS models
// -------------------------------------------------------------------------- //

#include “SpalartAllmaras.H”
makeRASModel(SpalartAllmaras);

#include “kEpsilon.H”
makeRASModel(kEpsilon);

#include “mykEpsilon.H”
makeRASModel(mykEpsilon);

返回到MomentumTransportModels\incompressible目录,打开Make文件夹的file文件,同样修改最后一行:
LIB = $(FOAM_USER_LIBBIN)/libincompressibleMomentumTransportModels
至此,一切准备就绪。

5.wmake
在MomentumTransportModels\incompressible目录下输入wmake

6.找个算例试试
找个使用kEpsilon湍流模型的案例,把constant中的momentumTransport文件中的湍流模型改为
simulationType RAS;

RAS
{
model mykEpsilon;

turbulence      on;

printCoeffs     on;

}

然后运行,如果有
This is THE new turbulent model :mykEpsilon
这句话,就代表成功,而且没有重复导入的错误。

如果想看会有报错的情况参考这篇文章:
教学兼求教:如何在OF5/6中初步修改一个湍流模型link

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
OpenFOAM是一个开源的计算流体力学软件,提供了多种湍流求解器和相应的案例。下面为你简要介绍一些常用的湍流求解器和相应的案例。 1. k-epsilon模型:k-epsilon模型是一种经典的湍流模型,适用于各种流动情况。其求解器在OpenFOAM中被命名为"turbulent"。案例包括湍流管流、湍流圆柱绕流等。 2. k-omega SST模型:k-omega SST模型是一种较湍流模型,结合了k-epsilon模型和k-omega模型的优点,适用于各种流动情况,特别是适用于近壁流动。其求解器在OpenFOAM中被命名为"RAS"。案例包括湍流平板边界层、湍流马赫数的圆锥绕流等。 3. Spalart-Allmaras模型:Spalart-Allmaras模型是一种基于单方程的湍流模型,相比于k-epsilon模型和k-omega模型更简单,计算速度更快。其求解器在OpenFOAM中被命名为"SpalartAllmaras"。案例包括二维及三维的湍流流动、风力机叶片湍流模拟等。 4. Large Eddy Simulation (LES):LES是一种直接模拟湍流的方法,不依赖于湍流模型,适用于高雷诺数情况。其求解器在OpenFOAM中被命名为"LES"。案例包括湍流合流、湍流绕流等。 这些求解器和案例只是OpenFOAM湍流求解的一部分,通过OpenFOAM的灵活性和可扩展性,用户能够根据具体问题的需求选择相应的湍流模型和求解器,进行湍流模拟和分析。同时,用户也可以根据需要开发自己的湍流模型和求解器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值