openfoam耦合liggghts安裝


 本次安裝基於新安裝的ubuntu18.04LTS桌面版系統,用戶名為ubuntu,此前未安裝其他軟件(進行了系統提醒的更新),安裝時間為2019年9月。

安裝前需確認需要安裝的OpenFOAM版本,CFDEM coupling對支持的OpenFOAM版本有要求,從CFDEM官網查看而后選擇要安裝的OpenFOAM版本。

以下出現的命令和添加的環境變量可能需要按照自己文件路徑的情況進行調整。

1.openfoam的安裝

基本按照官網(https://openfoam.org/download/source/)的教程進行分為:

(1)安裝編譯所需軟件

先檢查是否安裝gcc,終端輸入 gcc –version ,如未安裝,sudo apt install gcc命令安裝,需要4.8版本及以上,安裝后可再次gcc –version查看版本

Install general packages for OpenFOAM 命令為:

sudo apt-get install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev

Install packages for ParaView命令為:

sudo apt-get install qt4-dev-tools libqt4-dev libqt4-opengl-dev freeglut3-dev libqtwebkit-dev curl

(2)下載OpenFOAM源碼包及第三方軟件thirdparty源碼包

可在以下網址https://github.com/OpenFOAM 找到歷史各個版本,此次將安裝5.x版本,將源碼解壓后去掉master后綴,放在home目錄下,如圖

 

 

             

(3)配置環境變量

終端輸入  gedit $HOME/.bashrc

會打開一個文件,我們在文件的最底部重新取一行添加下述文字:

source $HOME/OpenFOAM-5.x/etc/bashrc

保存並關閉。關閉終端並打開新的終端的時候,環境變量自動生效。

(4)編譯openfoam

 終端切換到OpenFOAM-5.x文件夾下,輸入命令

./Allwmake -j   全線程並行編譯或者

  ./Allwmake   

串行編譯,通常並行隨線程增多,編譯速度更快

(5)編譯第三方軟件

終端切到ThirdParty-5.x文件夾下,輸入命令   ./Allwmake

 

於此處下載paraview源碼包http://www.paraview.org/files/,注意paraview版本要與thirdparty要求符合,本次安裝paraview-5.4.0(http://www.paraview.org/files/v5.4/ParaView-v5.4.0.tar.gz),下載后解壓(注意文件夾命字將v去掉)至ThirdParty-5.x文件夾下

 

同樣終端切到ThirdParty-5.x文件夾下,輸入命令

 ./makeParaView  編譯時間稍長,

而后鍵入命令  wmRefresh

 

再分三次鍵入命令

cd $FOAM_UTILITIES/postProcessing/graphics/PVReaders

./Allwclean

./Allwmake

此時重開終端,輸入命令paraview即可打開paraview,若出現Failed to load module

"canberra-gtk-module",則終端輸入命令

sudo apt install libcanberra-gtk-module   

再次打開paraview此情況消失。

2.下載Liggghts和lpp

官網:https://www.cfdem.com/media/DEM/docu/Section_intro.html 

官網使用 make auto命令的編譯方式,對耦合分析來說是不足夠的,此處只是先下載到指定位置,之后再編譯

創建LIGGGHTS文件夾    mkdir LIGGGHTS

終端切到LIGGGHTS文件夾下    cd LIGGGHTS

使用git下載將要耦合編譯的liggghts:

git clone https://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git LIGGGHTS-PUBLIC

 

lpp需要安裝python  

sudo apt-get install python-numpy

使用git下載lpp到LIGGGHTS文件夾下:

git clone https://github.com/CFDEMproject/lpp.git

 

3.下載CFDEM並耦合編譯

 

(1)下載CFDEM

   

打開終端分別輸入下列命令  

mkdir

CFDEM

cd CFDEM

git clone git://github.com/CFDEMproject/CFDEMcoupling-PUBLIC.git CFDEMcoupling-PUBLIC-$WM_PROJECT_VERSION

 

(2)路徑的添加

利用終端命令

gedit ~/.bashrc

打開.bashrc文件,在文件末尾添加內容

 

 

========================================#

source cfdem env vars

export CFDEM_VERSION=PUBLIC

export CFDEM_PROJECT_DIR=$HOME/CFDEM/CFDEMcoupling-$CFDEM_VERSION-$WM_PROJECT_VERSION

export CFDEM_SRC_DIR=$CFDEM_PROJECT_DIR/src

export CFDEM_SOLVER_DIR=$CFDEM_PROJECT_DIR/applications/solvers

export CFDEM_DOC_DIR=$CFDEM_PROJECT_DIR/doc

export CFDEM_UT_DIR=$CFDEM_PROJECT_DIR/applications/utilities

export CFDEM_TUT_DIR=$CFDEM_PROJECT_DIR/tutorials

export CFDEM_PROJECT_USER_DIR=$HOME/CFDEM/$LOGNAME-$CFDEM_VERSION-$WM_PROJECT_VERSION

export CFDEM_bashrc=$CFDEM_SRC_DIR/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

export CFDEM_PIZZA_DIR=$HOME/LIGGGHTS/PIZZA/gran_pizza_17Aug10/src

. $CFDEM_bashrc

=======================================#

網上的教程里面

export CFDEM_LIGGGHTS_MAKEFILE_NAME=auto

這句中,auto為fedora_fpic或fedora,導致無法生成lmp_xxx文件,編譯無法繼續,本次安裝進行了修改

利用 cfdem coupling 的系統檢查腳本,檢查系統配置,終端輸入  cfdemSysTest

出現如下圖的信息,critical為yes的項,valid必須為yes,若有不符合的情況,修改前面.bashrc里添加的信息使之符合

(3)耦合編譯

編譯liggghts,直接開終端命令    cfdemCompLIG

編譯cfdem,直接開終端

  cfdemCompCFDEMall

         

出現此錯誤時:

是動態庫鏈接的問題,動態庫位置在:

/home/ubuntu/LIGGGHTS/LIGGGHTS-PUBLIC/lib/vtk/build/lib

打開終端,切換root用戶    sudo su

打開d.so.conf文件         gedit /etc/ld.so.conf

將報錯中缺少的動態庫文件地址加到末尾:

include

/etc/ld.so.conf.d/*.conf

/home/ubuntu(這里是你命名的用戶,根據實際情況修改)/LIGGGHTS/LIGGGHTS-PUBLIC/lib/vtk/build/lib

保存后重新編譯

(4)安裝CFDEM后處理需要的octave

sudo apt-get install octave

4.編譯后查看是否安裝成功

1.試運行

CFDEM/CFDEMcoupling/PUBLIC-5.x/tutorials/cfdemSolverPisoScalar/settingTestMPI這個算例,終端切到該文件夾下,輸入  ./Allrun.sh   開始計算,會出現下圖:

 

        

2.運行CFDEM/CFDEMcouplingPUBLIC-3.0.1/tutorials/cfdemSolverPisoScalar/packedBedTemp這個算例,在該算例中有CFD文件夾,有DEM文件夾,有Allrun.sh文件,有parCFDDEMrun.sh文件,有parDEMrun.sh文件。這些都是標准設置,可以進入參考,后面會有詳細介紹。這里,進入parCFDDEMrun.sh文件,將cleanup=”true”

改為cleanup=”false” 將runOctave=”true” 改為runOctave=”false”並保存。修改的目的是保存程序運行過程中的文件,可以后續查看。回到terminal,輸入:

./Allrun.sh                 

 #根據該算例設置,先運行in.liggghts_init文件 150000步,然后在耦合運算 1.5s (參考該算例CFD/system/controlDict文件)。如果算例可以正常運行,說明pisoScalar Solver 也正確安裝

后處理部分

1.顆粒部分

運行算例后,DEM文件夾下的post文件夾下保存的文件為顆粒信息,需要用lpp轉換為vtk格式才能用paraview讀取,用gedit ~/.bashrc命令打開.bashrc,在文件后部添加   alias lpp="python2 $HOME/LIGGGHTS/lpp/src/lpp.py"(根據自己lpp.py的位置來更改),若出現python版本問題導致的錯誤,參考https://www.cnblogs.com/Jay-CFD/p/9872426.html提出的辦法。

 

post文件夾下終端輸入 

lpp dump*.liggghts_run  

將顆粒的文件轉換為vtk格式,就可以用paraview打開了

2.流場部分

並行運算得到的流場結果會根據並行線程數分為數個部分n個processor文件夾(processor0~processorn-1),計算完成后需要合並在一起才是完整的流場,理論上應該在CFD文件夾下打開終端

然后命令行分別輸入:

reconstructPar

foamToVTK #(可能不需要)

然后就能在CFD文件夾下生成對應時間的文件夾,而后可以導入case.foam(手動創建的空文件)到paraview中(未嘗試),也可以從processor0文件夾下復制file.foam文件(空文件)到CFD文件夾下,而后用paraview打開file.foam文件即可

但實際試驗后發現reconstructPar運行出現了問題,如圖

 

 

openfoam5可能有無法使用reconstructPar的bug,看到有人的解決方案是共存安裝了openfoam4,處理時改變環境變量調用of4的reconstructPar來處理合並問題,對此進行了嘗試,發現of4果然可以解決問題,而安裝of6調用of6的reconstructPar不能解決問題

 

本次安裝openfoam4.x,過程如前面1中的(1)(2)(3)(4),並不需要(5)編譯第三方軟件,但是要注意仍然要下載解壓ThirdParty-4.x到與of4同一文件夾下,否則of4編譯無法完成,安裝完成后將安裝過程中為of4添加的環境變量用#注釋掉,保留of5的環境變量就好了,同時為了方便調用of4的reconstructPar,添加一個alias:

alias of4x="source $HOME/OpenFOAM-4.x/etc/bashrc"

如圖:

完成后只需在CFD文件夾下開終端依次輸入

of4x

reconstructPar

foamToVTK

合並后關掉這個終端就可以了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM