Linux下OpenFOAM安装指北(
哭啦蚂蚁arag
2020年12月20日 13:17

写在最前面

想了想还是随便更新点有关OpenFOAM(以下简称OF)的东西吧。。。这玩意估计...应该没有什么做cfd的家伙在b站上找资源(并不

说起来这软件我也就自己捣鼓了一年多点,也只是稍微会应用其内置求解器求解一些简单问题的水平,还不会到能够根据需求自己写求解器,所以该系列随缘更新,大佬们就当我给自己的备忘录吧...也非常欢迎各位从事cfd的大佬给予批评和指正orz


写在前面

关于安装的部分,基本基于OpenFOAM官网给出的编译教程 https://openfoam.org/download/source/。本人在个人笔记本上安装了ubuntu,也不知道跟在大型机上的安装有没有什么不同,所以安装部分是基于有root权限的个人ubuntu系统中进行的


安装步骤

首先整个过程需要用到以下几个工具(我也不知道该怎么统称它们,编译器?编译软件?)

  • c++编译器:推荐gcc 4.8以上

  • FLEX

  • cmake

  • QT version>=4.8

  • Git工具

  • OpenMPI

如果没有的话自行百度一波................


对于Ubuntu(笔者所用)

为OF安装以下独立软件包:

sudo apt-get install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev

为ParaView(比较方便的交互式结果查看器,以下简称PV)安装以下独立软件包:

sudo apt-get install libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl

这两部分命令可以从官网copy

对于RedHat类的Linux(大概CentOS这种吗)

由于一般自带了低版本的各种软件,比如gcc4.4.7,因此需要对各软件进行更新

1. 安装编程工具

yum groupinstall 'Development Tools&#​39; 

yum install openmpi openmpi-devel 

yum install epel-release 

yum install --nogpgcheck qtwebkit qtwebkit-devel 

yum install --nogpgcheck CGAL CGAL-devel

2. 重新链接boost c++ lib

ln -s /usr/lib64/libboost_thread-mt.so /usr/lib64/libboost_thread.so

3. 将OpenMPI添加到~/.bashrc

export PATH=/usr/lib64/openmpi/bin/:$PATH 

export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib/:$LD_LIBRARY_PATH

4. 检查mpirun和gcc

如果gcc版本不符合要求,可以通过如下方式重新设置:

4.1 安装

yum-config-manager --nogpgcheck --add-repo http://springdale.princeton.edu/data/puias/6.5/x86_64/os 

yum-config-manager --nogpgcheck --add-repo http://springdale.princeton.edu/data/puias/DevToolset/6.5/x86_64 

yum install --nogpgcheck devtoolset-1.1-runtime devtoolset-1.1-gcc.x86_64 devtoolset-1.1-gcc-c++.x86_64

4.2 激活gcc,将以下内容添加于环境变量文件内

source /opt/rh/devtoolset-1.1/enable


从github下载OF

进入$HOME/OpenFOAM(没有自行创建一个),下载OF和三方软件库

git clone https://github.com/OpenFOAM/OpenFOAM-dev.git 

git clone https://github.com/OpenFOAM/ThirdParty-dev.git

如果要下载其它版本,将dev改成版本号(1~8),并且随后步骤也需要将dev改成版本号


配置环境变量(~/.bashrc)

将以下内容添加于~/.bashrc内

source $HOME/OpenFOAM/OpenFOAM-dev/etc/bashrc

再source ~/.bashrc

测试是否添加成功:

echo $WM_PROJECT_DIR

输出示例:


安装三方软件(ThirdParty-dev)

Scotch/PT-Scotch

cd ./ThirdParty-dev

./Allwmake

ParaView

./makeParaView

由于中间会下载PV的tar.gz文件,速度较慢的话可以自行从官网下载(https://www.paraview.org/download/),找到对应版本号的tar.gz。版本号由echo $ParaView_VERSION查看。

下载后解压tar -xvzf xxxxxxxx.tar.gz

改名mv xxxx ParaView-v{你的版本号}

进入./ThirdParty-dev/etc/tools

vi ParaViewFunctions

修改以下内容:

再./makeParaView

完成后wmRefresh


编译OF

cd OpenFOAM-dev

./Allwmake -j

一直等就好


调试

simpleFoam -h


更新OF

git pull

./Allwmake -update

若出问题可以尝试

wcleanPlatform

./Allwmake


感谢大佬们的阅读。以上代码都可从官网直接复制(想敲也可以(手动滑稽

欢迎批评指正!

                                                                                                                                            by karag

                                                                                                                                            封面来源于网络