OpenFOAM编译配置文件Make

本文详细介绍了如何在Makefile中管理files和options文件,以编译和在求解器中调用TurbulenceMultiphaseOlaFlowModels库,包括设置头文件路径、链接库文件以及在控制文件中引用库的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.files文件

2.options文件

3. 编译库

4.如何在求解器里调用编好的库

5.算例使用


Make文件下主要包含files文件和options文件

  • files        按行存储所有源代码文件名,最后一行用来指定目标代码EXE的名称和存放位置
  • options  设定查找头文件和库的路径EXE_INC和需要链接的库EXE_LIBS

1.files文件

makeMultiphaseTurbulenceModel.C

LIB = $(FOAM_USER_LIBBIN)/libturbulenceMultiphaseOlaFlowModels
  • 其中,通过关键字$(FOAM_LIBBIN)libturbulenceMultiphaseOlaFlowModels分别指定目标代码的存放位置和名称,标准路径$(FOAM_LIBBIN)亦可替换为用户路径$(FOAM_USER_LIBBIN)

2.options文件

EXE_INC = \
    -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \
    -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \
    -I$(LIB_SRC)/transportModels/incompressible/lnInclude \
    -I$(LIB_SRC)/finiteVolume/lnInclude \
    -I$(LIB_SRC)/meshTools/lnInclude

LIB_LIBS = \
    -lturbulenceModels \
    -lincompressibleTurbulenceModels \
    -lincompressibleTransportModels \
    -lfiniteVolume \
    -lmeshTools
  • 头文件存放路径使用 -I 标识符;
  • 库文件路径使用-L 标识符指定,库名称使用-l 标识符指定,并且去掉 lib 前缀以及.so 后缀。
  • 除了最后一行外,每行代码最后都需要使用 \ 。
  • 当库文件不在默认路径$FOAM_LIBBIN下才需要指定库文件路径。

3. 编译库


和编译求解器不同,当编译库的时候,Make 文件夹内需要做一些更改:

  • files 文件中,最后一行的EXE = 需要替换为 LIB =,且$FOAM_APPBIN 需要更改为$FOAM_LIBBIN(或者$FOAM_USER_LIBBIN);
  • options 文件中,EXE_LIBS 需要替换为 LIB_LIBS,用来指定编译库的时候需要 链接的库;
  • 当执行 wmake 的时候,他会自动的创建一个 lnInclude 的文件夹,用于包含必要的文件。

4.如何在求解器里调用编好的库

修改Make/options文件

  • 在EXE_INC中添加,-I +库的路径(在包含Make文件的路径下pwd复制过来) + /lnInclude \
  • 在EXE_LIB中添加, -L + $(FOAM_LIBBIN)(或者$(FOAM_USER_LIBBIN))+ / + files中库名.so (或者是编译成功后的lib后面的名字复制即可) \

5.算例使用

在system/controdict文件夹下添加下面即可

libs
(
    "libturbulenceMultiphaseOlaFlowModels.so"
);

参考https://www.zybuluo.com/daidezhi/note/385554

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值