- 安装必要的依赖包
$sudo yum groupinstall -y 'Development Tools'
$sudo yum install zlib-devel libXext-devel libGLU-devel libXt-devel libXrender-devel libXinerama-devel libpng-devel libXrandr-devel libXi-devel libXft-devel libjpeg-turbo-devel libXcursor-devel readline-devel ncurses-devel python python-devel cmake qt-devel qt-assistant mpfr-devel gmp gmp-devel
- 下载OpenFOAM安装包
$cd ~
$mkdir OpenFOAM
$cd OpenFOAM
$git clone https://github.com/OpenFOAM/OpenFOAM-5.x.git
$git clone https://github.com/OpenFOAM/ThirdParty-5.x.git
- 编译安装OpenFOAM第三方包
$cd ThirdParty-5.x
$ ./Allwmake
- 编译OpenFOAM
$cd OpenFOAM-5.x/
- 修改wmake config目录下相关文件,将默认的编译命令设置从icc或者icpc改为mpiicc,以避免可能的找不到“mpi.h”错误
$vim wmake/rules/linux64Icc/c
CC=mpiicc
vim wmake/rules/linux64Icc/c++
CC = mpiicc -std=c++11 -fp-trap=common -fp-model precise
$vim etc/bashrc
export WM_COMPILER=Icc
export WM_MPLIB=INTELMPI
$source etc/bashrc
- 设置intel环境变量
加载intel icc和mpiicc环境变量
本次测试安装Intel parallel studio软件包,直接运行
$source /share/app/intel/compilers_and_libraries_2019.0.117/linux/bin/compilervars.sh intel64
$export MPI_ROOT=/share/app/intel/impi/2019.0.117/intel64
可加载全部环境变量
- 确认INTELMPI环境变量
$ $I_MPI_ROOT
bash: /share/app/intel/compilers_and_libraries_2019.0.117/linux/mpi: Is a directory
- 编译OpenFOAM
./Allwmake -update -j 24 //-j 24 表示24核编译
- 提交作业脚本
#!/bin/bash
#SBATCH -N 2
#SBATCH --job-name=solver
#SBATCH --output=solver
#SBATCH --error=%j.err
source /share/app/intel/compilers_and_libraries_2019.0.117/linux/bin/compilervars.sh intel64
export MPI_ROOT=/share/app/intel/impi/2019.0.117/intel64
export I_MPI_PMI_LIBRARY=/usr/lib64/libpmi.so
source $HOME/OpenFOAM/OpenFOAM-5.x/etc/bashrc
decomposePar -force
srun -n 48 simpleFoam -parallel
reconstructPar
rm -rf processor*