前言

OpenFOAM是用于计算流体的开源软件,十分适合学习和二次开发。本文对OpenFOAM5.x在天河一号超算集群上编译安装过程进行记录,其中编译使用Gcc4.8.5编译器和MPI库使用mvapich2-2.2。如果不想使用系统提供编译工具和MPI库,想使用第三方工具编译安装可参考前文,服务器OpenFOAM第三方ThirdParty安装编译


1. 准备OpenFOAM文件

gihub下载OpenFOAM和ThirdParty文件
https://github.com/OpenFOAM/OpenFOAM-5.x
https://github.com/OpenFOAM/ThirdParty-5.x
上传压缩文件到用户指定安装目录,解压文件

unzip ThirdParty-5.x-master.zip
unzip OpenFOAM-5.x-master.zi

修改文件名称

mv OpenFOAM-5.x-master OpenFOAM-5.x
mv ThirdParty-5.x-master ThirdParty-5.x

2. 配置环境变量

本文使用系统提供的gcc4.8.5编译器,MPI库使用系统提供的mvapich2-2.2,二者都已在天河一号集群上安装,只需要使用module命令配置生效即可,十分便捷。
为了使用指定编译器和MPI库,需要卸载之前自动加载的配置。首先,使用module查看环境配置:

module list

系统提供默认编译器为Intel16.0.3和对应的mvapich2-2.2库:

Currently Loaded Modulefiles:
 1) Intel_compiler/16.0.3         
 2) MPI/mvapich2-2.2/intel2016u3

使用 module unload卸载配置:

module unload Intel_compiler/16.0.3
module unload MPI/mvapich2-2.2/intel2016u3

使用module avail可以查看系统所有可加载的配置,本文选用gcc4.8.5和对应的mvapich2-2.2,使用module add 命令加载环境配置:

module add GCC/4.8.5
module add MPI/mvapich2-2.2/gcc4.8.5

下面export对应的编译路径和MPI库路径,其中volx对应用户所在分组的顶级目录

export BUILD_DIR=$HOME/OpenFOAM/OpenFOAM-5.x
export MPI_ROOT=/volx/software/mvapich2-2.2-gcc4.8.5
export MPI_ARCH_FLAGS="-DMPICH_SKIP_MPICXX"
export MPI_ARCH_INC="-isystem $MPI_ROOT/include"
export MPI_ARCH_LIBS="-L$MPI_ROOT/lib -lmpich"
export PATH=$MPI_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$MPI_ROOT/lib:$LD_LIBRARY_PATH
export WM_NCOMPPROCS=16
source $BUILD_DIR/etc/bashrc WM_LABEL_SIZE=64 WM_COMPILER_TYPE=system WM_COMPILER=Gcc48  WM_MPLIB=SYSTEMMPI

以上命令可以写入openfoam.sh文件中,source文件进行配置。

source openfoam.sh

配置完后使用module list查看当前配置,显示为:

Currently Loaded Modulefiles:
  1) GCC/4.8.5                   
  2) MPI/mvapich2-2.2/gcc4.8.5

查看路径是否配置

echo $WM_PROJECT_DIR

若显示 /volx/home/username/software/OpenFOAM-5.x 则成功,环境变量配置完成。

3. 编译安装OpenFOAM

配置好环境变量后,编译安装OpenFOAM十分简单,进入安装目录执行Allwmake即可:

cd $WM_PROJECT_DIR
./Allwmake

等待数分钟或数小时,编译完成。
此时可以测试一下OpenFOAM是否可以。

4. 测试

选取最基础的icoFOam进行测试

tut
cd incompressible/icoFoam/cavity/cavity
blockMesh
icoFoam

如果顺利运行则安装成功。

5. bashrc添加OpenFOAM5.x

最后将OpenFOAM的配置文件写入~/.bashrc文件,方便下次调用:

vim ./bashrc

使用alias命令方式来添加OpenFOAM5.x/etc的bashrc文件:

alias of5x='source $HOME/OpenFOAM/OpenFOAM-5.x/etc/bashrc WM_LABEL_SIZE=64 WM_COMPILER_TYPE=system WM_COMPILER=Gcc  WM_MPLIB=OPENMPI'

下次登录集群只要键入of5x即可使用OpenFOAM命令:

of5x

总结

以上就是OpenFOAM5.x在天河一号集群上的安装步骤。
此外,天河集群已经提供一些版本的OpenFOAM,如果想直接使用,可以键入 module avail命令来查看application的对应版本,然后键入module add openfoamxxx 来加载。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐