SlideShare a Scribd company logo
1 of 44
Download to read offline
LeMoS
German OpenFOAM User meeting 2017 (GOFUN 2017)
Particle Simulation with
OpenFOAM®
Introduction, Fundamentals and
Applications
ROBERT KASPER
Chair of Modeling and Simulation,
University of Rostock
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 1 / 44
LeMoS
Outline
Introduction
Motivation
Lagrangian-Particle-Tracking in OpenFOAM
Fundamentals of Lagrangian-Particle-Tracking
Governing Equations
Particle Forces
Particle Response Time
Phase-Coupling Mechanisms
Particle-Particle Interaction
Application
How to build your own Eulerian-Lagrangian Solver in OpenFOAM
How to use your own Eulerian-Lagrangian Solver in OpenFOAM
Post-Processing with OpenFOAM/Paraview
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 2 / 44
LeMoS
Outline
Introduction
Motivation
Lagrangian-Particle-Tracking in OpenFOAM
Fundamentals of Lagrangian-Particle-Tracking
Governing Equations
Particle Forces
Particle Response Time
Phase-Coupling Mechanisms
Particle-Particle Interaction
Application
How to build your own Eulerian-Lagrangian Solver in OpenFOAM
How to use your own Eulerian-Lagrangian Solver in OpenFOAM
Post-Processing with OpenFOAM/Paraview
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 3 / 44
LeMoS
Why Particle Simulations with OpenFOAM?
• OpenFOAM is free and open source
(customization and unlimited parallelization
possible)
• OpenFOAM is constantly under development
with a continuous growing community
(academic research, R&D in companies)
• OpenFOAM includes solvers for any
application of particle-laden flows (e.g.
process engineering, mechanical
engineering, civil engineering, physics,...)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 4 / 44
LeMoS
Lagrangian-Particle-Tracking in OpenFOAM
• Solvers for any kind of particle-laden flow are already implemented1
:
• DPMFoam/MPPICFoam: Transient solver for the coupled transport of a single
kinematic particle cloud including the effect of the volume fraction of particles on the
continuous phase (Multi-Phase Particle In Cell modeling is used to represent collisions
without resolving particle-particle interactions)
• uncoupledKinematicParcelFoam: Transient solver for the passive transport of a
single kinematic particle cloud
• reactingParcelFilmFoam: Transient solver for compressible, turbulent flow with a
reacting, multiphase particle cloud, and surface film modelling
• sprayFoam: Transient solver for compressible, turbulent flow with a spray particle cloud
• ...
• No proper solver available? Customize one of the existing...
1
based on OpenFOAM-4.x
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 5 / 44
LeMoS
Outline
Introduction
Motivation
Lagrangian-Particle-Tracking in OpenFOAM
Fundamentals of Lagrangian-Particle-Tracking
Governing Equations
Particle Forces
Particle Response Time
Phase-Coupling Mechanisms
Particle-Particle Interaction
Application
How to build your own Eulerian-Lagrangian Solver in OpenFOAM
How to use your own Eulerian-Lagrangian Solver in OpenFOAM
Post-Processing with OpenFOAM/Paraview
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 6 / 44
LeMoS
Governing Equations of Lagrangian-Particle-Tracking
• Calculation of isothermal particle motions requires the solution of the following set of
ordinary differential equations:
dxp
dt
= up, mp
dup
dt
= Fi, Ip
dωp
dt
= T (1)
• Newton’s second law of motion presupposes the consideration of all relevant forces
acting on the particle, e.g., drag, gravitational and buoyancy forces, pressure forces:
mp
dup
dt
= Fi = FD + FG + FP + ... (2)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 7 / 44
LeMoS
Drag Force
• Drag is the most important force (approx. 80 % of the total force) and is expressed in
terms of the drag coefficient CD :
FD = CD
πD2
p
8
ρf (uf − up) |uf − up| (3)
Drag correlations (spherical particle)
• Schiller-Naumann (1935):
CD =
24
Rep
1 + 0.15Re0.687
p if Rep ≤ 1000
0.44 if Rep > 1000
(4)
• Putnam (1961):
CD =
24
Rep
1 + 1
6
Re
2/3
p if Rep ≤ 1000
0.424 if Rep > 1000
(5)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 8 / 44
LeMoS
Drag Force
10−1
100
101
102
103
104
105
106
10−1
100
101
102
Rep = ρf Dp|uf −up|
µf
[-]
CD[-] Measurement
Stokes regime
Newton regime
Schiller-Naumann
Putnam
Figure: Drag coefficient as a function of particle Reynolds number, comparison of experimental data with
correlations of Schiller-Naumann (1935) and Putnam (1961)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 9 / 44
LeMoS
Gravity/Buoyancy and Pressure Gradient Force
• Gravitational and Buoyancy force is computed as one total force:
FG = mpg 1 −
ρf
ρp
(6)
• The force due to a local pressure gradient can be expressed for a spherical particle
simply as:
FP = −
πD3
p
6
p (7)
• Expressing the local pressure gradient p in terms of the momentum equation leads
to the final pressure gradient force:
Fp = ρf
πD3
p
6
Duf
Dt
− · ν uf + uT
f (8)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 10 / 44
LeMoS
Other Forces
• Added mass force: particle acceleration or deceleration in a fluid requires also an
accelerating or decelerating of a certain amount of the fluid surrounding the particle
(important for liquid-particle flows)
• Slip-shear lift force: particles moving in a shear layer experience a transverse lift
force due to the nonuniform relative velocity over the particle and the resulting
nonuniform pressure distribution
• Slip-rotation lift force: particles, which are freely rotating in a flow, may also
experience a lift force due to their rotation (Magnus force)
• Thermophoretic force: a thermal force moves fine particles in the direction of
negative temperature gradients (important for gas-particle flows)
• ...
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 11 / 44
LeMoS
Particle Response Time
• Particle response time is used to characterize the capability of particles to follow
sudden velocity changes in the flow
• Starting from the equation of motion considering only drag force (divided by particle
mass and in terms of the particle Reynolds number):
dup
dt
=
18µf
ρpD2
p
CD Rep
24
(uf − up) →
dup
dt
=
1
τp
(uf − up) (9)
Particle response time & Stokes number
τp =
ρpD2
p
18µf fD
, St = τp/τf (10)
→ The Stokes number St is the ratio of the
particle response time and a characteristic
time scale of the flow
Figure: Graphical illustration of the particle
response time (Sommerfeld, 2011)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 12 / 44
LeMoS
Phase-Coupling Mechanisms
• Phase-coupling mechanisms strongly influences the behavior of the continous and
dispersed phase:
• One-way coupling: fluid → particles
• Two-way coupling: fluid particles
• Four-way coupling: fluid particles + particle collisions
• Classification of phase-coupling mechanisms according to Elghobashi (1994):
10−8
10−6
10−4
10−2
100
10−1
100
101
102
103
104
105
106
one-way
coupling
(negligible
effect on
turbulence)
two-way
coupling
(particles enhance
production)
two-way
coupling
(particles enhance
dissipation)
four-way
coupling
αp = Vp/V
τp/τK
10−3
10−2
10−1
100
101
102
103
104
τp/τe
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 13 / 44
LeMoS
Particle-Particle Interaction
• OpenFOAM uses the soft-sphere-model (DSEM)
• Particle-particle collisions are considered using a
spring, friction slider and dash-pot
• Normal force is expressed according to the
Hertzian contact theory:
Fn,ij = −knδ3/2
n − ηn,j G · n n (11)
• Tangential force is expressed by:
Ft,ij = −knδt − ηt,j Gct or (12)
Ft,ij = −µ |Fn,ij | t if |Ft,ii |j > µ |Fn,ij | (13)
Figure: Normal force
Figure: Tangential force
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 14 / 44
LeMoS
Outline
Introduction
Motivation
Lagrangian-Particle-Tracking in OpenFOAM
Fundamentals of Lagrangian-Particle-Tracking
Governing Equations
Particle Forces
Particle Response Time
Phase-Coupling Mechanisms
Particle-Particle Interaction
Application
How to build your own Eulerian-Lagrangian Solver in OpenFOAM
How to use your own Eulerian-Lagrangian Solver in OpenFOAM
Post-Processing with OpenFOAM/Paraview
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 15 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
• Problem: no proper solver is available for your requirements?
• Solution: customize an existing solver for your own purposes!
Figure: Particle-laden backward-facing step flow according to Fessler & Eaton (1999)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 16 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
1. Open a terminal and source OpenFOAM-4.x (if not already done)
2. Create a working directory for our Eulerian-Lagrangian solver and move into it:
mkdir solver/
cd solver/
3. Copy the original pimpleFoam solver (Large time-step transient solver for
incompressible, turbulent flow, using the PIMPLE (merged PISO-SIMPLE) algorithm)
from OpenFOAM-4.x and rename it:
cp -r $FOAM_SOLVERS/incompressible/pimpleFoam/ .
mv pimpleFoam pimpleLPTFoam/
cd pimpleLPTFoam/
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 17 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
4. After moving into the pimpleLPTFoam directory, change the name of the pimpleFoam.C
file, remove the pimpleDyMFoam and SRFPimpleFoam sub-solver directories:
mv pimpleFoam.C pimpleLPTFoam.C
rm -r pimpleDyMFoam/ SRFPimpleFoam/
mkdir lagrangian
5. Copy the lagrangian library intermediate (includes submodels for particle forces,
particle collisions, injection and dispersion models,...) from OpenFOAM-4.x:
cp -r $FOAM_SRC/lagrangian/intermediate/ lagrangian/
6. Open the createFields.H file with a text editor for some customizations:
vi createFields.H
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 18 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
7. Add the following code lines after #include "createMRF.H" to create and read
the fluid density from the transportProperties and calculate the inverse fluid density:
createFields.H
Info« "Reading transportPropertiesn" « endl;
IOdictionary transportProperties
(
IOobject
(
"transportProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE
)
);
dimensionedScalar rhoInfValue
(
transportProperties.lookup("rhoInf")
);
dimensionedScalar invrhoInf("invrhoInf",(1.0/rhoInfValue));
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 19 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
8. Create a volScalarField for the fluid density and the dynamic fluid viscosity:
createFields.H
volScalarField rhoInf
(
IOobject
(
"rho",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
mesh,
rhoInfValue
);
createFields.H
volScalarField mu
(
IOobject
(
"mu",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
laminarTransport.nu()
*rhoInfValue
);
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 20 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
9. Initialize the basicKinematicCollidingCloud (includes particle-particle interactions):
createFields.H
const word kinematicCloudName
(
args.optionLookupOrDefault<word>("cloudName", "kinematicCloud")
);
Info« "Constructing kinematicCloud " « kinematicCloudName « endl;
basicKinematicCollidingCloud kinematicCloud
(
kinematicCloudName,
rhoInf,
U,
mu,
g
);
10. Open the pimpleLPTFoam.C file for some customizations:
vi pimpleLPTFoam.C
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 21 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
11. Add the basicKinematicCollidingCloud.H and readGravitationalAcceleration.H to the
existing header files:
pimpleLPTFoam.C
...
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "fvOptions.H"
#include "basicKinematicCollidingCloud.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
#include "setRootCase.H"
#include "createTime.H"
#include "createMesh.H"
#include "readGravitationalAcceleration.H"
#include "createControl.H"
#include "createTimeControls.H"
#include "createFields.H"
...
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 22 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
12. Add the kinematicCloud.evolve() function after the PIMPLE corrector loop:
pimpleLPTFoam.C
// –- Pressure-velocity PIMPLE corrector loop
while (pimple.loop())
{
#include "UEqn.H"
// –- Pressure corrector loop
while (pimple.correct())
{
#include "pEqn.H"
}
if (pimple.turbCorr())
{
laminarTransport.correct();
turbulence->correct();
}
}
Info« "nEvolving " « kinematicCloud.name() « endl;
kinematicCloud.evolve();
runTime.write();
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 23 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
13. Open the UEqn.H file for some customizations:
vi UEqn.H
14. Expand the momentum equation for two-way coupling:
UEqn.H
tmp<fvVectorMatrix> tUEqn
(
fvm::ddt(U) + fvm::div(phi, U)
+ MRF.DDt(U)
+ turbulence->divDevReff(U)
==
fvOptions(U)
+ invrhoInf*kinematicCloud.SU(U)
);
fvVectorMatrix& UEqn = tUEqn.ref();
UEqn.relax();
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 24 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
15. The implementation is (almost) done, but we need some customizations within the
Make directory of the intermediate library in order to compile everything correctly:
vi intermediate/Make/options
16. We want our own customized intermediate library (maybe to implement a own particle
force model or similar), so replace the last code line of the files file by:
files
LIB = $(FOAM_USER_LIBBIN)/libPimpleLPTLagrangianIntermediate
17. Tell the solver where he can find our intermediate library (and some additional too):
vi Make/options
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 25 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
options
EXE_INC =
-Ilagrangian/intermediate/lnInclude 
-I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude 
-I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude 
-I$(LIB_SRC)/transportModels 
-I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel 
-I$(LIB_SRC)/finiteVolume/lnInclude 
-I$(LIB_SRC)/meshTools/lnInclude 
-I$(LIB_SRC)/sampling/lnInclude 
-I$(LIB_SRC)/lagrangian/basic/lnInclude 
-I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude 
-I$(LIB_SRC)/regionModels/regionModel/lnInclude
EXE_LIBS = 
-L$(FOAM_USER_LIBBIN) 
-lPimpleLPTLagrangianIntermediate 
-llagrangian
-lturbulenceModels 
-lincompressibleTurbulenceModels 
-lincompressibleTransportModels 
-lfiniteVolume 
...
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 26 / 44
LeMoS
How to build your own Eulerian-Lagrangian Solver in
OpenFOAM
18. Tell the compiler the name of our new Eulerian-Lagrangian solver:
vi Make/files
files
pimpleLPTFoam.C
EXE = $(FOAM_USER_APPBIN)/pimpleLPTFoam
19. Finally, we can compile the intermediate library and the solver:
wmake all
You received no error messages from the compiler?
Congratulations, your new Eulerian-Lagrangian solver is ready...
but how to use it?
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 27 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
Particle-laden backward-facing step flow (Fessler & Eaton, 1999)
• Geometry:
• Step height: H = 26.7 mm
• Channel height/width: h = 40 mm, B = 457 mm
• Length inlet and expansion channel: LU = 5h, LD = 35h
• Flow and particle characteristics:
• Centerline velocity and Reynolds number: U0 = 10.5 m/s, Re0 = U0H/ν = 18.600
• Particle type: copper → Dp = 70 µm, ρp = 8800 kg/m3
• Stokes number: St =
τp
τf
= ρpD2
p U0/(90µH) = 6.9
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 28 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
Figure: Snapshot of the instantaneous velocity field |U| obtained from Large Eddy Simulation (sub-grid
scale turbulence model: Dynamic Smagorinsky (DSM)) for Re0 = 18.600
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 29 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
• Basic folder structure of any OpenFOAM case:
0: includes the initial boundary conditions
constant: includes the mesh (polyMesh folder), physical properties of the fluid
(transportProperties), particle properties and settings (kinematicCloudProperties),...
system: includes the simulation settings (controlDict), settings for numerical schemes
(fvSchemes) and solver for the algebraic equations systems (fvSolution), decomposition
methods (decomposeParDict), ...
• Download the current tutorial case setup using the git clone command:
Git repository on Bitbucket
$ git clone https://slint@bitbucket.org/slint/gofun2017_particletut.git
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 30 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
1. We start with the mesh generation → move into the tutorial directory and build the 2D
mesh using OpenFOAM’s blockMesh utility and check the mesh quality:
cd gofun2017_particletutorial/tutorial/BFS/
blockMesh
checkMesh
Figure: Two-dimensional block-structured mesh for the particle-laden backward-facing step flow
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 31 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
2. Let’s see how to define initial boundary conditions (at the example of the velocity field):
U
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (9.39 0 0);
}
outlet
{
type zeroGradient;
}
walls
{
type noSlip;
}
sides
{
type empty;
}
}
• OpenFOAM needs the dimension of the
flow field in SI-units (see OpenFOAM
user guide)
• You can set an initial flow field if present
• Each patch needs an initial boundary
condition
• Boundary conditions in OpenFOAM:
• Dirichlet (fixedValue)
• Neumann (fixedGradient/zeroGradient)
• Special types: cyclic, symmetry, empty
(for 2D caes), ...
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 32 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
3. Let’s see how to set up the particle cloud:
kinematicCloudProperties
solution
{
active true;
coupled true;
transient yes;
cellValueSourceCorrection off;
maxCo 0.3;
interpolationSchemes
{
rho cell;
U cell;
mu cell;
}
integrationSchemes
{
U Euler;
}
sourceTerms
{
schemes
{
U semiImplicit 1;
}
}
• Activate/de-activate the particle cloud
• Enable/disable phase coupling
• Transient/steady-state solution (max.
Courant number)
• Enable/disable correction of momentum
transferred to the Eulerian phase
• Choose interpolation/integration
schemes for the LPT and treatment of
source terms
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 33 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
kinematicCloudProperties
constantProperties
{
rho0 8800;
youngsModulus 1.3e5;
poissonsRatio 0.35;
}
subModels
{
particleForces
{
sphereDrag;
gravity;
pressureGradient
{
U U;
}
}
• Define the physical particle properties:
• Density
• Young’s module (elastic modulus)
• Poisson’s ratio
• Define the relevant particle forces:
• Drag force
• Gravition/Buoyancy force
• Pressure drag force
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 34 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
kinematicCloudProperties
injectionModels
{
model1
{
type patchInjection;
patchName inlet;
duration 1;
parcelsPerSecond 33261;
massTotal 0;
parcelBasisType fixed;
flowRateProfile constant 1;
nParticle 1;
SOI 0.4;
U0 (9.39 0 0);
sizeDistribution
{
type fixedValue;
fixedValueDistribution
{
value 0.00007;
}
}
}
}
• Setup of the particle injection:
• Injection model + injection patch name
• Total duration of particle injection
• Injected parcels/particles per second
• Number of particles per parcel
• Start-of-injection time (SOI)
• Initial parcel/particle velocity (U0)
• Size distribution model (normal size
distribution, ...)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 35 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
kinematicCloudProperties
dispersionModel none;
patchInteractionModel
standardWallInteraction;
standardWallInteractionCoeffs
{
type rebound;
e 0.97;
mu 0.09;
}
surfaceFilmModel none;
stochasticCollisionModel none;
collisionModel pairCollision;
• Specify the sub-models for the particle
simulation:
• Turbulent dispersion models (Discrete
Random Walk model and Gradient
Dispersion model)
• Patch interaction model + coefficients
(rebound, stick or escape)
• Surface film model for dripping and film
interaction (absorb, bounce and
splash)
• Stochastic collision/pair collision model
(spring, slider and dash-pot)
• Further sub-models: heat transfer (only
Ranz-Marshall correlation), phase
change,...
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 36 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
kinematicCloudProperties
pairCollisionCoeffs
{
maxInteractionDistance 0.00007;
writeReferredParticleCloud no;
pairModel pairSpringSliderDashpot;
pairSpringSliderDashpotCoeffs
{
useEquivalentSize no;
alpha 0.12;
b 1.5;
mu 0.52;
cohesionEnergyDensity 0;
collisionResolutionSteps 12;
};
wallModel wallSpringSliderDashpot;
wallSpringSliderDashpotCoeffs
{
useEquivalentSize no;
collisionResolutionSteps 12;
youngsModulus 1e10;
poissonsRatio 0.23;
alpha 0.12;
b 1.5;
mu 0.43;
cohesionEnergyDensity 0;
};
}
• Adjust the particle-particle and
particle-wall interaction model
coefficients:
• α: coefficient related to the coefficient
of restitution e (see diagram)
• b: Spring power → b = 1 (linear) or
b = 3/2 (Hertzian theory)
• µ: friction coefficient
0.01 0.05 0.1 0.5 1 5
0
0.2
0.4
0.6
0.8
1
α [-]
e[-]
Figure: Relationship between α and the coefficient
of restitution e (Tsuji et al., 1992)
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 37 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
kinematicCloudProperties
cloudFunctions
{
voidFraction1
{
type voidFraction;
}
}
• Use cloudFunctions to record particle
tracks, calculate particle erosion, ...
4. The last step is to define the vector of the gravitational acceleration:
g
dimensions [0 1 -2 0 0 0 0];
value ( 0 -9.81 0 );
5. Finally, start our solver (and write a log file):
pimpleLPTFoam > run.log &
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 38 / 44
LeMoS
How to use your own Eulerian-Lagrangian Solver in
OpenFOAM
6. Use OpenFOAM’s foamMonitor utility to check the convergence:
foamMonitor -l postProcessing/residuals/0/residuals.dat
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 39 / 44
LeMoS
Post-Processing with OpenFOAM/Paraview
• OpenFOAM provides many utilities (e.g. sampling of data) and functionObjects (e.g.
calculation of forces and turbulence fields) for the analysis of simulation results
• The standard program for the graphical post-processing of OpenFOAM cases is
Paraview (see OpenFOAM user guide)
1. Start post-processing with Paraview by typing:
paraFoam
2. Load the last time step and check the velocity and pressure field:
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 40 / 44
LeMoS
Post-Processing with OpenFOAM/Paraview
3. Let’s check how much volume of each grid cell is occupied by particles (void fraction
α = Vp/Vc ):
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 41 / 44
LeMoS
Post-Processing with OpenFOAM/Paraview
3. Apply the Extract Block filter on the kinematicCloud and scale the particles using
the Glyph filter:
4. Sample the flow and particle velocity using OpenFOAM’s sample utility (see
OpenFOAM user guide) and plot the velocity profiles:
−2 0 2 4 6 8 10 12 14
0
0.5
1
1.5
2
2.5
2 · Up,x /U0 + x/H
y/H
EFD: LDA (Fessler et al.)
CFD Simulation
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 42 / 44
LeMoS
Further Information and References
OpenFOAM User/Programmers Guide (www.openfoam.org)
Crow, T. C., Schwarzkopf, J. D., Sommerfeld, M. and Tsuji, Y., 2011, Multiphase flows
with droplets and particles, 2nd ed., CRC Press, Taylor & Francis.
Sommerfeld, M., 2010, Particle Motion in Fluids, VDI Heat Atlas, Springer.
Elghobashi, S., 1994, On predicting particle-laden turbulent flows, Applied Scientific
Research, Vol. 52, pp. 309-329.
Fessler, J. R. and Eaton, J. K., 1999, Turbulence modification by particles in a
backward-facing step flow, J. Fluid Mech., Vol. 394, pp. 97-117.
Tsuji, Y., Tanaka, T. and Ishida, T., 1992, Lagrangian numerical simulation of plug flow
of collisionless particles in a horizontal pipe, Powder Tech., Vol. 71, 239.
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 43 / 44
LeMoS
Thank you for your attention!
Any questions?
Robert Kasper, M.Sc.
University of Rostock
Faculty of Mechanical Engineering and Marine Technology
Chair of Modeling and Simulation
Albert-Einstein-Str. 2
18059 Rostock
Email: robert.kasper@uni-rostock.de
March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 44 / 44

More Related Content

Similar to Particle Simulation Fundamentals

Deterioration Modelling of Structural Members Subjected to Cyclic Loading Usi...
Deterioration Modelling of Structural Members Subjected to Cyclic Loading Usi...Deterioration Modelling of Structural Members Subjected to Cyclic Loading Usi...
Deterioration Modelling of Structural Members Subjected to Cyclic Loading Usi...openseesdays
 
aMCfast: Automation of Fast NLO Computations for PDF fits
aMCfast: Automation of Fast NLO Computations for PDF fitsaMCfast: Automation of Fast NLO Computations for PDF fits
aMCfast: Automation of Fast NLO Computations for PDF fitsjuanrojochacon
 
SPRAY-WEB
SPRAY-WEBSPRAY-WEB
SPRAY-WEBARIANET
 
Accepted_Manuscript.pdf
Accepted_Manuscript.pdfAccepted_Manuscript.pdf
Accepted_Manuscript.pdfssusere9c22b
 
Improving Genetic Algorithm (GA) based NoC mapping algorithm using a formal ...
Improving Genetic Algorithm (GA)  based NoC mapping algorithm using a formal ...Improving Genetic Algorithm (GA)  based NoC mapping algorithm using a formal ...
Improving Genetic Algorithm (GA) based NoC mapping algorithm using a formal ...Vinita Palaniveloo
 
Phonons & Phonopy: Pro Tips (2015)
Phonons & Phonopy: Pro Tips (2015)Phonons & Phonopy: Pro Tips (2015)
Phonons & Phonopy: Pro Tips (2015)Jonathan Skelton
 
DSD-INT 2017 State updating using OpenDA and WFlow - Weerts
DSD-INT 2017 State updating using OpenDA and WFlow - WeertsDSD-INT 2017 State updating using OpenDA and WFlow - Weerts
DSD-INT 2017 State updating using OpenDA and WFlow - WeertsDeltares
 
ADF modeling suite: DFT to MD software for chemistry and materials
ADF modeling suite: DFT to MD software for chemistry and materialsADF modeling suite: DFT to MD software for chemistry and materials
ADF modeling suite: DFT to MD software for chemistry and materialsSoftware for Chemistry & Materials
 
Parallel conformational search of small molecules
Parallel conformational search of small moleculesParallel conformational search of small molecules
Parallel conformational search of small moleculesYasset Perez-Riverol
 
論文輪読資料「Gated Feedback Recurrent Neural Networks」
論文輪読資料「Gated Feedback Recurrent Neural Networks」論文輪読資料「Gated Feedback Recurrent Neural Networks」
論文輪読資料「Gated Feedback Recurrent Neural Networks」kurotaki_weblab
 
Matlab lecture 9 – simpson 1,3 and trapezoidal method@taj
Matlab lecture 9 – simpson 1,3 and trapezoidal method@tajMatlab lecture 9 – simpson 1,3 and trapezoidal method@taj
Matlab lecture 9 – simpson 1,3 and trapezoidal method@tajTajim Md. Niamat Ullah Akhund
 

Similar to Particle Simulation Fundamentals (20)

MSc Presentation.potx
MSc Presentation.potxMSc Presentation.potx
MSc Presentation.potx
 
Deterioration Modelling of Structural Members Subjected to Cyclic Loading Usi...
Deterioration Modelling of Structural Members Subjected to Cyclic Loading Usi...Deterioration Modelling of Structural Members Subjected to Cyclic Loading Usi...
Deterioration Modelling of Structural Members Subjected to Cyclic Loading Usi...
 
pdf_2076
pdf_2076pdf_2076
pdf_2076
 
aMCfast: Automation of Fast NLO Computations for PDF fits
aMCfast: Automation of Fast NLO Computations for PDF fitsaMCfast: Automation of Fast NLO Computations for PDF fits
aMCfast: Automation of Fast NLO Computations for PDF fits
 
OpenFOAM Training v5-1-en
OpenFOAM Training v5-1-enOpenFOAM Training v5-1-en
OpenFOAM Training v5-1-en
 
SPRAY-WEB
SPRAY-WEBSPRAY-WEB
SPRAY-WEB
 
WP1.3 – Transient fluid dynamics of CO2 mixtures in pipelines - Alexandre Mor...
WP1.3 – Transient fluid dynamics of CO2 mixtures in pipelines - Alexandre Mor...WP1.3 – Transient fluid dynamics of CO2 mixtures in pipelines - Alexandre Mor...
WP1.3 – Transient fluid dynamics of CO2 mixtures in pipelines - Alexandre Mor...
 
Accepted_Manuscript.pdf
Accepted_Manuscript.pdfAccepted_Manuscript.pdf
Accepted_Manuscript.pdf
 
Impl slpqp ev-sqp
Impl slpqp ev-sqpImpl slpqp ev-sqp
Impl slpqp ev-sqp
 
Improving Genetic Algorithm (GA) based NoC mapping algorithm using a formal ...
Improving Genetic Algorithm (GA)  based NoC mapping algorithm using a formal ...Improving Genetic Algorithm (GA)  based NoC mapping algorithm using a formal ...
Improving Genetic Algorithm (GA) based NoC mapping algorithm using a formal ...
 
Phonons & Phonopy: Pro Tips (2015)
Phonons & Phonopy: Pro Tips (2015)Phonons & Phonopy: Pro Tips (2015)
Phonons & Phonopy: Pro Tips (2015)
 
100-423-1-PB.pdf
100-423-1-PB.pdf100-423-1-PB.pdf
100-423-1-PB.pdf
 
Program on Mathematical and Statistical Methods for Climate and the Earth Sys...
Program on Mathematical and Statistical Methods for Climate and the Earth Sys...Program on Mathematical and Statistical Methods for Climate and the Earth Sys...
Program on Mathematical and Statistical Methods for Climate and the Earth Sys...
 
DSD-INT 2017 State updating using OpenDA and WFlow - Weerts
DSD-INT 2017 State updating using OpenDA and WFlow - WeertsDSD-INT 2017 State updating using OpenDA and WFlow - Weerts
DSD-INT 2017 State updating using OpenDA and WFlow - Weerts
 
ADF modeling suite: DFT to MD software for chemistry and materials
ADF modeling suite: DFT to MD software for chemistry and materialsADF modeling suite: DFT to MD software for chemistry and materials
ADF modeling suite: DFT to MD software for chemistry and materials
 
PhD Exam Talk
PhD Exam TalkPhD Exam Talk
PhD Exam Talk
 
Parallel conformational search of small molecules
Parallel conformational search of small moleculesParallel conformational search of small molecules
Parallel conformational search of small molecules
 
論文輪読資料「Gated Feedback Recurrent Neural Networks」
論文輪読資料「Gated Feedback Recurrent Neural Networks」論文輪読資料「Gated Feedback Recurrent Neural Networks」
論文輪読資料「Gated Feedback Recurrent Neural Networks」
 
Matlab lecture 9 – simpson 1,3 and trapezoidal method@taj
Matlab lecture 9 – simpson 1,3 and trapezoidal method@tajMatlab lecture 9 – simpson 1,3 and trapezoidal method@taj
Matlab lecture 9 – simpson 1,3 and trapezoidal method@taj
 
pof
pofpof
pof
 

Recently uploaded

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 

Recently uploaded (20)

9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 

Particle Simulation Fundamentals

  • 1. LeMoS German OpenFOAM User meeting 2017 (GOFUN 2017) Particle Simulation with OpenFOAM® Introduction, Fundamentals and Applications ROBERT KASPER Chair of Modeling and Simulation, University of Rostock March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 1 / 44
  • 2. LeMoS Outline Introduction Motivation Lagrangian-Particle-Tracking in OpenFOAM Fundamentals of Lagrangian-Particle-Tracking Governing Equations Particle Forces Particle Response Time Phase-Coupling Mechanisms Particle-Particle Interaction Application How to build your own Eulerian-Lagrangian Solver in OpenFOAM How to use your own Eulerian-Lagrangian Solver in OpenFOAM Post-Processing with OpenFOAM/Paraview March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 2 / 44
  • 3. LeMoS Outline Introduction Motivation Lagrangian-Particle-Tracking in OpenFOAM Fundamentals of Lagrangian-Particle-Tracking Governing Equations Particle Forces Particle Response Time Phase-Coupling Mechanisms Particle-Particle Interaction Application How to build your own Eulerian-Lagrangian Solver in OpenFOAM How to use your own Eulerian-Lagrangian Solver in OpenFOAM Post-Processing with OpenFOAM/Paraview March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 3 / 44
  • 4. LeMoS Why Particle Simulations with OpenFOAM? • OpenFOAM is free and open source (customization and unlimited parallelization possible) • OpenFOAM is constantly under development with a continuous growing community (academic research, R&D in companies) • OpenFOAM includes solvers for any application of particle-laden flows (e.g. process engineering, mechanical engineering, civil engineering, physics,...) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 4 / 44
  • 5. LeMoS Lagrangian-Particle-Tracking in OpenFOAM • Solvers for any kind of particle-laden flow are already implemented1 : • DPMFoam/MPPICFoam: Transient solver for the coupled transport of a single kinematic particle cloud including the effect of the volume fraction of particles on the continuous phase (Multi-Phase Particle In Cell modeling is used to represent collisions without resolving particle-particle interactions) • uncoupledKinematicParcelFoam: Transient solver for the passive transport of a single kinematic particle cloud • reactingParcelFilmFoam: Transient solver for compressible, turbulent flow with a reacting, multiphase particle cloud, and surface film modelling • sprayFoam: Transient solver for compressible, turbulent flow with a spray particle cloud • ... • No proper solver available? Customize one of the existing... 1 based on OpenFOAM-4.x March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 5 / 44
  • 6. LeMoS Outline Introduction Motivation Lagrangian-Particle-Tracking in OpenFOAM Fundamentals of Lagrangian-Particle-Tracking Governing Equations Particle Forces Particle Response Time Phase-Coupling Mechanisms Particle-Particle Interaction Application How to build your own Eulerian-Lagrangian Solver in OpenFOAM How to use your own Eulerian-Lagrangian Solver in OpenFOAM Post-Processing with OpenFOAM/Paraview March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 6 / 44
  • 7. LeMoS Governing Equations of Lagrangian-Particle-Tracking • Calculation of isothermal particle motions requires the solution of the following set of ordinary differential equations: dxp dt = up, mp dup dt = Fi, Ip dωp dt = T (1) • Newton’s second law of motion presupposes the consideration of all relevant forces acting on the particle, e.g., drag, gravitational and buoyancy forces, pressure forces: mp dup dt = Fi = FD + FG + FP + ... (2) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 7 / 44
  • 8. LeMoS Drag Force • Drag is the most important force (approx. 80 % of the total force) and is expressed in terms of the drag coefficient CD : FD = CD πD2 p 8 ρf (uf − up) |uf − up| (3) Drag correlations (spherical particle) • Schiller-Naumann (1935): CD = 24 Rep 1 + 0.15Re0.687 p if Rep ≤ 1000 0.44 if Rep > 1000 (4) • Putnam (1961): CD = 24 Rep 1 + 1 6 Re 2/3 p if Rep ≤ 1000 0.424 if Rep > 1000 (5) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 8 / 44
  • 9. LeMoS Drag Force 10−1 100 101 102 103 104 105 106 10−1 100 101 102 Rep = ρf Dp|uf −up| µf [-] CD[-] Measurement Stokes regime Newton regime Schiller-Naumann Putnam Figure: Drag coefficient as a function of particle Reynolds number, comparison of experimental data with correlations of Schiller-Naumann (1935) and Putnam (1961) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 9 / 44
  • 10. LeMoS Gravity/Buoyancy and Pressure Gradient Force • Gravitational and Buoyancy force is computed as one total force: FG = mpg 1 − ρf ρp (6) • The force due to a local pressure gradient can be expressed for a spherical particle simply as: FP = − πD3 p 6 p (7) • Expressing the local pressure gradient p in terms of the momentum equation leads to the final pressure gradient force: Fp = ρf πD3 p 6 Duf Dt − · ν uf + uT f (8) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 10 / 44
  • 11. LeMoS Other Forces • Added mass force: particle acceleration or deceleration in a fluid requires also an accelerating or decelerating of a certain amount of the fluid surrounding the particle (important for liquid-particle flows) • Slip-shear lift force: particles moving in a shear layer experience a transverse lift force due to the nonuniform relative velocity over the particle and the resulting nonuniform pressure distribution • Slip-rotation lift force: particles, which are freely rotating in a flow, may also experience a lift force due to their rotation (Magnus force) • Thermophoretic force: a thermal force moves fine particles in the direction of negative temperature gradients (important for gas-particle flows) • ... March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 11 / 44
  • 12. LeMoS Particle Response Time • Particle response time is used to characterize the capability of particles to follow sudden velocity changes in the flow • Starting from the equation of motion considering only drag force (divided by particle mass and in terms of the particle Reynolds number): dup dt = 18µf ρpD2 p CD Rep 24 (uf − up) → dup dt = 1 τp (uf − up) (9) Particle response time & Stokes number τp = ρpD2 p 18µf fD , St = τp/τf (10) → The Stokes number St is the ratio of the particle response time and a characteristic time scale of the flow Figure: Graphical illustration of the particle response time (Sommerfeld, 2011) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 12 / 44
  • 13. LeMoS Phase-Coupling Mechanisms • Phase-coupling mechanisms strongly influences the behavior of the continous and dispersed phase: • One-way coupling: fluid → particles • Two-way coupling: fluid particles • Four-way coupling: fluid particles + particle collisions • Classification of phase-coupling mechanisms according to Elghobashi (1994): 10−8 10−6 10−4 10−2 100 10−1 100 101 102 103 104 105 106 one-way coupling (negligible effect on turbulence) two-way coupling (particles enhance production) two-way coupling (particles enhance dissipation) four-way coupling αp = Vp/V τp/τK 10−3 10−2 10−1 100 101 102 103 104 τp/τe March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 13 / 44
  • 14. LeMoS Particle-Particle Interaction • OpenFOAM uses the soft-sphere-model (DSEM) • Particle-particle collisions are considered using a spring, friction slider and dash-pot • Normal force is expressed according to the Hertzian contact theory: Fn,ij = −knδ3/2 n − ηn,j G · n n (11) • Tangential force is expressed by: Ft,ij = −knδt − ηt,j Gct or (12) Ft,ij = −µ |Fn,ij | t if |Ft,ii |j > µ |Fn,ij | (13) Figure: Normal force Figure: Tangential force March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 14 / 44
  • 15. LeMoS Outline Introduction Motivation Lagrangian-Particle-Tracking in OpenFOAM Fundamentals of Lagrangian-Particle-Tracking Governing Equations Particle Forces Particle Response Time Phase-Coupling Mechanisms Particle-Particle Interaction Application How to build your own Eulerian-Lagrangian Solver in OpenFOAM How to use your own Eulerian-Lagrangian Solver in OpenFOAM Post-Processing with OpenFOAM/Paraview March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 15 / 44
  • 16. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM • Problem: no proper solver is available for your requirements? • Solution: customize an existing solver for your own purposes! Figure: Particle-laden backward-facing step flow according to Fessler & Eaton (1999) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 16 / 44
  • 17. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 1. Open a terminal and source OpenFOAM-4.x (if not already done) 2. Create a working directory for our Eulerian-Lagrangian solver and move into it: mkdir solver/ cd solver/ 3. Copy the original pimpleFoam solver (Large time-step transient solver for incompressible, turbulent flow, using the PIMPLE (merged PISO-SIMPLE) algorithm) from OpenFOAM-4.x and rename it: cp -r $FOAM_SOLVERS/incompressible/pimpleFoam/ . mv pimpleFoam pimpleLPTFoam/ cd pimpleLPTFoam/ March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 17 / 44
  • 18. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 4. After moving into the pimpleLPTFoam directory, change the name of the pimpleFoam.C file, remove the pimpleDyMFoam and SRFPimpleFoam sub-solver directories: mv pimpleFoam.C pimpleLPTFoam.C rm -r pimpleDyMFoam/ SRFPimpleFoam/ mkdir lagrangian 5. Copy the lagrangian library intermediate (includes submodels for particle forces, particle collisions, injection and dispersion models,...) from OpenFOAM-4.x: cp -r $FOAM_SRC/lagrangian/intermediate/ lagrangian/ 6. Open the createFields.H file with a text editor for some customizations: vi createFields.H March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 18 / 44
  • 19. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 7. Add the following code lines after #include "createMRF.H" to create and read the fluid density from the transportProperties and calculate the inverse fluid density: createFields.H Info« "Reading transportPropertiesn" « endl; IOdictionary transportProperties ( IOobject ( "transportProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE ) ); dimensionedScalar rhoInfValue ( transportProperties.lookup("rhoInf") ); dimensionedScalar invrhoInf("invrhoInf",(1.0/rhoInfValue)); March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 19 / 44
  • 20. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 8. Create a volScalarField for the fluid density and the dynamic fluid viscosity: createFields.H volScalarField rhoInf ( IOobject ( "rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mesh, rhoInfValue ); createFields.H volScalarField mu ( IOobject ( "mu", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), laminarTransport.nu() *rhoInfValue ); March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 20 / 44
  • 21. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 9. Initialize the basicKinematicCollidingCloud (includes particle-particle interactions): createFields.H const word kinematicCloudName ( args.optionLookupOrDefault<word>("cloudName", "kinematicCloud") ); Info« "Constructing kinematicCloud " « kinematicCloudName « endl; basicKinematicCollidingCloud kinematicCloud ( kinematicCloudName, rhoInf, U, mu, g ); 10. Open the pimpleLPTFoam.C file for some customizations: vi pimpleLPTFoam.C March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 21 / 44
  • 22. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 11. Add the basicKinematicCollidingCloud.H and readGravitationalAcceleration.H to the existing header files: pimpleLPTFoam.C ... #include "turbulentTransportModel.H" #include "pimpleControl.H" #include "fvOptions.H" #include "basicKinematicCollidingCloud.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // int main(int argc, char *argv[]) { #include "setRootCase.H" #include "createTime.H" #include "createMesh.H" #include "readGravitationalAcceleration.H" #include "createControl.H" #include "createTimeControls.H" #include "createFields.H" ... March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 22 / 44
  • 23. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 12. Add the kinematicCloud.evolve() function after the PIMPLE corrector loop: pimpleLPTFoam.C // –- Pressure-velocity PIMPLE corrector loop while (pimple.loop()) { #include "UEqn.H" // –- Pressure corrector loop while (pimple.correct()) { #include "pEqn.H" } if (pimple.turbCorr()) { laminarTransport.correct(); turbulence->correct(); } } Info« "nEvolving " « kinematicCloud.name() « endl; kinematicCloud.evolve(); runTime.write(); March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 23 / 44
  • 24. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 13. Open the UEqn.H file for some customizations: vi UEqn.H 14. Expand the momentum equation for two-way coupling: UEqn.H tmp<fvVectorMatrix> tUEqn ( fvm::ddt(U) + fvm::div(phi, U) + MRF.DDt(U) + turbulence->divDevReff(U) == fvOptions(U) + invrhoInf*kinematicCloud.SU(U) ); fvVectorMatrix& UEqn = tUEqn.ref(); UEqn.relax(); March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 24 / 44
  • 25. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 15. The implementation is (almost) done, but we need some customizations within the Make directory of the intermediate library in order to compile everything correctly: vi intermediate/Make/options 16. We want our own customized intermediate library (maybe to implement a own particle force model or similar), so replace the last code line of the files file by: files LIB = $(FOAM_USER_LIBBIN)/libPimpleLPTLagrangianIntermediate 17. Tell the solver where he can find our intermediate library (and some additional too): vi Make/options March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 25 / 44
  • 26. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM options EXE_INC = -Ilagrangian/intermediate/lnInclude -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude -I$(LIB_SRC)/transportModels -I$(LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel -I$(LIB_SRC)/finiteVolume/lnInclude -I$(LIB_SRC)/meshTools/lnInclude -I$(LIB_SRC)/sampling/lnInclude -I$(LIB_SRC)/lagrangian/basic/lnInclude -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude -I$(LIB_SRC)/regionModels/regionModel/lnInclude EXE_LIBS = -L$(FOAM_USER_LIBBIN) -lPimpleLPTLagrangianIntermediate -llagrangian -lturbulenceModels -lincompressibleTurbulenceModels -lincompressibleTransportModels -lfiniteVolume ... March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 26 / 44
  • 27. LeMoS How to build your own Eulerian-Lagrangian Solver in OpenFOAM 18. Tell the compiler the name of our new Eulerian-Lagrangian solver: vi Make/files files pimpleLPTFoam.C EXE = $(FOAM_USER_APPBIN)/pimpleLPTFoam 19. Finally, we can compile the intermediate library and the solver: wmake all You received no error messages from the compiler? Congratulations, your new Eulerian-Lagrangian solver is ready... but how to use it? March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 27 / 44
  • 28. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM Particle-laden backward-facing step flow (Fessler & Eaton, 1999) • Geometry: • Step height: H = 26.7 mm • Channel height/width: h = 40 mm, B = 457 mm • Length inlet and expansion channel: LU = 5h, LD = 35h • Flow and particle characteristics: • Centerline velocity and Reynolds number: U0 = 10.5 m/s, Re0 = U0H/ν = 18.600 • Particle type: copper → Dp = 70 µm, ρp = 8800 kg/m3 • Stokes number: St = τp τf = ρpD2 p U0/(90µH) = 6.9 March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 28 / 44
  • 29. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM Figure: Snapshot of the instantaneous velocity field |U| obtained from Large Eddy Simulation (sub-grid scale turbulence model: Dynamic Smagorinsky (DSM)) for Re0 = 18.600 March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 29 / 44
  • 30. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM • Basic folder structure of any OpenFOAM case: 0: includes the initial boundary conditions constant: includes the mesh (polyMesh folder), physical properties of the fluid (transportProperties), particle properties and settings (kinematicCloudProperties),... system: includes the simulation settings (controlDict), settings for numerical schemes (fvSchemes) and solver for the algebraic equations systems (fvSolution), decomposition methods (decomposeParDict), ... • Download the current tutorial case setup using the git clone command: Git repository on Bitbucket $ git clone https://slint@bitbucket.org/slint/gofun2017_particletut.git March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 30 / 44
  • 31. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM 1. We start with the mesh generation → move into the tutorial directory and build the 2D mesh using OpenFOAM’s blockMesh utility and check the mesh quality: cd gofun2017_particletutorial/tutorial/BFS/ blockMesh checkMesh Figure: Two-dimensional block-structured mesh for the particle-laden backward-facing step flow March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 31 / 44
  • 32. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM 2. Let’s see how to define initial boundary conditions (at the example of the velocity field): U dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { inlet { type fixedValue; value uniform (9.39 0 0); } outlet { type zeroGradient; } walls { type noSlip; } sides { type empty; } } • OpenFOAM needs the dimension of the flow field in SI-units (see OpenFOAM user guide) • You can set an initial flow field if present • Each patch needs an initial boundary condition • Boundary conditions in OpenFOAM: • Dirichlet (fixedValue) • Neumann (fixedGradient/zeroGradient) • Special types: cyclic, symmetry, empty (for 2D caes), ... March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 32 / 44
  • 33. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM 3. Let’s see how to set up the particle cloud: kinematicCloudProperties solution { active true; coupled true; transient yes; cellValueSourceCorrection off; maxCo 0.3; interpolationSchemes { rho cell; U cell; mu cell; } integrationSchemes { U Euler; } sourceTerms { schemes { U semiImplicit 1; } } • Activate/de-activate the particle cloud • Enable/disable phase coupling • Transient/steady-state solution (max. Courant number) • Enable/disable correction of momentum transferred to the Eulerian phase • Choose interpolation/integration schemes for the LPT and treatment of source terms March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 33 / 44
  • 34. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM kinematicCloudProperties constantProperties { rho0 8800; youngsModulus 1.3e5; poissonsRatio 0.35; } subModels { particleForces { sphereDrag; gravity; pressureGradient { U U; } } • Define the physical particle properties: • Density • Young’s module (elastic modulus) • Poisson’s ratio • Define the relevant particle forces: • Drag force • Gravition/Buoyancy force • Pressure drag force March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 34 / 44
  • 35. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM kinematicCloudProperties injectionModels { model1 { type patchInjection; patchName inlet; duration 1; parcelsPerSecond 33261; massTotal 0; parcelBasisType fixed; flowRateProfile constant 1; nParticle 1; SOI 0.4; U0 (9.39 0 0); sizeDistribution { type fixedValue; fixedValueDistribution { value 0.00007; } } } } • Setup of the particle injection: • Injection model + injection patch name • Total duration of particle injection • Injected parcels/particles per second • Number of particles per parcel • Start-of-injection time (SOI) • Initial parcel/particle velocity (U0) • Size distribution model (normal size distribution, ...) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 35 / 44
  • 36. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM kinematicCloudProperties dispersionModel none; patchInteractionModel standardWallInteraction; standardWallInteractionCoeffs { type rebound; e 0.97; mu 0.09; } surfaceFilmModel none; stochasticCollisionModel none; collisionModel pairCollision; • Specify the sub-models for the particle simulation: • Turbulent dispersion models (Discrete Random Walk model and Gradient Dispersion model) • Patch interaction model + coefficients (rebound, stick or escape) • Surface film model for dripping and film interaction (absorb, bounce and splash) • Stochastic collision/pair collision model (spring, slider and dash-pot) • Further sub-models: heat transfer (only Ranz-Marshall correlation), phase change,... March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 36 / 44
  • 37. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM kinematicCloudProperties pairCollisionCoeffs { maxInteractionDistance 0.00007; writeReferredParticleCloud no; pairModel pairSpringSliderDashpot; pairSpringSliderDashpotCoeffs { useEquivalentSize no; alpha 0.12; b 1.5; mu 0.52; cohesionEnergyDensity 0; collisionResolutionSteps 12; }; wallModel wallSpringSliderDashpot; wallSpringSliderDashpotCoeffs { useEquivalentSize no; collisionResolutionSteps 12; youngsModulus 1e10; poissonsRatio 0.23; alpha 0.12; b 1.5; mu 0.43; cohesionEnergyDensity 0; }; } • Adjust the particle-particle and particle-wall interaction model coefficients: • α: coefficient related to the coefficient of restitution e (see diagram) • b: Spring power → b = 1 (linear) or b = 3/2 (Hertzian theory) • µ: friction coefficient 0.01 0.05 0.1 0.5 1 5 0 0.2 0.4 0.6 0.8 1 α [-] e[-] Figure: Relationship between α and the coefficient of restitution e (Tsuji et al., 1992) March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 37 / 44
  • 38. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM kinematicCloudProperties cloudFunctions { voidFraction1 { type voidFraction; } } • Use cloudFunctions to record particle tracks, calculate particle erosion, ... 4. The last step is to define the vector of the gravitational acceleration: g dimensions [0 1 -2 0 0 0 0]; value ( 0 -9.81 0 ); 5. Finally, start our solver (and write a log file): pimpleLPTFoam > run.log & March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 38 / 44
  • 39. LeMoS How to use your own Eulerian-Lagrangian Solver in OpenFOAM 6. Use OpenFOAM’s foamMonitor utility to check the convergence: foamMonitor -l postProcessing/residuals/0/residuals.dat March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 39 / 44
  • 40. LeMoS Post-Processing with OpenFOAM/Paraview • OpenFOAM provides many utilities (e.g. sampling of data) and functionObjects (e.g. calculation of forces and turbulence fields) for the analysis of simulation results • The standard program for the graphical post-processing of OpenFOAM cases is Paraview (see OpenFOAM user guide) 1. Start post-processing with Paraview by typing: paraFoam 2. Load the last time step and check the velocity and pressure field: March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 40 / 44
  • 41. LeMoS Post-Processing with OpenFOAM/Paraview 3. Let’s check how much volume of each grid cell is occupied by particles (void fraction α = Vp/Vc ): March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 41 / 44
  • 42. LeMoS Post-Processing with OpenFOAM/Paraview 3. Apply the Extract Block filter on the kinematicCloud and scale the particles using the Glyph filter: 4. Sample the flow and particle velocity using OpenFOAM’s sample utility (see OpenFOAM user guide) and plot the velocity profiles: −2 0 2 4 6 8 10 12 14 0 0.5 1 1.5 2 2.5 2 · Up,x /U0 + x/H y/H EFD: LDA (Fessler et al.) CFD Simulation March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 42 / 44
  • 43. LeMoS Further Information and References OpenFOAM User/Programmers Guide (www.openfoam.org) Crow, T. C., Schwarzkopf, J. D., Sommerfeld, M. and Tsuji, Y., 2011, Multiphase flows with droplets and particles, 2nd ed., CRC Press, Taylor & Francis. Sommerfeld, M., 2010, Particle Motion in Fluids, VDI Heat Atlas, Springer. Elghobashi, S., 1994, On predicting particle-laden turbulent flows, Applied Scientific Research, Vol. 52, pp. 309-329. Fessler, J. R. and Eaton, J. K., 1999, Turbulence modification by particles in a backward-facing step flow, J. Fluid Mech., Vol. 394, pp. 97-117. Tsuji, Y., Tanaka, T. and Ishida, T., 1992, Lagrangian numerical simulation of plug flow of collisionless particles in a horizontal pipe, Powder Tech., Vol. 71, 239. March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 43 / 44
  • 44. LeMoS Thank you for your attention! Any questions? Robert Kasper, M.Sc. University of Rostock Faculty of Mechanical Engineering and Marine Technology Chair of Modeling and Simulation Albert-Einstein-Str. 2 18059 Rostock Email: robert.kasper@uni-rostock.de March 21, 2017 © 2017 UNIVERSITY OF ROSTOCK | CHAIR OF MODELING AND SIMULATION 44 / 44