CFDEM installation tutorial

Submitted by ural on Wed, 10/12/2016 - 07:51

Hello! here is the installation tutorial which works fine for me

1)lets install OF231 following the procedure

http://openfoam.org/download/ubuntu.php

(instead of sudo apt-get install openfoam240 you should use sudo apt-get install openfoam231 or try this "cfdemSolverPiso is based on pisoFoam
and if you compare the options file of pisoFoam (version 2.4.x) with the same file from 2.3.x version you will notice that they differ by:

-I$(LIB_SRC)/meshTools/lnInclude

So, you only need to add this string to options file of cfdemSolverPiso solver)

2)lets install GIT following this man part

sudo apt-get install libvtk5-dev libeigen2-dev libopenmpi-dev g++ git-core

3)lets clone LIGGGHTS, follow the manual
If not already done, open a terminal and create a directory for LIGGGHTS(R) in $HOME:

cd
mkdir LIGGGHTS
cd LIGGGHTS

To clone the public LIGGGHTS repository, open a terminal and execute:

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

Under certain circumstances (e.g. company firewall) this might fail and instead you can use

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

4)Now clonning the CFDEM

cd
mkdir CFDEM
cd CFDEM

Make sure that OpenFOAM(R) is already set up correctly!
To clone the public CFDEM(R)coupling repository, open a terminal and execute:

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

5)Installing LPP
Optionally you can install lpp which will help you convert the DEM (dump) data to VTK format. For standard
CFD-DEM runs this will not be necessary. To get the DEM postporcessing tool "lpp" you need python-numpy
package installed:

sudo apt-get install python-numpy

You can pull the latest version of lpp with:

cd $HOME/LIGGGHTS
git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/lpp mylpp

6)Setting Environment Variables:

Now you need to set some environment variables in ~/.bashrc (if you use c-shell, manipulate ~/.cshrc
accordingly). Open ~/.bashrc

gedit ~/.bashrc

add the lines (you find them also in .../cfdemParticle/etc/bashrc and cshrc respectively):

#================================================#
#- 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=fedora_fpic
export CFDEM_LPP_DIR=$HOME/LIGGGHTS/mylpp/src
export CFDEM_PIZZA_DIR=$HOME/LIGGGHTS/PIZZA/gran_pizza_17Aug10/src
. $CFDEM_bashrc
#================================================#

Save the ~/.bashrc, open a NEW TERMINAL and test the settings. The commands:

$CFDEM_PROJECT_DIR
$CFDEM_SRC_DIR
$CFDEM_LIGGGHTS_SRC_DIR

should give "...: is a directory" otherwise something went wrong and the environment variables in ~/bashrc are
not set correctly.

8)You may install OCTAVE to be able to open eps graphics

sudo apt-get install octave

9)If above settings were done correctly, you can compile LIGGGHTS(R) by typing:

cfdemCompLIG

10)then compile CFDEM(R)coupling by typing:

cfdemCompCFDEM

DONE!!!

j-kerbl's picture

j-kerbl | Thu, 10/13/2016 - 09:53

Hi Ural,
thanks for sharing!
Cheers
Josef

NTT1508 | Thu, 10/20/2016 - 07:55

Thanks Ural for uploading this. I suppose compiling LIGGGHTS by make ubuntuVTK is useful for the future use. LPP will not be needed anymore. However installing VTK is quite tricky.

ural | Thu, 10/20/2016 - 11:14

Wow that's gonna be very very good

NTT1508 | Fri, 10/21/2016 - 09:48

That would be great Josef, I spent much time on linking the VTK libraries as well.