mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
[DOC] add installation instructions
This commit is contained in:
@ -7,8 +7,215 @@
|
|||||||
|
|
||||||
2. Installation :link(1_2),h3
|
2. Installation :link(1_2),h3
|
||||||
|
|
||||||
Please follow the installation routine provided at www.cfdem.com.
|
|
||||||
In order to get the latest code version, please use the git repository at
|
In order to get the latest code version, please use the git repository at
|
||||||
http://github.com ("githubAccess"_githubAccess_public.html).
|
"http://github.com"_https://github.com/ParticulateFlow
|
||||||
|
(see also "Github access"_githubAccess_public.html).
|
||||||
|
|
||||||
|
|
||||||
|
2.1 Installing OpenFOAM :h4
|
||||||
|
|
||||||
|
2.1.1 Obtain a copy of the source code :h5
|
||||||
|
|
||||||
|
In the CFDEMcoupling repository take a look at the file
|
||||||
|
|
||||||
|
src/lagrangian/cfdemParticle/cfdTools/versionInfo.H :pre
|
||||||
|
|
||||||
|
to find out the latest tested version of LIGGGHTS and OpenFOAM that work with
|
||||||
|
CFDEMcoupling. As of this writing the version of OpenFOAM to be used is 4.x.
|
||||||
|
|
||||||
|
You can then basically follow the instructions at
|
||||||
|
"openfoam.org"_https://openfoam.org/download/source/, cloning OpenFOAM from the
|
||||||
|
git repository.
|
||||||
|
|
||||||
|
cd $HOME
|
||||||
|
mkdir OpenFOAM
|
||||||
|
cd OpenFOAM
|
||||||
|
git clone https://github.com/OpenFOAM/OpenFOAM-4.x.git :pre
|
||||||
|
|
||||||
|
Clone the corresponding third party packages to the OpenFOAM folder.
|
||||||
|
|
||||||
|
git clone https://github.com/OpenFOAM/ThirdParty-4.x.git :pre
|
||||||
|
|
||||||
|
Switch to root user with sudo
|
||||||
|
|
||||||
|
sudo su - :pre
|
||||||
|
|
||||||
|
Install dependent packages required for OpenFOAM on Ubuntu by executing the
|
||||||
|
following commands:
|
||||||
|
|
||||||
|
apt-get install build-essential flex bison cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev
|
||||||
|
apt-get install qt4-dev-tools libqt4-dev libqt4-opengl-dev freeglut3-dev libqtwebkit-dev
|
||||||
|
apt-get install libcgal-dev :pre
|
||||||
|
|
||||||
|
2.1.2 Setup the environment :h5
|
||||||
|
|
||||||
|
Open your bash startup file
|
||||||
|
|
||||||
|
NOTE: Don't forget the dot before the file name of {.bashrc}
|
||||||
|
|
||||||
|
gedit ~/.bashrc :pre
|
||||||
|
|
||||||
|
and add the following lines:
|
||||||
|
|
||||||
|
source $HOME/OpenFOAM/OpenFOAM-4.x/etc/bashrc
|
||||||
|
export WM_NCOMPPROCS=4 :pre
|
||||||
|
|
||||||
|
Save the file and reload it:
|
||||||
|
|
||||||
|
source ~/.bashrc :pre
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Additional check]
|
||||||
|
|
||||||
|
Open ~/OpenFOAM/OpenFOAM-4.x/etc/bashrc and make sure that {WM_MPLIB} is set
|
||||||
|
correctly:
|
||||||
|
|
||||||
|
export WM_MPLIB=SYSTEMOPENMPI :pre
|
||||||
|
|
||||||
|
This should be the default setting but if you encounter some problems regarding
|
||||||
|
MPI you might have to download the openmpi-1.10.2 source package to the third
|
||||||
|
party folder and change the setting to {OPENMPI}
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
|
||||||
|
2.1.3 Compile ThirdParty packages :h5
|
||||||
|
|
||||||
|
cd $WM_THIRD_PARTY_DIR
|
||||||
|
./Allwmake :pre
|
||||||
|
|
||||||
|
|
||||||
|
[Compiling Paraview and the Paraview Reader Module]
|
||||||
|
|
||||||
|
Paraview is a third-party software provided for graphical post-processing in
|
||||||
|
OpenFOAM. Its compilation is automated using a script called makeParaView in the
|
||||||
|
ThirdParty-4.x directory.
|
||||||
|
|
||||||
|
Before installing Paraview, check the version of cmake that is installed on the
|
||||||
|
system. This can be done by typing
|
||||||
|
|
||||||
|
cmake --version :pre
|
||||||
|
|
||||||
|
If the system cmake is older than version 2.8.8, clone a newer version to the
|
||||||
|
Third Party folder and compile it by executing the following:
|
||||||
|
|
||||||
|
cd $WM_THIRD_PARTY_DIR
|
||||||
|
git clone https://github.com/Kitware/CMake.git cmake-3.2.1
|
||||||
|
cd cmake-3.2.1
|
||||||
|
git checkout tags/v3.2.1
|
||||||
|
cd ..
|
||||||
|
./makeCmake :pre
|
||||||
|
|
||||||
|
In makeParaView set the path to cmake:
|
||||||
|
|
||||||
|
CMAKE_PATH="$WM_THIRD_PARTY_DIR/platforms/linux64Gcc/cmake-3.2.1/bin" :pre
|
||||||
|
|
||||||
|
To install Paraview, execute the following
|
||||||
|
|
||||||
|
cd $WM_THIRD_PARTY_DIR
|
||||||
|
./makeParaView :pre
|
||||||
|
|
||||||
|
If you get the following error
|
||||||
|
|
||||||
|
|
||||||
|
VTK/ThirdParty/hdf5/vtkhdf5/src/H5detect.c:158:1: error: unknown type name ‘sigjmp_buf’
|
||||||
|
static H5JMP_BUF jbuf_g; :pre
|
||||||
|
|
||||||
|
in VTK/ThirdParty/hdf5/vtkhdf5/config/cmake/ConfigureChecks.cmake around line 445 change
|
||||||
|
|
||||||
|
set (HDF5_EXTRA_FLAGS -D_DEFAULT_SOURCE -D_BSD_SOURCE) :pre
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
set (HDF5_EXTRA_FLAGS -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_BSD_SOURCE) :pre
|
||||||
|
|
||||||
|
|
||||||
|
2.1.4 Compile OpenFOAM :h5
|
||||||
|
|
||||||
|
[Compiling the source code]
|
||||||
|
|
||||||
|
cd $WM_PROJECT_DIR
|
||||||
|
./Allwmake :pre
|
||||||
|
|
||||||
|
|
||||||
|
[Testing the installation]
|
||||||
|
|
||||||
|
Create a project directory within the $HOME/OpenFOAM directory
|
||||||
|
|
||||||
|
mkdir -p $FOAM_RUN :pre
|
||||||
|
|
||||||
|
Copy the tutorial examples directory in the OpenFOAM distribution to the run
|
||||||
|
directory. If the OpenFOAM environment variables are set correctly, then the
|
||||||
|
following command will be correct:
|
||||||
|
|
||||||
|
cp -r $FOAM_TUTORIALS $FOAM_RUN :pre
|
||||||
|
|
||||||
|
Run the first example case of incompressible laminar flow in a cavity:
|
||||||
|
|
||||||
|
cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity/cavity
|
||||||
|
blockMesh
|
||||||
|
icoFoam
|
||||||
|
paraFoam :pre
|
||||||
|
|
||||||
|
|
||||||
|
2.2 Installing CFDEMcoupling :h4
|
||||||
|
|
||||||
|
Make sure OpenFOAM is set up correctly and LIGGGHTS is installed as well. Clone
|
||||||
|
the CFDEMcoupling source from the repository:
|
||||||
|
|
||||||
|
cd $HOME
|
||||||
|
mkdir CFDEM
|
||||||
|
cd CFDEM
|
||||||
|
git clone https://github.com/ParticulateFlow/CFDEMcoupling.git :pre
|
||||||
|
|
||||||
|
Open the bashrc file of CFDEMcoupling
|
||||||
|
|
||||||
|
gedit ~/CFDEM/CFDEMcoupling/etc/bashrc & :pre
|
||||||
|
|
||||||
|
Edit the lines marked as {USER EDITABLE PART} to reflect your installation paths
|
||||||
|
correctly. Save the bashrc file and reload it:
|
||||||
|
|
||||||
|
source ~/CFDEM/CFDEMcoupling/etc/bashrc :pre
|
||||||
|
|
||||||
|
Entering $CFDEM_PROJECT_DIR in a the terminal should now give "... is a directory"
|
||||||
|
|
||||||
|
Check if everything is set up correctly:
|
||||||
|
|
||||||
|
cfdemSysTest :pre
|
||||||
|
|
||||||
|
Compile LIGGGHTS (as a library)
|
||||||
|
|
||||||
|
cfdemCompLIG :pre
|
||||||
|
|
||||||
|
If the compilation fails with a message like
|
||||||
|
|
||||||
|
No rule to make target `/usr/lib/libpython2.7.so' :pre
|
||||||
|
|
||||||
|
you probably need to create a symbolic link to the library in question.
|
||||||
|
|
||||||
|
Compile CFDEMcoupling (library, solvers and utilities) in one go
|
||||||
|
|
||||||
|
cfdemCompCFDEM :pre
|
||||||
|
|
||||||
|
or alternatively step by step
|
||||||
|
|
||||||
|
cfdemCompCFDEMsrc
|
||||||
|
cfdemCompCFDEMsol
|
||||||
|
cfdemCompCFDEMuti :pre
|
||||||
|
|
||||||
|
Find the log files of the compile process
|
||||||
|
|
||||||
|
cd ~/CFDEM/CFDEMcoupling/etc/log
|
||||||
|
ls :pre
|
||||||
|
|
||||||
|
If the file [log_compile_results_success] is present, compilation was successful.
|
||||||
|
|
||||||
|
Install Octave for post-processing some of the tutorial output.
|
||||||
|
|
||||||
|
sudo apt-get install octave :pre
|
||||||
|
|
||||||
|
To run all tutorial cases type in a terminal:
|
||||||
|
|
||||||
|
cfdemTestTUT :pre
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user