OpenFOAM安装

本页讨论OpenFOAM-10的编译安装方法。

  • 想要跳转OpenFOAM虚拟机可点击本链接

  • 涉密机构的无网络安装教程课点击本链接

原因:

正常OpenFOAM安装的时候需要联网下载安装包。因此不能联网的电脑安装OpenFOAM会比较麻烦。

  1. 安装好ubuntu22.04系统(请注意版本),并确保ubuntu可以联网、确保内存尽可能大。

原因:

在编译燃烧模型的时候,内存太小在编译过程中可能会显示内存不足,关键词是终端出现kill字样。

  1. 进入Ubuntu桌面。通过Ctrl+Alt+T启动终端,在终端输入

sudo gedit /etc/apt/sources.list
  1. 键入后会要求输入密码。注意,密码并未显示。回车后,出现一个文本编辑器,将内容全部删除,并将下面的内容粘贴进去,并保存

deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

原因:

ubuntu系统自带一些软件,在纯净的系统里面没有安装。因此需要联网安装。联网就涉及到速度的问题。上面这一行,就是在中科大上面下载编译OpenFOAM必须的软件(库)。

  1. 一次性复制下面所有内容到终端:

sudo apt update &&
sudo apt-get install -y 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 

确保无异常。如果出现could not get lock /var/…类似的错误,最简单的方式是重启电脑一次,重复这一步。

原因:

上面这些就全都是编译OpenFOAM需要的软件。简单的可以理解为:编译OpenFOAM是炒菜的过程,炒菜需要菜刀,菜刀需要下载安装。

  1. 一次性复制下面所有内容到终端:

cd $HOME &&
if [ ! -d "OpenFOAM" ];then mkdir OpenFOAM; fi &&
sudo apt update &&
sudo apt-get install -y 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 &&
cd OpenFOAM &&
git clone https://e.coding.net/dyfluid/OpenFOAM/OpenFOAM-10.git &&
git clone https://e.coding.net/dyfluid/OpenFOAM/ThirdParty-10.git &&
source OpenFOAM-10/etc/bashrc &&
cd OpenFOAM-10 &&
./Allwmake -j &&
sed -i '$a source $HOME/OpenFOAM/OpenFOAM-10/etc/bashrc' $HOME/.bashrc

这时候会输出大量的信息,中途可能要输入密码,同时并行编译开始(大约需要几十分钟)。

原因:

其中有些操作是重复的,暂时不要管。这是防止某些用户没下载完全一些必要的软件库,导致没法安装。

编译之后请尝试在终端运行:

blockMesh

如果显示如下信息:

表示安装成功。

ParaView(后处理工具)安装

安装OpenFOAM之后,还需要安装ParaView。主要用于对OpenFOAM算例进行后处理。Paraview的安装有俩种方式。一种是安装原版paraivew,一种是在OpenFOAM环境中编译paraFoam。注意,原版ParaView不能显示拉格朗日粒子,但处理大网格算例较快。可按照所需进行选择。也可两者同时安装。

原版ParaView:可用通过下面的命令来安装:

sudo apt install paraview

在使用的过程中,可以在OpenFOAM算例下创建一个空文件并命名为case.foam,然后在终端键入paraview即可运行。运行后,用ParaView打开case.foam即可。

编译版paraFoam:一次性复制下面所有内容到终端:

cd $HOME/OpenFOAM/ThirdParty-10 &&
sudo apt install libqt5x11extras5-dev libxt-dev  qttools5-dev curl &&
./makeParaView &&
wmRefresh &&
cd $FOAM_UTILITIES/postProcessing/graphics/PVReaders &&
./Allwclean &&
./Allwmake

Tip

如果是老版本ubuntu2004系统,在上面第二行需要增加qt5-default

其会自动下载ParaView并开始编译,编译过程较长。然后键入paraFoam即可运行,其会自动创建一个后缀为.OpenFOAM的文件,并自动挂载。

OpenFOAM多版本共存

不同大厂的OpenFOAM版本各有特性,因此用户可能具有多版本OpenFOAM共存的需求。多版本OpenFOAM共存非常简单。举例说明:如果用户打算在Ubuntu系统上安装OpenFOAM-10以及OpenFOAM-7,可在终端输入:

gedit $HOME/.bashrc

会打开一个文件,在文件的最底部重新取一行添加下述两行文字:

alias of10="source ~/OpenFOAM/OpenFOAM-10/etc/bashrc"
alias of7="source ~/OpenFOAM/OpenFOAM-7/etc/bashrc"

保存并关闭。重新打开新的终端的时候,环境变量自动生效。这时如果用户键入:

of10

则调用OpenFOAM-10环境,类似的,键入:

of7

则调用OpenFOAM-7环境。