CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   OpenFOAM 2.0.0 DEM method (

And July 13, 2011 11:24

OpenFOAM 2.0.0 DEM method
Hello to the forum,

It seems that the new lagrangian functionalities included in the version 2.0.0 allow to conduct four-way coupled simulations of particle laden flows as it is reported at the following link:
  • detailed collision models that can include deformation, friction, rolling, cohesion, etc., for example, a spring-slider-dashpot model;
  • each particle can undergo multiple, simultaneous collisions;
  • different sized particles and “representative” particles, i.e. single computational particles that represent several real particles;
  • complete coupling with the continuum phase

If I understand correctly the previous issues, simultaneous collisions are taken into account and there is a complete coupling with the continuos phase should mean that the effect of particle-particle interactions on the continuos phase is described by the model. Is this the right interpretation or not ?

Thanks in advance,


cgoniva July 14, 2011 09:29

Hello Andrea!

There is a lot of new functionality for the lagrangian particles. The solver "uncoupledKinematicParcelFoam" does not include the 4-way coupling (fluid velocity field is pre-defined).

We tried to do some rough comparison of new DEM functionality in OpenFOAM(R) with another open source CFD-DEM coupling for the Hopper test case. (see: CFDEM Benchmarks)


francescomarra July 14, 2011 10:20

Hello Chris !

Nice to see you in this forum.

I was just discussing with Andrea about the differences between the lagrangian library of OpenFOAM and that of CFDEM. Looking at the speedup reported in the CFDEM Benchmarks you pointed, I would ask you if the reason for the large differences can be attributed to different strategy of parallelization.
OpenFOAM use essentially a domain decomposition method, for the distribution of particles too.
I do not know CFDEM in the same detail (always quite low) but it should be the coupling of two codes (OpenFOAM and LIGGGTHS). Therefore, while domain decomposition should be still adopted for the fluid phase, a different approach could be adopted for the lagrangian phase, for instance a perfect distribution of particle among processors. That way, a perfect load balance could be always ensured for the lagrangian phase too.

If this is the case, to increase speedup of the OpenFOAM library, a proper domain decomposition, that optimize not only the number of cells but also the number of particles attributed to each processor, should effectively improve speedup results.

Your comment and suggestion will greatly help me.

Best regards,


cgoniva July 14, 2011 11:11

Hi Francesco,

As I do not know the OpenFOAM(R) implementation in detail I cannot comment on that too much...

Your point is right, different domain decompositions for DEM and CFD can bring a speedup, but only when domains differ in size or particles are located in a small region of the whole domain. Which is not the case for the Hopper example.

More important is probably the neighbor list build-up. (you only want to check for possible particle collisions)

Another difference is the localization of the particles IMHO OpenFOAM(R) tracks them through every cell (face to face algorithm - very accurate) ,while CFDEM does lose-find which can be efficient when the coupling interval is long.

Main strength of LIGGGHTS is the efficiency of its code-base (LAMMPS) and the CFDEM coupling profits from that as well. From the testcase you can see that including 4-way coupling costs time compared to pure DEM, but nevertheless it is pretty fast.

I would be happy to have a more detailed comparison of the performance of the codes (what we currently have is just a rough estimate).

Best regards,

flosens July 15, 2011 03:27

Hi guys,

I`m new to this forum and I`m particularly interested in DEM-CFD coupling.
I ran the icoUncoupledKinematicParcelFoam case but there is no coupling happening. The solver name includes `uncoupled` which leads me to the conclusion that is not capable of solving coupled problems.
Could please anybody clearify if coupling by interaction of fluid and particles (forces) is already possible in OF v2.0 or if the coupling is still work in progress ?
If OFv2.0 already includes some coupling functionality what source files should I look at ?
I also checked the doxygen documentation and could not find anything about icoUncoupledKinematicParcelFoam solver yet.

Thanks in advance. July 3, 2012 04:31

Creating a positioning of particles

Regarding IcoUncoupledkinematicparcelFoam

Please any one how to create a positioning of particles (kinematiccloudpositions) in easier way...:confused:



riesotto March 26, 2013 09:52

coupled simulation with OF2.x
Hi all,

is there a possibility to simulate coupling with the continuum phase (Solver???) with the new options in OF2.x???
Similar simulations like the fluidized bed at
There Should be a possibility (see here

I tried using the icoUncoupledKinematicParcelFoam solver of the hopper tutorial. First I modified the boundary in in the blockMeshDict, to get an inlet and outlet. Then I modified /0/U with 'appropriate' values. Finally I change the kinematicCloudProperties (coupled true).

However, no success. I get the following error message:
Create time

Create mesh for time = 0
Reading g
Reading transportProperties
Reading field U
Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting turbulence model type RASModel
Selecting RAS turbulence model laminar
Constructing kinematicCloud kinematicCloud
[0] keyword sourceTerms is undefined in dictionary "/home/florian/OpenFOAM/florian-2.1.1/run/DEm/Test/processor0/../constant/kinematicCloudProperties::solution"
[0] file: /home/florian/OpenFOAM/florian-2.1.1/run/DEm/Test/processor0/../constant/kinematicCloudProperties::solution from line 20 to line 34.
[0] From function dictionary::subDict(const word& keyword)
[0] in file [1]
db/dictionary/dictionary.C at line 479.
FOAM parallel run exiting
[1] keyword sourceTerms is undefined in dictionary "IOstream::solution"
[1] file: IOstream::solution from line 0 to line 0.
[1] From function dictionary::subDict(const word& keyword)
[1] in file db/dictionary/dictionary.C at line 479.
FOAM parallel run exiting
MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
with errorcode 1.


coupled false everthing works fine, but there is no interaction with the continuum phase.

Any ideas???

kind regards

Fine February 7, 2015 11:20


For the particles to be coupled with the continuum phase, should there not be a volume fraction term included in the continuum velocity equation? Should the momentum equation for the continuum phase not look almost identical to that used in twoPhaseEulerFoam for the U2Eqn?

I can't seem to find where the volume fraction is included in the momentum equations for any of the lagrangian solvers in OpenFOAM 2.2.1.

Can anybody perhaps point out if the coupling is indeed done in the lagrangian solvers, and if it is: why is a volume fraction term not included in the momentum equation for the continuum phase?

All times are GMT -4. The time now is 06:04.