OpenFOAM中的不可压缩湍流流动求解器turbFoam的说明
(2009-05-04 21:28:43)
本文谈谈OpenFOAM不可压缩湍流流动求解器turbFoam的实现细节。
(1)
求解器位置:applications/solvers/incompressible/turbFoam
(2) 求解器文件夹结构
|-Make
|
|-options
|
|-files
|-createFields.H
|-turbFoam.C
(3) 求解器功能
任意不可压缩湍流流动,湍流模拟采用雷诺时均方法
(4) 文件说明
1.options
//编译选项,用于指定编译用到的头文件位置及其动态库
//文件内容
#用到的头文件文件夹
EXE_INC = \
#雷诺是均湍流模型头文件
-I$(LIB_SRC)/turbulenceModels/RAS \
#传输模型头文件,牛顿流体或者非牛顿流体选择。
-I$(LIB_SRC)/transportModels \
#有限容积方法头文件
-I$(LIB_SRC)/finiteVolume/lnInclude
#用到的动态连接库
EXE_LIBS = \
#不可压缩雷诺时均模型库
-lincompressibleRASModels \
#不可压缩传输模型库(牛顿流体传输模型和非牛顿流体传输模型)
-lincompressibleTransportModels \
#有限容积库
-lfiniteVolume \
#网格相关工具库
-lmeshTools
2.files //用于指定当前要编译的文件,这里不包含头文件,都是*.C文件。
//文件内容
turbFoam.C //主文件
//编译后求解器的名字和存放位置
EXE = $(FOAM_APPBIN)/turbFoam
3.createFields.H //创建场
//提示,并创建压力场,各项意义,参看本站博文“OpenFOAM>>solver>>basic>>potentialFoam的说明”
Info<< "Reading field p\n"
<< endl;
volScalarField p
(
IOobject
(
"p",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
//提示,并创建速度场,各项意义,参看本站博文“OpenFOAM>>solver>>basic>>potentialFoam的说明”
Info<< "Reading field U\n"
<< endl;
volVectorField U
(
IOobject
(
"U",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE