OpenFOAM字典文件结构解析

OpenFOAM是一个完全由C++编写,用户群体绝大多数在Linux系统下运行,按照面向对象思想编写的计算流体力学(CFD)类库,跟商用的CFD软件Ansys Fluent,CFX类似,但其是开源的。我们也遇到了很多基于OpenFOAM或其优化版本做开发的用户,面对内容和分类繁多的字典文件,难免会顾此失彼或者不得要领。

因此,小编从四个方面总结了基于OpenFOAM开发常用的一些字典文件及其内容解释,希望能够给读者带来统筹的全面的理解。

1、字典文件整体结构

OpenFOAM算例的所有文件都存储在算例目录中,目录名为算例名。以某一算例为例,典型算例目录下通常包含以下文件/文件夹:

0.org初始物理场文件,包括各个物理场初始的数据和边界条件等信息。根据迭代步数或时间步数的增加,会生成类似0.1、0.5等更多的时间步文件夹,每个文件夹包括的物理场的文件类型都是一样的,区别在于后续文件夹中一些场数据会有变化。

constant:包含有网格文件、几何文件、物理特性文件(湍流模型、热物理属性、重力等),每个文件都定义了各自的参数。

system:主要包含多个求解算法参数文件。如网格参数控制、求解时间控制、离散格式、求解器设置等。

case.foam、cleanCase、runCase:这些文件主要是一些脚本及启动文件,如基于现有的定义生成网格文件时,通过写脚本的形式调用OpenFOAM的网格生成程序,借用网格生成参数控制生成网格文件。

0.org初始物理场系列文件。0文件存放初始条件和边界条件。

不同的算例求解需求会包含不同的物理场文件,本文以上图中的速度场U文件为例。

文件中都会采用统一的量纲,指定每个边界的状态等,本文件为U,速度场文件,故边界上的值对应为速度(m/s)。


constant:网格文件夹、几何文件夹、物理特性文件

polyMesh:存储算例网格文件,包括点、面、单元、边界等信息。网格文件在执行计算前通过调用网格生成程序生成,网格控制参数存储在system中的相关文件中。最开始文件夹为空,在模型定义的时候不需要做定义的。

triSurface:存放案例中所用到的所有stl几何文件。其它文件通过stl文件名、solid名来实现参数关联。

g:重力场的定义参数。

turbulenceProperties:任何包含湍流的求解器都会读取此字典文件,文件中关键词simulationType定义湍流模型RAS(雷诺平均模型)或LES(大涡模拟)作为湍流模型属性,或者laminar不使用湍流模型。

RANSProperties:RAS湍流模型参数。湍流模型选择LES时为LESProperties。两文件也可以都存在,只要根据turbulenceProperties定义的湍流模型能够找到相对应的文件即可。

thermophysicalProperties:热模型属性,可压缩时为thermopysicalProperties不可压缩时为transportProperties。


system:网格参数、求解控制、求解器参数。

blockMeshDict:此字典文件为blockMesh网格生成程序需要的参数设置文件,规定了网格参数及边界设置。

iconHexMeshDict:全局网格设置、边界网格设置(对stl solid的详细网格参数)、体网格加密等。

controlDict:关于求解开始时间、迭代步数、输出间隔、输出场等的控制。

decomposeParDict:并行参数,包括如何划分并行域等内容。

fvOptions:旋转域、多孔介质设置。

fvSchemes:离散格式。

fvSolution:求解器设置。

2、物理模型

turbulenceProperties:在目录constant/turbulenceProperties中。

文件中会定义RASModel或LESModel两种湍流模型的模拟方式。

选用RAS时,在RASModel可以选择湍流模型类型,并针对模型所需的参数在下方进行定义。如果使用到多种湍流模型类型,可以在文件中一并写出同类型的参数,只要当前定义的模型能够找到相应的参数即可。

同理选用LES时,参数的调整都在文件中进行。

thermophysicalProperties(可压缩热模型):在目录constant/thermlpysicalProperties中。

文件中包含对流体材料属性、状态方程和浮升力的参数设置。

transportProperties(不可压缩热模型):在目录constant/transportProperties中。

文件中包含对流体材料属性、牛顿流体和浮升力的参数设置。

可压缩thermopysicalProperties和不可压缩transportProperties之中,包含的内容都是相近的。

g:在目录constant/g中。

文件中包含重力场量纲和值。

3、网格设置

iconHexMeshDict(自动块网格):在目录system/iconHexMeshDict中。

在自动块网格中,包含自动划分网格所需的网格尺寸和网格加密级别。

当autoBlockMesh选择为false时,会选用blockMeshDict的信息。

blockMeshDict:在目录system/blockMeshDict中。

blockMeshDict中主要包括“体的顶点坐标”和“网格划分数目”的定义。Hex表示的六面体,(0 1 2 3 4 5 6 7)表示图形的顶点编号。

iconHexMeshDict(包含全局网格和边界网格设置):在目录system/iconHexMeshDict中。

文件中需要重点关注网格加密、近壁层网格、keepPoints设置和网格尺寸缓冲层等内容,可用于全局网格的设置。

在同一个文件中,还包含边界网格和网格加密的设置内容:

文件中的内容实际上是将网格的参数与几何进行关联,几何的每一个区域都由相关的网格参数来控制。

对于网格加密,一般会对应网格单元区的生成和体网格加密,两者一般同时生成,不会分开定义。网格单元区可用于MRF、多孔介质等的定义。

在以上网格参数数据的基础上,导入stl文件,调用OpenFOAM中的网格生成程序,就可以生成网格了。

4、条件设置

在边界条件文件夹下包含多种物理场,每个物理场都有相对应的文件。文件形式也是指定某stl文件中的某solid边界的类型。此处以初始边界条件中的速度入口、压力出口为例:

左图中对某个solid定义了速度边界,则这个solid的其它物理场会有一个默认的类型。如右图所示,为这个solid的压力场默认边界。

以上是基于OpenFOAM进行前后处理集成封装时,对字典文件的一些理解和阐述,希望能够帮助您了解软件文件的信息内容和存放位置。

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FastCAE2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值