普通用戶許可權超算集群安裝OpenFOAM-LIGGGHTS-CFDEM,由於缺少root許可權,無法根據CFDEM官方instruction進行安裝。 本文以CSU超算平臺為例,利用普通用戶許可權進行編譯安裝。文章修正了已有教程中部分問題,特別感謝希望先生與記得小蘋初見教程。 1. 安裝必要依賴包 此部 ...
普通用戶許可權超算集群安裝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:$PATH
export LD_LIBRARY_PATH=${MPI_HOME}/lib:$LD_LIBRARY_PATH
export 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=<NofProcs>
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 LIGGGHTS
cd CFDEM && unzip CFDEMcoupling-PUBLIC-master.zip
mv CFDEMcoupling-PUBLIC-master CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION
cd $HOME && cd LIGGGHTS
unzip LIGGGHTS-PUBLIC-master.zip
mv LIGGGHTS-PUBLIC-master LIGGGHTS-PUBLIC
unzip LPP-master.zip
mv LPP-master lpp
在.bashrc
中添加CFDEM編譯安裝的環境變數:
vim ~/.bashrc
利用vim編輯器打開文件
添加以下內容至文本末尾,:wq
保存並退出
#================================================#
#- source cfdem env vars
export CFDEM_VERSION=PUBLIC
export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSION
export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION
export CFDEM_bashrc=$CFDEM_PROJECT_DIR/src/lagrangian/cfdemParticle/etc/bashrc
export CFDEM_LIGGGHTS_SRC_DIR=$HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src
export CFDEM_LIGGGHTS_MAKEFILE_NAME=auto
export 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
編譯安裝LIGGGHTS
cfdemCompCFDEM
編譯安裝CFDEM
測試安裝是否成功:
cd $HOME/CFDEM/CFDEM-PUBLIC-5.x/tutorials/cfdemSolverPiso/voidfractionTest
進入驗證算例文件下
./Allrun.sh
運行測試算例,若能夠正常運行則表示安裝成功
總結不易,轉載請註明出處。