OpenFOAM仿真文件是一个目录,其中包含存储在不同子目录中的一组文件。一些文件用于配置和控制仿真,其他文件用于存储生成的仿真数据。通常,OpenFOAM模拟案例的基于文件的组织相对简单易用:可以使用文本编辑器轻松编辑配置文件。使用基于文件的组织还有一个优点:可以轻松地参数化仿真。
使用icoFoam不可压缩Navier-Stokes求解器使用的方腔顶盖流教程案例解释了OpenFOAM案例(模拟)的标准组成。图3.1显示了型腔设置的示意图。
Case目录中存在icoFoam不需要的其他输入文件,它们由预处理实用程序使用。通常,所需输入字典的数量随着求解器复杂性的增加而增加。
下面的方腔案例的子目录列表显示了模拟文件的组织方式:
?> cd $FOAM_TUTORIALS/incompressible/icoFoam/cavity
?> ls *
0:
p U
constant:
polyMesh transportProperties
system:
controlDict fvSchemes fvSolution
0、constant和system目录是OpenFOAM模拟案例必须包含的标准目录。0目录保存应用于物理场的初始条件和边界条件。特定求解器使用的每个物理场都由一个以该物理场命名的文本文件表示。对方腔案例的问题,模拟中使用的场是压力场和速度场,这些场的定义如第3.2节所示。
随着模拟的进行,求解器应用程序将结果模拟数据写入案例目录的新子目录。这些目录就是所谓的时间步目录,该目录中的文件是根据模拟时间值命名的。它们不仅包含已在0/目录中定义的那些物理场变量,还包含解算器的辅助变量,如体积通量phi
。
尽管icoFoam求解器使用压力p场和速度U场的初始值开始模拟,但FVM在方程离散过程中会使用体积通量场(Phi)(有关详细信息,请参见第1章)。因此,时间步长目录将保存由求解器应用程序计算的体积通量场phi。
除了时间点目录之外,还可以写入其他模拟数据:
- 通过求解器应用程序(如体积通量phi)
- 通过通过与求解器一起运行的function object
- 在模拟完成之后,作为后处理的结果
Constant目录存储整个模拟过程中保持不变的模拟数据。这通常包含polyMesh子目录中的网格数据,以及各种配置文件:
transportProperties
。输运数据turbulenceProperties
。湍流模型数据dynamicMeshDict
。动网格控制数据
并非所有上述配置文件都存在于方腔实例的constant目录中。缺少的是icoFoam不需要的turbulenceProperties字典。需要提供哪些附加字典,这取决于选定的求解器应用程序。如果在缺少必要输入数据的情况下在案例目录中执行求解器,则会向用户提示错误消息,通知用户缺少或定义了错误的字典、字典参数或物理场变量。
如果求解器应用程序使用了动态网格功能,若网格节点位置或网格拓扑发生更改,则新的polyMesh文件夹也会写入每个时间点目录。第13章讨论了OpenFOAM的动态网格功能。
OpenFOAM中的配置文件通常称为字典文件,甚至简称为字典。这种命名是由于它们在源代码中的使用,源代码基于IODICTIONARY类。
这些方法见第1章。它还可能包含用于配置不同预处理和后处理应用程序(如设置字段)的字典。system目录中最重要的字典是controlDict,其控制与解算器运行时间相关的所有参数,以及将求解数据写入到case目录的频率。controlDict中定义的所有参数与用于模拟的求解器无关。有关使用controlDict控制模拟运行的更多信息,请参见第3.4节。[5]对controlDict中的参数进行了相当广泛的讨论,第3.4.1节对其中一些参数进行了解释。