fvCFD.H代码解读

    技术2022-07-11  103

    fvCFD.H:有限体积库相关的所有头文件的集合,这些头文件的功能在对应文件的Description 都有描述,现整理分析如下;

    #ifndef fvCFD_H // if not define,避免重复定义 #define fvCFD_H // 开始定义该头文件 #include "parRun.H" //用于初始化参数,指导并行运算 #include "Time.H" //时间类 #include "fvMesh.H" //进行有限体积离散所需的网格数据 #include "fvc.H" //计算显式导数的函数名称空间(explicit) #include "fvMatrices.H" //fvMatrix类,用于求解标量场矩阵 #include "fvm.H" //计算隐式导数的函数名称空间(implicit) #include "linear.H" //中心差分格式(线性插值) #include "uniformDimensionedFields.H" //量纲 #include "calculatedFvPatchFields.H" #include "extrapolatedCalculatedFvPatchFields.H" #include "fixedValueFvPatchFields.H" #include "zeroGradientFvPatchFields.H" #include "fixedFluxPressureFvPatchScalarField.H" #include "constrainHbyA.H"//更正通量边界条件,使之满足一定条件,如:动量守恒 #include "constrainPressure.H"//更正压力边界条件,使之满足一定条件,如:通量守恒 #include "adjustPhi.H" //对于没有压力边界的情况,调整通量平衡以遵守连续性。如果域已关闭,则返回该域。 #include "findRefCell.H" //查找与给定单元格最近(在索引中)但不在循环、对称或处理器补丁上的引用单元。 #include "IOMRFZoneList.H"//具有IO功能的MRF区域列表。MRF区域由字典条目列表指定 #include "constants.H" //常数字典,如`pi`、e等 #include "OSspecific.H" //OpenFOAM使用的特定于POSIX兼容操作系统的功能,需要在其他系统上进行替换或模拟 #include "argList.H" //从提供的`argc`和`argv`中提取命令参数及选项,用于创建算例根目录 #include "timeSelector.H" //时间选择器,用于选择时间的scalarRange列表。 #ifndef namespaceFoam #define namespaceFoam using namespace Foam; //根据需要定义函数名称空间为 `Foam` #endif #endif //#endif:#if, #ifdef, #ifndef这些条件命令的结束标志,配套使用

    补充说明:

    MRF区域字典条目列表: \verbatim zone1 { cellZone rotor1; active yes; ... } zone2 {

    2.fvPatchField,边界条件的派生,是记录定义在网格体中心(cell center)的变量(比如U)在计算域边界上的值。fvsPatchField是记录定义在网格面中心(face center of cell)的变量比如phi,在计算域边界上的值。`这部分查阅到的资料比较少,有清楚的大牛希望可以留言给个解答,在此先行谢过。

    3.这一部分的fvMesh.H、fvc.H、 fvm.H三个文件决定了有限容积的稀疏矩阵类定义的一般形式,具体可参考OpenFOAM中的神奇方程定义方式的背后

    Processed: 0.012, SQL: 9