OpenFOAM+LIGGGHTS+CFDEM編譯安裝過程
安裝條件:計算機一臺(普通AMD/Intel x64臺式機或性能稍高的筆記本)、Ubuntu版本:20.04(focal)、OpenFoam:5.x、ParaView:5.4.0、LIGGGHTS: 3.8.0、QT:qt4
PS:計算機也可安裝虛擬機VMware workstation 16 Pro進行Ubuntu系統(tǒng)的安裝
1.更換下載源
sudo gedit /etc/apt/sources.list
打開文本,并用下面內(nèi)容替換(對應(yīng)ubuntu20.04–focal,若為其他版本ubuntu,修改focal為其它名稱,如18.04→bionic,16.04→xenial,14.04→trusty)
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
2.安裝編譯所需其他文件
sudo apt update sudo apt-get install -y build-essential flex bison git cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev libscotch-dev libptscotch-dev libvtk6-dev python-numpy ffmpeg octave curl
確保安裝無異常。若出現(xiàn)could not get lock /var/...類似的錯誤,重新啟動客戶端一次,并重復(fù)該步驟,直到運行到如下圖狀態(tài)——0 upgraded, 0 newly installed, 0 to remove。

sudo可讓用戶以其他的身份來執(zhí)行指定的指令,apt-get后的命令參數(shù)有install 安裝、 update 更新、 remove 移除 、check 檢查、clean清除緩存。
-y表示跳過確認步驟,直接安裝。
&&命令表示順序執(zhí)行由它連接的命令,但是只有它之前的命令成功執(zhí)行完成了之后才可以繼續(xù)執(zhí)行它后面的命令。
3.下載CFDEM、LIGGGHTS和OpenFOAM-5.x源文件,并建立對應(yīng)文件夾
cd $HOME && mkdir -p OpenFOAM && cd OpenFOAM && git clone git://github.com/OpenFOAM/OpenFOAM-5.x.git && git clone git://github.com/OpenFOAM/ThirdParty-5.x.git && cd $HOME && mkdir -p CFDEM && cd CFDEM && git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git && cd $HOME && mkdir -p LIGGGHTS && cd LIGGGHTS && git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git && git clone git://github.com/CFDEMproject/LPP.git lpp
4.下載完整編譯版qt4和qtcreator
sudo add-apt-repository ppa:rock-core/qt4 && sudo apt update && sudo apt-get install qt4* && sudo apt-get install qtcreator
5.配置OpenFOAM環(huán)境變量及路徑
直接在Terminal(終端)輸入
sed -i '$a export WM_NCOMPPROCS=12' $HOME/.bashrc sed -i '$a source $HOME/OpenFOAM/OpenFOAM-5.x/etc/bashrc' $HOME/.bashrc source ~/.bashrc
sed是一個以行為單位文件處理工具,可以將數(shù)據(jù)行進行替換、刪除、新增、選取等特定工作。
sed -i '$a bye' ab→ 在文件ab中最后一行直接輸入"bye"
sed '1,2c Hi' ab→ 第一行到第二行代替為Hi(
-i:直接修改讀取的檔案內(nèi)容,而不是由熒幕輸出)
或者:
在Terminal輸入
gedit ~/.bashrc
打開.bashrc文件,在.bashrc文件最后添加下列代碼
export WM_NCOMPPROCS=12 source $HOME/OpenFOAM/OpenFOAM-5.x/etc/bashrc
之后再在Terminal中輸入
source ~/.bashrc
6.編譯OpenFOAM
cd $HOME/OpenFOAM/OpenFOAM-5.x &&./Allwmake -j
-j 表示可以啟用并行編譯指令
7.編譯ParaFoam
cd $HOME/OpenFOAM/ThirdParty-5.x && export QT_SELECT=qt4 sudo apt install libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl && ./makeParaView
會出現(xiàn)安裝paraView5.4.0的bug,如下圖

解決方法:
——在文件夾:OpenFOAM/ThirdParty-5.x/ParaView-5.4.0/Plugins/StreamLinesRepresentation
下手動創(chuàng)建doc文件夾,并重新運行./makeParaView。
之后,
wmRefresh && cd $FOAM_UTILITIES/postProcessing/graphics/PVReaders && ./Allwclean && ./Allwmake
8.配置CFDEM環(huán)境變量和路徑
cd $HOME/CFDEM mv CFDEMcoupling-PUBLIC CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION gedit ~/.bashrc
在.bashrc文件最后添加下列代碼
#================================================# #- source cfdem env vars export CFDEM_VERSION=PUBLIC export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSI ON export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSI ON 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 ~/.bashrc
9.編譯CFDEM(同時編譯了LIGGGHTS)
cfdemCompCFDEMall
安裝完成。

10.建立軟連接
建立LIGGGHTS的軟連接(相當于快捷方式,輸入liggghts即可單獨啟動LIGGGHTS運算程序lmp_auto)
sudo ln -s $HOME/LIGGGHTS/LIGGGHTS-PUBLIC/src/lmp_auto /usr/bin/liggghts
11.案例運行
將OpenFOAM、LIGGGHTS、CFDEM中的tutorials文件夾拷貝到自定義的文件夾中
mkdir -p $HOME/JOBS/OF_JOB/tutorials && mkdir -p $HOME/JOBS/LG_JOB/tutorials && mkdir -p $HOME/JOBS/CFDEM_JOB/tutorials && cp -r $FOAM_TUTORIALS $HOME/JOBS/OF_JOB && cp -r $HOME/LIGGGHTS/LIGGGHTS-PUBLIC/examples/LIGGGHTS/Tutorials_public $HOME/JOBS/LG_JOB/tutorials && cp -r $HOME/LIGGGHTS/LIGGGHTS-PUBLIC/examples/LIGGGHTS/SPH $HOME/JOBS/LG_JOB/tutorials &&cp -r $HOME/CFDEM/CFDEMcoupling-PUBLIC-5.x/tutorials $HOME/JOBS/CFDEM_JOB
單獨運行OpenFOAM
cd $HOME/JOBS/OF_JOB/tutorials/incompressible/icoFoam/cavity/cavity blockMeshicoFoamparaFoam

單獨運行LIGGGHTS
cd ~/JOBS/LG_JOB/tutorials/Tutorials_public/chute_wearliggghts -in in.chute_wearparaview

運行CFDEM
cd ~/JOBS/CFDEM_JOB/tutorials/cfdemPostproc/fillCylinder./Allrun.sh
運行錯誤,修改案例的Allrun.sh文件81行為
$HOME/OpenFOAM/ThirdParty-5.x/build/linux64Gcc/ParaView-5.4.0/bin/paraview
重新運行./Allrun.sh,獲得結(jié)果


工程師必備
- 項目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















