吾生有涯 学海无涯
析模有界 知识无界

OpenFOAM|05 求解器文件结构

内容纲要

本文描述OpenFOAM中求解器与工具库代码组织结构。

1 求解器

OpenFOAM中的求解器代码位于文件夹$FOAM_SOLVERS中(默认为/opt/openfoam8/applications/solvers)。其中求解器按照物理模型进行归类,如下图所示。

以icoFoam求解器为例,该求解器为不可压缩层流瞬态求解器,其位于solvers文件夹下的incompressible子文件夹中。如下图所示,incompressible文件夹中包含了一些用于求解不可压缩流动的求解器,如icoFoam、simpleFoam、pisoFoam等。

icoFoam求解器中的文件结构如下图所示。(OpenFOAM中的求解器文件夹具有相同的结构)

文件夹中包含文件:

  • icoFoam.C:求解器的实际源代码
  • createField.H:声明所有场变量并进行初始化
  • Make/files:命名所有的源文件,指定输出文件的求解器名称及位置
  • Make/options:指定包含链接到求解器的文件与库的搜索目录

2 工具库

OpenFOAMg工具库路径为$FOAM_UTILITIES,默认安装时该路径为/opt/openfoam8/applications/utilities。该文件夹中中的子文件夹以工具用途进行归类,如用于网格操作的工具放置于mesh文件夹中,用于前处理的工具放置于preProcessing文件夹中。

以工具命令setFields为例,该工具用于前处理过程中为计算区域指定初始值。工具代码位于子文件夹preProcessing中。如下图所示,setFields文件夹中包含有一个源文件setFields.C以及Make文件夹,有的工具代码文件夹中还包含有头文件。

其中Make文件夹中的文件与求解器文件夹中Make里头的文件类似,主要用于指定代码编译过程中的一些选项参数。serFields.C文件为源代码,其中定义了工具的功能实现过程。

注:

在创建自己的求解器与工具时,通常将源代码拷贝到用户目录下进行修改及编译,这样可以防止污染OpenFOAM的代码。

本篇文章来源于微信公众号: CFD之道

赞(5) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《OpenFOAM|05 求解器文件结构》
文章链接:https://www.topcfd.cn/12086/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册