這里安裝的時間節點為:2018.10.29,安裝的是目前的最新版本CFDEM,支持到與OpenFoam-5.x的耦合。
1. 先安裝openfoam:
https://openfoam.org/download/source/
不算很難,安裝這個官網程序走就行,主要需要注意的是源碼一定要放在~目錄下編譯,如下

2. 再安裝Liggghts:
https://www.cfdem.com/media/DEM/docu/Section_start.html
主要也是按照官網教程,下載完后直接make auto
這里需要注意兩點,一是要在~目錄下建立名為LIGGGHTS文件夾,然后把源碼放在這個文件夾里編譯(這一步最關鍵),
再一個是需要建立一個軟鏈接:sudo ln -s $HOME/LIGGGHTS-PUBLIC/src/lmp_auto /usr/local/bin/liggghts(這一步不確定是否必要,但最好加上)
3. 安裝CFDEM:
https://www.cfdem.com/media/CFDEM/docu/CFDEMcoupling_Manual.html#
一直到cfdemSysTest這一步都不難,測試這一步的時候看看幾個critical的路徑能不能找到,容易出問題的就是Liggghts沒有放在上面說的LIGGGHTS文件夾里,如下:


還得下載lpp: sudo git clone https://github.com/CFDEMproject/LPP.git mylpp,注意下載到$HOME/LIGGGHTS文件夾下,因為bashrc中設置了這個路徑,其實只要放置位置和bashrc中對應即可
然后開始編譯CFDEM,可以直接cfdemCompCFDEMall,或者step by step編譯:
cfdemCompLIG
cfdemCompCFDEMsrc
cfdemCompCFDEMsol
cfdemCompCFDEMuti
千萬注意官網這里,后兩個命令又typo,他們寫成了:
cfdemCompCFDEmsol
cfdenCompCFDEMuti
按照官網寫的會出現找不到命令的問題。見:https://www.cfdem.com/forums/cfdemcompcfdemsol-cfdencompcfdemuti
4. 運行測試
全部編譯好以后可以測試一下,把~/CFDEM/CFDEMcoupling-PUBLIC-5.x/tutorials文件夾里拷貝一個案例文件夾到任意工作目錄,例如cfdemSolverPiso這個案例
然后運行下面所示目錄下的./Allrun.sh就能開始計算了。
ywj@DESKTOP-OD3RNEO:/mnt/e/CFD_wkdir/openfoam/CFDEM/cfdemSolverPiso/ErgunTestMPI$ ls Allrun.sh DEM log_run_parallel_cfdemSolverPiso_ErgunTestMPI_CFDDEM parDEMrun.sh CFD log_run_liggghts_init_DEM parCFDDEMrun.sh
5. 后處理
運行后生成CFD和DEM兩個文件夾,一個放流場信息,一個放顆粒信息
由於這里是並行,所以CFD文件夾下有四個processor文件夾(processor0~processor3),每個文件夾下只存了四分之一網格信息,所以要把它們合並:
修改CFD\constant下couplingProperties文件關鍵字IOModel basicIO為IOModel off
然后命令行分別輸入:
reconstructPar
foamToVTK
然后就能在CFD文件夾下生成對應時間的文件夾了,導入case.foam(手動創建的空文件)到paraview中,就能看到完整網格信息了
然后處理DEM下的文件,需要把dump文件轉換為vtk格式,要用到lpp,這是一個python寫的腳本,通過git clone到某個文件夾(這個步驟在3. 安裝CFDEM中提到過),我這里直接放在~目錄下
然后做一個alias:
alias lpp="python2 $HOME/mylpp/src/lpp.py"
這樣,在DEM/post文件夾下運行lpp dump*.liggghts_run就把所有dump文件都轉化為vtk了。如果出問題,接着下面步驟。
由於我的默認python版本為3.6,而此腳本文件為python2.7,所以我需要做一些修改:
安裝pip
# 1. 更新系統包 sudo apt-get update sudo apt-get upgrade # 2. 安裝Pip sudo apt-get install python-pip # 3. 檢查 pip 是否安裝成功 pip -V
安裝python2版本的numpy
python2 -m pip list 查看 python2 -m pip install --upgrade pip 更新 python2 -m pip install numpy 安裝
然后修改
$HOME/mylpp/src/lpp.py腳本文件第一行為:
#!/usr/bin/env python2
改完之后再在DEM/post文件夾下運行命令:
lpp dump*.liggghts_run
就能把dump文件都轉換為VTK格式了,然后導入paraview中即可,效果圖:

