本文是在Ubuntu系統下安裝測試OpenFOAM-5.x和liggghts version 3.8.0,Ubuntu18和20系統,在都沒問題,保證聯網即可。另外需要說明的是,在CentOS Linux release 7.9.2009 集群自己也能夠成功安裝,過程比較復雜,日后再詳細匯總。
1、更新依賴包
$sudo apt-get update //需要輸入root密碼
2、在用戶目錄下新建CFDEM,LIGGGHTS,OpenFOAM三個文件夾
$mkdir CFDEM LIGGGHTS OpenFOAM
3、下載需要要的安裝包
$cd $HOEM/OpenFAOM //進入OpenFOAM文件夾內 git clone https://github.com/OpenFOAM/OpenFOAM-5.x.git //下載openfoam git clone https://github.com/OpenFOAM/ThirdParty-5.x.git //下載ThirdParty
4、編譯前安裝必要的依賴包
$sudo apt-get install git-core build-essential cmake libfl-dev bison zlib1g-dev qt4-dev-tools libqt4-dev libqtwebkit-dev gnuplot libreadline-dev libncurses-dev libxt-dev libopenmpi-dev openmpi-bin libboost-system-dev libboost-thread-dev libgmp-dev libmpfr-dev python python-dev libcgal-dev curl
$sudo apt-get install libglu1-mesa-dev libqt4-opengl-dev
5、編譯openfoam
$gedit ~/.bashrc //設置編譯的環境變量 $source $HOME/OpenFOAM/ OpenFOAM-5.x/etc/bashrc //在文本最后添加 $source ~/.bashrc //保存退出,執行此命令進行初始化
開始編譯OpenFOAM和paraFOAM(也可以不編譯,在其他高版本編譯是編譯高版本的paraFOAM),進入OpenFOAM-5.x路徑下:
$cd OpenFOAM-5.x $./Allwmake -j //應用所有核數進行編譯,后面可接數字,表示指定的核數
編譯結束后,輸入blockMesh或icoFoam -help,檢驗是否安裝成功,一般編譯過程中沒有錯誤提示就是編譯成功的。
編譯paraFOAM:
$cd ../ThirdParty-5.x/
$./makeParaView -python -mpi -python-lib /usr/lib/i386-linux-gnu/libpython2.7.so.1.0
若是沒有下載好paraview5.4,會先下載后再進入編譯。
$wmRefresh
編譯成功並結束,退出后打開命令窗:執行:paraFoam或paraview,能正常打開paraview表示編譯成功。
6、進入CFDEM路徑下,執行如下命令,下載CFDEMcoupling-PUBLIC.git
$ git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git
7、進入LIGGGHTS路徑下,執行如下命令,下載LIGGGHTS-PUBLIC和lpp
$git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git $git clone git://github.com/CFDEMproject/LPP.git lpp
8、 進入CFDEM路徑下,更改文件夾名稱
$ mv CFDEMcoupling-PUBLIC-master CFDEMcoupling-PUBLIC
$ mv CFDEMcoupling-PUBLIC CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION
9、設置CFDEM的環境變量(打開自己的環境變量文件和CFDEM的)
$gedit ~/.bashrc
$gedit $HOME/CFDEM/CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION/src/lagrangian/cfdemParticle/etc/bashrc
將CFDEM中打開的bashrc文檔中的the STANDARD block內容放在自己的環境變量.bashrc文檔的最后。粘貼內容如下所示:
如下所示: #================================================# #- 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 #================================================#
保存自己的環境變量文件.bashrc,關閉CFDEM的bashrc文件。
在將自己的環境變量文件.bashrc 初始化:
$ source ~/.bashrc
10、到此,所有環境變量均已設置完畢。測試環境變量是否正確,執行一下命令:
$ cfdemSysTest
開始編譯CFDEM和liggghts,執行如下命令:
$ cfdemCompCFDEMall
編譯完成后可以使用了。
或者單個順次編譯也可以,執行如下命令:
$ cfdemCompLIG
$ cfdemCompCFDEMsrc
$ cfdemCompCFDEmsol
$ cfdenCompCFDEMuti
至此編譯結束。
11、查看是否編譯成功
進入CFDEM路徑下:
$cd $HOME/CFDEM/CFDEMcoupling-PUBLIC-5.x/platforms/linux64GccDPInt32Opt/bin
查看此路徑下是否存在CFDEM的5個求解器可執行文件:
存在證明成功編譯。
或是進入CFDEM文件下的tutorials文件,隨便運行案例試試。
運行案例可能會報錯,跟Octive有關是沒安裝相應的程序,只跟后處理有關系,可忽略。只要liggghts程序和openfoam程序能運算就可以。