OpenFOAM-V8源码编译教程

发布于 2022-10-13  962 次阅读


Please refresh the page if equations are not rendered correctly.
---------------------------------------------------------------

0. 系统

目前我在Ubuntu 20.04.1系统上亲测安装正常,只需要按照官方教程(链接:Download OpenFOAM v8 Ubuntu)安装预编译版本即可,不需要进行源码安装。因此建议直接按官方教程。

本文进行的测试过程中,在Ubuntu 22.04系统上无法安装qt5-default包(系统上默认已经移除),会导致Paraview编译失败。
在Ubuntu 20.04.5版本系统上出现libc6版本过高和G++安装失败的问题,可能需要将libc6降级。这方面需要进一步测试。

综上,建议直接使用Ubuntu 20.04.1系统搭配OpenFOAM V8.

1. 软件依赖

1.1 编译器

支持的编译器有:
- GCC version 5.4 or above;
- LLVM Clang version 3.6 or above;
- Intel ICC version 17.0.4 or above.
本文以GCC为例。查看GCC版本:

gcc --version

如果显示:

Command 'gcc' not found

则使用如下命令安装:

sudo apt install gcc

如果以上命令报错,则使用:

sudo apt update
sudo apt install build-essential

1.2 更多依赖按如下命令逐一执行安装(Ubuntu 18.04或更高版本)。

sudo apt-get install build-essential cmake git ca-certificates
sudo apt-get install flex libfl-dev bison zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev
sudo apt-get install libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl

其中,第一条是编译依赖,第二条为OpenFOAM依赖,第三条为Paraview的依赖(如QT等)。
在Ubuntu 22.04版本系统中安装QT相关依赖时,显示

E: Package 'qt5-default' has no installation candidate

2. 源代码下载

2.1 可以使用git或者直接在GitHub下载:

使用Git:

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

2.2 Github直接下载:

OpenFOAM/OpenFOAM-8: OpenFOAM Foundation repository for OpenFOAM version 8

OpenFOAM/ThirdParty-8: OpenFOAM-8 third-party library compilation scripts
(将版本号8改为相应的数字即可安装相应的OpenFOAM版本)

3. 环境变量设置

3.1 打开设置文件:

gedit ~/.bashrc

在弹出的.bashrc文件最后加入source $HOME/OpenFOAM/OpenFOAM-8/etc/bashrc,然后在命令行中执行:

source $HOME/.bashrc

3.2 源代码解压

将源代码解压到$HOME/OpenFOAM/文件夹下,文件目录如下所示:

Home
└── OpenFOAM
    ├── OpenFOAM-8
    └── ThirdParty-8

如果源代码放在其他文件夹下,则需要更改环境变量的目录。

3.3 测试设置是否正确

在命令行中输入

echo $WM_PROJECT_DIR

返回${HOME}/OpenFOAM/OpenFOAM-dev即设置无误。

4. 第三方软件安装

OpenFOAM所依赖的第三方软件有:

OpenFOAM relies some third-party software packages (in addition to OpenMPI) for some important tasks:

4.1 安装Scotch/PT-Scotch

$HOME/OpenFOAM/ThirdParty-8下打开命令行,执行:

./Allwmake

4.2 安装Paraview

同一个命令行下执行:

./makeParaView

Paraview的编译时间较长,一般电脑需要1小时至数个小时。安装完成后在命令行中执行:

wmRefresh

更新环境变量。

5. 编译OpenFOAM

切换到OpenFOAM的源码文件夹下,打开命令行,执行下面命令的任一行即可:

./Allwmake     # 单线程编译,较慢
./Allwmake -j  # 使用所有可用的CPU核心

一般8核心编译需要1小时左右,单核心则需要数个小时。

6. 系统更新

OpenFOAM更新

参考资料:

OpenFOAM Source Repository | OpenFOAM

Everything not saved will be lost.
最后更新于 2023-04-18