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

OpenFOAM+LIGGGHTS+CFDEM編譯安裝過程的圖1

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+LIGGGHTS+CFDEM編譯安裝過程的圖2

解決方法:

——在文件夾: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

安裝完成。

OpenFOAM+LIGGGHTS+CFDEM編譯安裝過程的圖3

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

    OpenFOAM+LIGGGHTS+CFDEM編譯安裝過程的圖4

  • 單獨運行LIGGGHTS

    cd ~/JOBS/LG_JOB/tutorials/Tutorials_public/chute_wearliggghts -in in.chute_wearparaview

    OpenFOAM+LIGGGHTS+CFDEM編譯安裝過程的圖5

  • 運行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é)果

OpenFOAM+LIGGGHTS+CFDEM編譯安裝過程的圖6

OpenFOAM+LIGGGHTS+CFDEM編譯安裝過程的圖7

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

6
2
5