普通用户权限超算集群安装OpenFOAM-LIGGGHTS-CFDEM,由于缺少root权限,无法根据CFDEM官方instruction进行安装。
本文以CSU超算平台为例,利用普通用户权限进行编译安装。文章修正了已有教程中部分问题,特别感谢希望先生与记得小蘋初见教程。
1. 安装必要依赖包
此部分在记得小蘋初见中已有详细介绍,不再赘述。需要说明的是,普通用户权限只能自行在网上搜索rpm package(二进制)并使用 rpm -ivh 命令来安装。
(经测试,CSU HPC平台已具备所有必须依赖,无需自行安装)
2. 安装openmpi
安装openmpi为必要环节。此处笔者曾尝试按照希望先生方法调用平台/public/software/
目录下已安装的openmpi-3.1.0环境,但由于无法正确加载mpicc环境,而尝试自行安装3.1.0版本,编译安装过程仍存在问题。
但采用记得小蘋初见教程中openmpi-v2.x-201902200241-610e302.tar.gz
版本未出现问题,因此推荐自行下载并编译安装该版本openmpi-v2.x,下载链接。
上传文件包并编译安装openmpi:cd $HOME && mkdir openmpi
创建openmpi安装目标文件夹tar -zxvf openmpi-v2.x-201902200241-610e302.tar.gz
解压openmpi安装包cd openmpi-v2.x-201902200241-610e302
进入解压目录pwd
获取当前所在目录的绝对路径./configure --prefix=/home/YourOwnPath/openmpi CC=gcc CXX=g++ FC=gfortran
设置openmpi安装路径(重要),将pwd
所得绝对路径后加上/openmpi
make && make install
编译安装openmpi
安装完成后,在.bashrc
中添加openmpi的环境变量:vim ~/.bashrc
利用vim编辑器打开文件
添加以下内容至文本末尾,:wq
保存并退出
export PATH=${MPI_HOME}/bin:$PATHexport LD_LIBRARY_PATH=${MPI_HOME}/lib:$LD_LIBRARY_PATHexport MANPATH=${MPI_HOME}/share/man:$MANPATH
加载环境并查看是否成功:source ~/.bahsrc
加载环境mpirun --version
查看当前openmpi版本which mpirun
查看运行openmpi路径which mpicc
查看运行openmpi编译器路径
3. 安装OpenFOAM
根据CFDEM官方文档,在github中对应下载OpenFOAM-5.x和对应ThirdParty-5.x的.zip包,并上传至平台。OpenFOAM下载链接,ThirdParty下载链接(请勿在win平台解压后上传)
创建文件夹后解压文件并重命名:cd $HOME && mkdir OpenFOAM
创建OpenFOAM安装文件夹cd OpenFOAM
进入文件夹unzip OpenFOAM-5.x-master.zip
解压对应文件夹mv OpenFOAM-5.x-master OpenFOAM-5.x
修改文件夹名称,因为github下载文件多出-master
分支解释unzip ThirdParty-5.x-master.zip
同上mv ThirdParty-5.x-master ThirdParty-5.x
同上
设置OpenFOAM多核安装所需环境变量:vim ~/.bashrc
利用vim编辑器打开文件
添加以下内容至文本末尾,:wq
保存并退出
export WM_NCOMPPROCS=source $HOME/OpenFOAM/OpenFOAM-5.x/etc/bashrc
如采用4核编译,则为export WM_NCOMPPROCS=4
加载环境并编译安装OpenFOAM:source ~/.bahsrc
加载环境cd $WM_PROJECT_DIR
进入安装目录./Allwmake
执行编译文件
安装完成后测试OpenFOAM是否编译成功:blockMesh
如出现OpenFOAM文件说明则说明编译安装成功
4. 安装CMake与添加vtk
CentOS 7.9自带的CMake版本为2.8,该版本的CMake无法满足VTK-8.0的编译,因此在编译LIGGGHTS之前需要先升级CMake,下载地址
按照记得小蘋初见教程中选组3.27.4版本进行安装,但是配置过程中存在问题,因此安装过程有所不同
上传下载的安装包并解压安装:cd $HOME && mkdir cmake
创建cmake文件夹tar -zxvf cmake-3.27.4.tar.gz
解压上传的代码包cd cmake-3.27.4
进入解压出的文件夹./bootstrap --prefix=/home/YourOwnPath/cmake -- -DCMAKE_USE_OPENSSL=OFF
此处需要使用自己的绝对路径,并在末尾加上-DCMAKE_USE_OPENSSL=OFF
否则报错gmake
待配置结束后,执行编译
安装完成后,在.bashrc
中添加cmake的环境变量:vim ~/.bashrc
利用vim编辑器打开文件
添加以下内容至文本末尾,:wq
保存并退出
export PATH=/home/YourOwnPath/cmake-3.27.4/bin:$PATH
source ~/.bahsrc
加载环境cmake --version
查看安装后的CMake版本,确定是否安装成功
因为集群无法执行自行下载安装vtk的命令,因此需要自行上传vtk的文件包并修改相关安装文件,版本采用7.1.1下载链接tar -xvf VTK-7.1.1.tar.gz
解压上传的代码包mv VTK-7.1.1 vtk
修改解压出的文件夹名称,方便后续安装
5. 安装LIGGGHTS与CFDEM
自行在github上下载相关文件,但是LPP的文件包似乎被删除,可在另外github库中下载。LIGGGHTS下载链接,LPP下载链接,CFDEM下载链接
上传源代码包后,解压并修改名称:
cd $HOME && mkdir CFDEM LIGGGHTScd CFDEM && unzip CFDEMcoupling-PUBLIC-master.zipmv CFDEMcoupling-PUBLIC-master CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSIONcd $HOME && cd LIGGGHTSunzip LIGGGHTS-PUBLIC-master.zipmv LIGGGHTS-PUBLIC-master LIGGGHTS-PUBLICunzip LPP-master.zipmv LPP-master lpp
在.bashrc
中添加CFDEM编译安装的环境变量:vim ~/.bashrc
利用vim编辑器打开文件
添加以下内容至文本末尾,:wq
保存并退出
#================================================# #- source cfdem env vars export CFDEM_VERSION=PUBLICexport CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSIONexport CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSIONexport CFDEM_bashrc=$CFDEM_PROJECT_DIR/src/lagrangian/cfdemParticle/etc/bashrcexport CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/srcexport CFDEM_LIGGGHTS_MAKEFILE_NAME=autoexport CFDEM_LPP_DIR=$HOME/LIGGGHTS/lpp/src. $CFDEM_bashrc#================================================#
source ~/.bahsrc
加载环境
在执行LIGGGHTS编译安装前,因为已自行上传vtk
文件包,因此需要修改Makefile.user_default
文件中的安装指令
注意,在未进行LIGGGHT编译前,不会存在Makefile.user
文件,需要在Makefile.user_default
进行修改。
修改Makefile.user_default
文件:cd $HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src/MAKE
进入Makefile.user_default文件存放路径vim Makefile.user_default
利用vim编辑器打开文件:set number
在vim编辑器中显示行号,方便查找
将Line22取消注释并修改为AUTOINSTALL_VTK = "ON"
:wq
保存并退出
修改Makefile.auto
文件:vim Makefile.auto
利用vim编辑器打开文件:set number
在vim编辑器中显示行号,方便查找
将Line765修改为TMP := $(shell mkdir -p "$(LIB_PATH)/vtk/src" && echo 0 || echo -1)
将Line769修改为TMP := $(shell cp -ra /public/home/YourOwnPath/vtk/* $(LIB_PATH)/vtk/src/ && echo 0 || echo -1)
:wq
保存并退出
加载vtk环境变量:vim ~/.bashrc
利用vim编辑器打开.bashrc文件
在文件末尾加入vtk环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/username/LIGGGHTS/LIGGGHTS-PUBLIC/lib/vtk/install/lib
:wq
保存并退出source ~/.bahsrc
加载环境
编译安装LIGGGHTS与CFDEM:cfdemCompLIG
编译安装LIGGGHTScfdemCompCFDEM
编译安装CFDEM
测试安装是否成功:cd $HOME/CFDEM/CFDEM-PUBLIC-5.x/tutorials/cfdemSolverPiso/voidfractionTest
进入验证算例文件下./Allrun.sh
运行测试算例,若能够正常运行则表示安装成功
总结不易,转载请注明出处。