组成
如图
OFtutorial0.C
fvCFD.H
在OpenFOAM中,所有代码都以注释段开头,使用有限体积的 CFD 类型文件都包括头文件fvCFD.H
,该文件包含类或函数的定义,函数的内容会在运行时以动态形式调用。
在fvCFD.H
中,为了避免被多次引用,定义了如下宏变量
# ifndef fvCFD_H
# define fvCFD_H
……
#endif
当头文件已经引用过后,ifndef
判断返回 0,此时文件内直到#endif
命令之间内容全部不会被再次引用。
其中
#ifndef namespaceFoam
#define namespaceFoam
using namespace Foam;
#endif
定义了命令空间 Foam,在包含的库中所有的函数声明都属于命令空间 Foam,因此在调用库函数时必须使用。
setRootCase.H
作用
- 检查基本的文件夹结构,确定有control dict等文件存在
- 处理parsing command line arguments and options
- 通过外部程序运行,位于$FOAM_SRC/OpenFOAM/include
Make
组成
files
OFtutorial0.C#指定源文件
EXE = $(FOAM_USER_APPBIN)/ofTutorial0#指定生成的可执行文件存放的位置
options
#EXE_INC用于指定编译器在查找头文件时该搜索的目录,包含了-I选项
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \#该目录包含了finiteVolume库所需的头文件
-I$(LIB_SRC)/meshTools/lnInclude#该目录包含了meshTools库所需的头文件
#EXE_LIBS用于指定链接器在生成可执行文件或库时应该链接的库(通常会去掉前缀lib和后缀.so),包含了-l选项
EXE_LIBS = \
-lfiniteVolume \
-lmeshTools
Allwmake
仅含编译命令
Allwclean
仅含解构命令