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
合并后关掉这个终端就可以了