本次安裝基于新安裝的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
合并后關掉這個終端就可以了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/115714.html
標籤:其他
上一篇:關于METRIC SPACE中的一些概念對比(sequence and net)
下一篇:markdown指南
