OpenFOAM波浪学习记录

本文介绍了在OpenFOAMv2112中对波浪算例进行后处理以及如何添加和编译新的湍流模型的过程。涉及的工具包括olaFLOW和interfaceHeight,用于波高监测和湍流模拟。文章详细阐述了创建新模型的源文件、编译文件和Make文件的步骤,并展示了如何在控制字典中启用新模型。
摘要由CSDN通过智能技术生成

OpenFOAM波浪算例后处理与添加湍流模型

OpenFOAM版本:OpenFOAM v2112
造波工具
olaFLOW: olaFLOW官网
olaFLOW_github
olaFlow_supplementary
波高时程监测
interfaceHeight:interfaceHeight
参考网站
cfdonline:significant wave height dissipation
关于雷诺平均纳维-斯托克斯模型中表面波下湍流的过度产生:Larsen.2018 代码: Github1
浮力修正湍流模型Dovolder.2018 代码:buoyancyModifiedTurbulenceModels
其余OpenFOAM添加更改湍流模型代码:
GitHub2
GitHub3
OpenFOAM8 添加和修改湍流模型
How to add a turbulence model

相关算例设置

感谢用户ou_no
该用户发布了足够多的波浪算例,并分别讲解了各算例的相关设置,可供参考。

interfaceHeight

interfaceHeight1
{
    // Mandatory entries (unmodifiable)
    type            interfaceHeight;
    libs            (fieldFunctionObjects);

    // Mandatory entries (runtime modifiable)
    locations       ((0 0 0) (10 0 0) (20 0 0));   //监测点坐标

    // Optional entries (runtime modifiable)
    alpha           alpha.water;
    liquid          true;
    direction       (1 0 0);     //重力方向 与constant/g一致
    interpolationScheme    cellPoint;

    // Optional (inherited) entries
    writePrecision  8;
    writeToFile     true;
    useUserTime     true;
    region          region0;
    enabled         true;
    log             true;
    timeStart       0;
    timeEnd         1000;
    executeControl  timeStep;          
    executeInterval 1;
    writeControl    timeStep;      //后处理结果输出为一个时间步
    writeInterval   1;
}

最后会输出如下格式:
在这里插入图片描述

添加湍流模型(OpenFOAMv2112)

在OpenFOAM/OpenFOAM-v2006/src/TurbulenceModels/turbulenceModels下创建所要添加的文件(这里以stabRAS为例)
文件下载链接:Github1
由于该文件是基于OpenFOAM v1712版本编写,所以后续需要更改。
在这里插入图片描述
stabRAS文件下设置如下:
在这里插入图片描述

源文件

红色部分为需要更改的湍流源文件(以KOmegaSSTStab为例),结构如下:
KOmegaSSTStab.H与KOmegaSSTStab.C
文件具体内容可以自行参考各文献编写或在github上找
在这里插入图片描述

编译文件

绿色部分为编译文件

makeTurbModel.C

/OpenFOAM/OpenFOAM-v2006/src/TurbulenceModels/incompressible/turbulentTransportModels/turbulentTransportModels.H
将该文件复制到stabRAS下,然后更改为合适的文件名,这里更改为makeTurbModel.C


#include "turbulentTransportModels.H"

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

makeBaseTurbulenceModel
(
    geometricOneField,
    geometricOneField,
    incompressibleTurbulenceModel,
    IncompressibleTurbulenceModel,
    transportModel
);

// -------------------------------------------------------------------------- //
// RAS models
// -------------------------------------------------------------------------- //

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

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

// -------------------------------------------------------------------------- //

// ************************************************************************* //

在下方添加所要添加的湍流模型。这里以KOmegaStab与KOmegaSSTStab为例。
至此,该文件添加完毕。

make文件

复制/OpenFOAM/OpenFOAM-v2006/src/TurbulenceModels/incompressible下的make文件夹到stabRAS下。

Make/files 文件
makeTurbModel.C

LIB = $(FOAM_USER_LIBBIN)/libstabRASModels

第二行要指明编译后的库存放的位置,注意要和OpenFOAM源代码的存放位置有所区分。
且,后续使用该湍流模型,需要在controlDict下添加

libs
(
	"libstabRASModels.so"
);
Make/options 文件
EXE_INC = \
    -I../turbulenceModels/lnInclude \
    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
    -I$(LIB_SRC)/transportModels \
    -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
    -I$(LIB_SRC)/finiteVolume/lnInclude \
    -I$(LIB_SRC)/meshTools/lnInclude

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

OpenFOAM/OpenFOAM-v2006/src/TurbulenceModels/turbulenceModels/stabRAS文件下:

wmake libso
测试

打开任意算例,更改其湍流文件。任意更改RASModel,如kkkk

simulationType RAS;

RAS
{
    RASModel        kkkk;

    turbulence      on;

    printCoeffs     on;
}

出现如下错误提示:

--> FOAM FATAL IO ERROR: 
Unknown RASModel type kkkk

Valid RASModel types :

21
(
LRR
LamBremhorstKE
LaunderSharmaKE
LienCubicKE
LienLeschziner
RNGkEpsilon
SSG
ShihQuadraticKE
SpalartAllmaras
kEpsilon
kEpsilonLopesdaCosta
kEpsilonPhitF
kOmega
kOmegaSST
kOmegaSSTLM
kOmegaSSTSAS
kOmegaSSTStab        //成功添加
kOmegaStab
kkLOmega
qZeta
realizableKE
)

发现湍流模型KOmegaSSTStab添加成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值