FlameMaster 编译教程

FlameMaster 编译教程

首先向 Pitsch 教授申请源代码许可:https://www.itv.rwth-aachen.de/index.php?id=13


对于可联网设备

如果设备可以联网,那么先安装如下依赖库:

sudo apt-get install git cmake flex bison libsundials-serial-dev g++ gfortran cmake-curses-gui

在 FlameMaster 源代码中,Repository 的同级目录下:

mkdir Build &&\
cd Build/ &&\
cmake ../Repository -DCMAKE_BUILD_TYPE=Release -DINSTALL_SUNDIALS=ON -DCOMPILE_FORTRAN_SRC=OFF -DTESTS=ON -DBILIN_OMEGA=ON -DCOMPILE_SCANMANNEW=OFF &&\
make &&\
make -j4 install

对于不可联网设备

如果设备无法联网,那么必须自行编译所需的依赖库

编译安装 cmake

最低版本要求,在下一步下载的 sundials 源码文件夹下的 CMakeLists.txt 中查看,
我现在查看到的:

cmake_minimum_required(VERSION 3.5)

这一行表示要求 cmake 最低版本是 3.5

下载链接:https://github.com/Kitware/CMake/releases

mkdir instdir &&\
./configure --prefix=./instdir &&\
make &&\
make install

编译安装 sundials

下载源码,版本号以及下载地址在这里查看:FlameMaster/Repository/cmake/thirdParty/Sundials.cmake.in

mkdir builddir &&\
cd builddir &&\
cmake -DCMAKE_INSTALL_PREFIX=../instdir -DEXAMPLES_INSTALL_PATH=../examples ../ &&\
make &&\
make install

修改 FlameMaster/Repository/cmake/Modules/FindSUNDIALS.cmake 修改后是这样:

if(CMAKE_CXX_COMPILER_ID MATCHES Intel)
set(SUNDIALS_USER_PATHS ${SUNDIALS_USER_PATHS} ~/FlameMaster/sundials/instdir)
elseif(CMAKE_CXX_COMPILER_ID MATCHES GNU OR CMAKE_CXX_COMPILER_ID MATCHES Clang)
set(SUNDIALS_USER_PATHS ${SUNDIALS_USER_PATHS} ~/FlameMaster/sundials/instdir)
endif()

编译安装 FlameMaster

mkdir Build &&\
cd Build &&\
PATH_SUNDIALS_ROOT=~/FlameMaster/sundials/instdir &&\
cmake ../Repository -DCMAKE_BUILD_TYPE=Release -DCOMPILE_FORTRAN_SRC=OFF -DTESTS=OFF -DBILIN_OMEGA=ON -DCOMPILE_SCANMANNEW=OFF &&\
make &&\
make -j4 install

开始使用

编译成功之后,FlameMaster 目录下会出现 Bin 文件夹
在 ~/.bashrc 中添加:

source ~/FlameMaster/Bin/bin/Source.bash

可能你会遇到 FlameMaster 对机理格式要求很严格的问题,可以参考这个仓库中的做法对机理文件进行一些预处理:https://github.com/ZhangYanTJU/chemicalMechanisms

文章作者: Yan Zhang
文章链接: https://openfoam.top/FlameMaster/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 OpenFOAM 成长之路
您的肯定会给我更大动力~