ArchLinux下OpenFOAM编译安装与PBS并行化
1. 源代码下载
1.1 下载OpenFOAM源代码
在${HOME}
目录下新建OpenFOAM目录:
cd ${HOME}
mkdir OpenFOAM && cd OpenFOAM
从github下载OpenFOAM和ThirdParty的源代码,放到${HOME}/OpenFOAM
目录中:
git clone https://github.com/OpenFOAM/OpenFOAM-dev --depth=1
git clone https://github.com/OpenFOAM/ThirdParty-dev --depth=1
1.2 下载Torque(PBS)源码包
本文用的是AUR中的Torque,CentOS、Debian和SUSE系的操作系统可以从Github上的OpenPBS下载现成的二进制包。采用OpenPBS或PBS Pro请跳过本文第3节,参照其他文档进行PBS配置。
从AUR上下载Torque(PBS)源文件:
git clone https://aur.archlinux.org/torque.git
cd torque
wget http://wpfilebase.s3.amazonaws.com/torque/torque-6.1.1.1.tar.gz
2. 编译安装OpenFOAM
2.1 设置环境变量
编辑${HOME}/.bashrc
文件,添加以下两行:
#OpenFOAM
source ${HOME}/OpenFOAM/OpenFOAM-dev/etc/bashrc WM_MPLIB=OPENMPI
末尾的WM_MPLIB=OPENMPI
表示使用重新编译的OpenMPI库。
更新环境变量:
source ${HOME}/.bashrc
验证环境变量是否正确:
echo $WM_PROJECT_DIR
echo $WM_THIRD_PARTY_DIR
可以正确输出OpenFOAM编译目录,则表示环境变量设置正确。
2.2 编译第三方库
进入ThirdParty-dev
目录,编译第三方库:
cd $WM_THIRD_PARTY_DIR
wget https://download.open-mpi.org/release/open-mpi/v2.1/openmpi-2.1.1.tar.gz
tar -xvzf openmpi-2.1.1.tar.gz
./Allwmake
由于前面指定了WM_MPLIB=OPENMPI
,此处需要手动下载OpenMPI源码文件,使用wget
下载OpenMPI源码包并解压。Allwmake
后面可以增加-jN
选项开启多核并行编译,这里的N
应替换成并行数,Allwmake
会自动编译OpenMPI。
which mpirun
>${WM_THIRD_PARTY_DIR}/platforms/linux64Gcc/openmpi-2.1.1/bin/mpirun
which mpicc
>${WM_THIRD_PARTY_DIR}/platforms/linux64Gcc/openmpi-2.1.1/bin/mpicc
2.3 编译ParaView
继续在ThirdParty-dev
目录里编译ParaView:
cd $WM_THIRD_PARTY_DIR
./makeParaView -mpi
wmRefresh
编译完成后运行wmRefresh
刷新环境变量。
2.4 编译OpenFOAM
切换到OpenFOAM-dev
目录编译OpenFOAM:
阅读时长3分钟
Andrew Moa