icoFoam求解器下的Make文件夹

Make文件夹是OpenFOAM特有的,里面主要包含两个文件files和options;

files用来指定OpenFOAM顺序进行编译的文件名称以及路径;

options用来指定OpenFOAM需要调用的外挂库的路径以及名称;

首先查看options文件,其代码如下:

EXE_INC = \
//有限容积法头文件存放文件夹路径
    -I$(LIB_SRC)/finiteVolume/lnInclude \ 
//网格工具头文件存放文件夹路径
    -I$(LIB_SRC)/meshTools/lnInclude

EXE_LIBS = \
//需要链接的库
    -lfiniteVolume \ 
    -lmeshTools

几点注意事项:
1.每个文件夹路径的前面都有一个-I 的标签,在 EXE_INC 之后以及每个文件路径后需要使用 \ ,最后的文件路径后没有 \ 。
2.文件夹路径必须正确,否则进行编译时会因为找不到头文件而报错
3.库文件路径使用-L 标识符指定,库名称使用-l 标识符指定,其基本形式如下图所示:

LIB_LIBS = \ -L<libraryPath1> \
    -l<library1> \
    -l<library2> \
    ... \
    -l<libraryN>

4.当库文件不在默认路径$FOAM_LIBBIN下才需要指定库文件路径

接下来分析files文件:

icoFoam.C

EXE = $(FOAM_APPBIN)/icoFoam

Make/files 中必须指定完整的以.C 为后缀的文件列表。许多程序的文件列表只有主程序的文件名。例如,我们之前的例子的文件列表中只有 icoFoam.C

Make/files 文件包含了需要进行编译的程序全路径以及名字(用 *EXE =* 来指定)。标准做法是使用求解器的名字,这里我们使用 icoFoam。OpenFOAM 提供了两种可选的路径,一个是标准的路径,编译好的求解器存储在$FOAM_APPBIN 中;另一个是用户自己的路径存储在$FOAM_USER_APPBIN

以上内容参考了https://www.jianguoyun.com/p/Db9X08cQ9s3ZBhjMtpwC

你可能感兴趣的:(icoFoam)