CFDEMproject WWW Site

CFDEMcoupling Documentation



1. Contents

The CFDEMcoupling documentation is organized into the following sections. If you find errors or omissions in this manual or have suggestions for useful information to add, please send an email to the developers so we can improve the CFDEMcoupling documentation.

1.1 About CFDEMcoupling
1.2 Installation
1.3 Tutorials
1.4 couplingProperties dictionary
1.5 liggghtsCommands dictionary
1.6 Models and solvers

1.1 About CFDEMcoupling

CFDEM coupling provides an open source parallel coupled CFD-DEM framework combining the strengths of LIGGGHTS DEM code and the Open Source CFD package OpenFOAM(R)(*). The CFDEMcoupling toolbox allows to expand standard CFD solvers of OpenFOAM(R)(*) to include a coupling to the DEM code LIGGGHTS. In this toolbox the particle representation within the CFD solver is organized by "cloud" classes. Key functionalities are organised in sub-models (e.g. force models, data exchange models, etc.) which can easily be selected and combined by dictionary settings.

The coupled solvers run fully parallel on distributed-memory clusters. Features are:

The file structure:

Details on installation are given on the CFDEMproject WWW Site . The functionality of this CFD-DEM framwork is described via tutorial cases showing how to use different solvers and models.

CFDEMcoupling stands for Computational Fluid Dynamics (CFD) -Discrete Element Method (DEM) coupling.

CFDEMcoupling is an open-source code, distributed freely under the terms of the GNU Public License (GPL).

Core development of CFDEMcoupling is done by Christoph Goniva and Christoph Kloss, both at DCS Computing GmbH, 2012

This documentation was written by Christoph Goniva, DCS Computing GmbH, 2012


(*) OpenFOAM(R) is a registered trade mark of Silicon Graphics International Corp. This offering is not affiliated, approved or endorsed by Silicon Graphics International Corp., the producer of the OpenFOAM(R) software and owner of the OpenFOAM(R) trademark.


1.2 Installation

Please follow the installation routine provided at www.cfdem.com. In order to get the latest code version, please use the git repository at http://github.com (githubAccess).


1.3 Tutorials

General:

Each solver of the CFDEMcoupling is comes with at least one tutorial example, showing its functionality and correct useage. Provided that the installation is correct, the tutorials can be run via "Allrun.sh" shell scripts. These scripts perform all necessary steps (preprocessing, run, postprocessing, visualization).

Location:

The tutorials can be found in the directory $CFDEM_PROJECT_DIR/tutorials, which can be reached by typing "cfdemTut"

Structure:

Each case is structured in a directory called "CFD" covering the CFD relevant settings and data, and a dirctory called "DEM" covering the DEM relevant settings and data. This allows to easily expand a pure CFD or DEM simulation case to a coupled case.

Usage:

Provided that the installation is correct, the tutorials can be run via "Allrun.sh" shell script, executed by typing "./Allrun.sh". The successful run of the script might need some third party software (e.g. octave, evince, etc.).

Settings:

The main settings of a simulation are done via dictionaries:

The DEM setup of each case is defined by a LIGGGHTS input file located in $caseDir/DEM (e.g. in.liggghts_init). For details on the LIGGGHTS setup, please have a look in the LIGGGHTS manual.

Standard CFD settings are defined in $caseDir/CFD/constant (e.g. transportProperties, RASproperties, etc.) and $caseDir/CFD/system (e.g. fvSchemes, controlDict). You can find more information on that in OpenFOAM(R)(*) documentations (www.openFoam.com)(*).

Settings of the coupling routines are defined in $caseDir/CFD/constant/couplingProperies (e.g. force models, data exchange model, etc.) and $caseDir/CFD/constant/liggghtsCommands (allows to execute a LIGGGHTS command during a coupled simulation).


1.4 "couplingProperties" dictionary

General:

In the "couplingProperties" dictionary the setup of the coupling routines of the CFD-DEM simulation are defined.

Location: $caseDir/CFD/constant

Structure:

The dictionary is divided into two parts, "sub-models & settings" and "sub-model properties".

In "sub-models & settings" the following routines must be specified:

In "sub-model properties" sub-dictionaries might be defined to specify model specific parameters.

Settings:

Reasonable example settings for the "couplingProperties" dictionary are given in the tutorial cases.


1.5 "liggghtsCommands" dictionary

General:

In the "liggghtsCommands" dictionary liggghts commands being executed during a coupled CFD-DEM simulation are specified.

Location: $caseDir/CFD/constant

Structure:

The dictionary is divided into two parts, first a list of "liggghtsCommandModels" is defined, then the settings for each model must be specified.

Settings:

Reasonable example settings for the "liggghtsCommands" dictionary are given in the tutorial cases.


1.6 Models/Solvers

This section lists all CFDEMcoupling sub-models and solvers alphabetically, with a separate listing below of styles within certain commands.

IOModelIOModel_basicIO
IOModel_noIOaveragingModel
averagingModel_dilutecfdemSolverIB
cfdemSolverPisocfdemSolverPisoScalar
clockModelclockModel_noClock
clockModel_standardClockdataExchangeModel
dataExchangeModel_noDataExchangedataExchangeModel_oneWayVTK
dataExchangeModel_twoWayFilesdataExchangeModel_twoWayMPI
forceModelforceModel_Archimedes
forceModel_ArchimedesIBforceModel_DiFeliceDrag
forceModel_GidaspowDragforceModel_KochHillDrag
forceModel_LaEuScalarTempforceModel_MeiLift
forceModel_SchillerNaumannDragforceModel_ShirgaonkarIB
forceModel_gradPForceforceModel_noDrag
forceModel_virtualMassForceforceModel_viscForce
liggghtsCommandModelliggghtsCommandModel_execute
liggghtsCommandModel_readLiggghtsDataliggghtsCommandModel_runLiggghts
liggghtsCommandModel_writeLiggghtslocateModel
locateModel_engineSearchlocateModel_engineSearchIB
locateModel_standardSearchmeshMotionModel
meshMotionModel_noMeshMotionmomCoupleModel
momCoupleModel_explicitCouplemomCoupleModel_implicitCouple
momCoupleModel_noCoupleregionModel
regionModel_allRegionvoidfractionModel
voidfractionModel_GaussVoidFractionvoidfractionModel_IBVoidFraction
voidfractionModel_bigParticleVoidFractionvoidfractionModel_centreVoidFraction
voidfractionModel_dividedVoidFraction