multiphaseEulerFoam: populationBalance: Updated and improved source code documentation
Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
This commit is contained in:
@ -26,8 +26,8 @@ Class
|
||||
|
||||
Description
|
||||
Calculates and writes out integral (integer moments) or mean properties
|
||||
(mean, variance, standard deviation) of a size distribution computed with
|
||||
multiphaseEulerFoam. Requires solver post-processing.
|
||||
(mean, variance, standard deviation) of a size distribution determined by a
|
||||
population balance model. Requires solver post-processing.
|
||||
|
||||
The following function object specification for example returns the first
|
||||
moment of the volume-based number density function which is equivalent to
|
||||
|
||||
@ -25,8 +25,9 @@ Class
|
||||
Foam::functionObjects::sizeDistribution
|
||||
|
||||
Description
|
||||
Writes out the size distribution computed with multiphaseEulerFoam for the
|
||||
entire domain or a volume region. Requires solver post-processing.
|
||||
Writes out the size distribution determined by a population balance model,
|
||||
either for the entire domain or a cell zone. Requires solver post-
|
||||
processing.
|
||||
|
||||
The following function object specification for example returns the volume-
|
||||
based number density function:
|
||||
@ -63,6 +64,12 @@ Usage
|
||||
setFormat | output format | yes |
|
||||
\endtable
|
||||
|
||||
See also
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
Foam::functionObjects::fvMeshFunctionObject
|
||||
Foam::functionObjects::volRegion
|
||||
Foam::functionObject
|
||||
|
||||
SourceFiles
|
||||
sizeDistribution.C
|
||||
|
||||
|
||||
@ -25,7 +25,9 @@ Class
|
||||
Foam::PopulationBalancePhaseSystem
|
||||
|
||||
Description
|
||||
Class which provides population balance functionality.
|
||||
Class which provides population balance functionality. Stores the mass
|
||||
transfer rates resulting from coalescence, breakup or drift across
|
||||
representative phases that collectively define a dispersed phase.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2019-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2019-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,10 +25,14 @@ Class
|
||||
Foam::diameterModels::SecondaryPropertyModel
|
||||
|
||||
Description
|
||||
Base class for modeling the transport of an additional secondary property in
|
||||
between size groups by means of coalescence, breakup, drift and nucleation.
|
||||
The default behavior is conserved transport of the property, which can be
|
||||
overwritten in a derived class.
|
||||
Base class for modeling evolution of secondary representative properties of
|
||||
a size class. By default, transport between size classes due to
|
||||
coalescence, breakup and drift conserve the property. This behaviour can be
|
||||
overridden in a derived class.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::sizeGroup
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
SourceFiles
|
||||
SecondaryPropertyModel.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2019-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2019-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,35 +25,37 @@ Class
|
||||
Foam::diameterModels::shapeModels::fractal
|
||||
|
||||
Description
|
||||
Class for modeling fractal shapes (e.g. of aerosol agglomerates) based on a
|
||||
constant fractal dimension and an average but field-dependent surface area
|
||||
to volume ratio kappa.
|
||||
|
||||
The effect of sintering (coalescence of primary particles) on the surface
|
||||
area is taken into account by a separate source term.
|
||||
|
||||
Kappa is transported between the size groups as a secondary property by
|
||||
means of coalescence (coagulation), breakup as well as drift.
|
||||
|
||||
By assuming a monodisperse size distribution of the primary particles in the
|
||||
aggregate, the collisional diameter of a size group can then be computed by
|
||||
Class for modelling the shape of particle aggregates using the concept of
|
||||
fractal geometry. Returns a collisional diameter
|
||||
|
||||
\f[
|
||||
d_{Coll_i} =
|
||||
d_{c_i} =
|
||||
\frac{6}{\kappa_i}
|
||||
\left(
|
||||
\frac{v_i \kappa_i^3}{36 \pi \alpha_c}
|
||||
\right)^{1/D_f}\;.
|
||||
\right)^{1/D_{f_i}}\,,
|
||||
\f]
|
||||
|
||||
computed from a constant fractal dimension \f$D_{f_i}\f$ and a
|
||||
field-dependent surface area to volume ratio \f$\kappa_i\f$, assuming that
|
||||
the primary particles in an aggregate have the same size.
|
||||
|
||||
The effect of sintering, i.e. the coalescence of primary particles
|
||||
resulting in a loss of surface area, is taken into account by a separate
|
||||
source term in the transport equation for \f$\kappa_i\f$.
|
||||
|
||||
Usage
|
||||
\table
|
||||
Property | Description | Required | Default value
|
||||
kappa | Field and BC value | yes |
|
||||
kappa | Initial and boundary condition value\\
|
||||
| yes |
|
||||
Df | Fractal dimension | yes |
|
||||
alphaC | Constant | yes |
|
||||
alphaC | Scaling prefactor | yes |
|
||||
\endtable
|
||||
|
||||
See also
|
||||
Foam::diameterModels::shapeModel
|
||||
|
||||
SourceFiles
|
||||
fractal.C
|
||||
|
||||
|
||||
@ -22,11 +22,14 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::sinteringModel
|
||||
Foam::diameterModels::shapeModels::sinteringModel
|
||||
|
||||
Description
|
||||
Abstract base class for modeling sintering of primary particles in fractal
|
||||
agglomerates.
|
||||
Abstract base class for modelling sintering of primary particles in fractal
|
||||
aggregates.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::shapeModels::fractal
|
||||
|
||||
SourceFiles
|
||||
sinteringModel.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2019-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2019-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -22,12 +22,16 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::shapeModel
|
||||
Foam::diameterModels::shapeModel
|
||||
|
||||
Description
|
||||
Base class for modeling shape, i.e. a physical diameter of a sizeGroup.
|
||||
This diameter may then be utilised for calculation of breakup, coalescence
|
||||
or drift rates, depending on the model implementation.
|
||||
Base class for modelling the shape of the particles belonging to a size
|
||||
class through alternative diameters, e.g. a collisional diameter, which can
|
||||
then be utilised in population balance submodels, e.g. for modelling
|
||||
fractal aggregation.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::sizeGroup
|
||||
|
||||
SourceFiles
|
||||
shapeModel.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2017-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,39 +25,35 @@ Class
|
||||
Foam::diameterModels::sizeGroup
|
||||
|
||||
Description
|
||||
This class represents a single sizeGroup belonging to a velocityGroup.
|
||||
The main property of a sizeGroup is its representative volume. The
|
||||
corresponding volScalarField f'number'.'phaseName'.'populationBalanceName'
|
||||
gives the volume fraction of the sizeGroup such that all sizeGroup fractions
|
||||
over a velocityGroup must sum to unity. The field is either read from the
|
||||
startTime directory if present or constructed from a reference field called
|
||||
f.'phaseName'.'populationBalanceName' where the boundary condition types
|
||||
must be specified. All field and boundary condition values are reset to
|
||||
match the 'value' given in the sizeGroup subdictionary.
|
||||
Single size class fraction field representing a fixed particle volume as
|
||||
defined by the user through the corresponding sphere equivalent diameter.
|
||||
|
||||
The corresponding physical diameter that is representative for the class is
|
||||
computed by a separate shapeModel, specified in the velocityGroupCoeffs
|
||||
dictionary.
|
||||
If present, the field is read from the start time directory, e.g. during
|
||||
restart. Otherwise, it is constructed as a uniform field using the size
|
||||
class fraction value provided by the user. In the latter case, the boundary
|
||||
condition types are taken from the 'f.<phaseName>' field, which represents
|
||||
the sum of all size group fractions of a phase. The user specified value is
|
||||
also applied at fixed value boundary conditions and used as inlet value for
|
||||
mixed boundary conditions.
|
||||
|
||||
An alternative diameter field is provided by the selected shape model, e.g.
|
||||
a collisional diameter, which is then utilised in selected population
|
||||
balance submodels, e.g. for modelling fractal aggregation.
|
||||
|
||||
Usage
|
||||
\table
|
||||
Property | Description | Required | Default value
|
||||
dSph | Sphere equivalent diameter | yes | none
|
||||
value | Field and BC value | yes | none
|
||||
value | Initial and boundary condition value of\\
|
||||
size class fraction | yes | none
|
||||
shapeModel | Shape model providing an alternative diameter field\\
|
||||
| yes | none
|
||||
\endtable
|
||||
|
||||
Example
|
||||
\verbatim
|
||||
f1
|
||||
{
|
||||
ds 3e-3;
|
||||
value 1.0;
|
||||
}
|
||||
\endverbatim
|
||||
|
||||
See also
|
||||
Foam::diameterModels::velocityGroup
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
Foam::diameterModels::velocityGroup
|
||||
Foam::diameterModels::shapeModel
|
||||
|
||||
SourceFiles
|
||||
sizeGroup.C
|
||||
|
||||
@ -25,37 +25,29 @@ Class
|
||||
Foam::diameterModels::velocityGroup
|
||||
|
||||
Description
|
||||
This diameterModel is intended for use with a populationBalanceModel in
|
||||
order to simulate polydispersed bubbly or particulate flows. It can hold any
|
||||
number of sizeGroups from which the Sauter mean diameter is calculated. It
|
||||
can also be used as a diameterModel without a populationBalance and would
|
||||
then behave like a constantDiameter model. In this case, some arbitrary name
|
||||
must be entered for the populationBalance keyword.
|
||||
Computes the Sauter mean diameter based on a user specified size
|
||||
distribution, defined in terms of size class fractions. Intended for use
|
||||
with a population balance model to account for the evolution of a size
|
||||
distribution by means of coalescence, breakup, drift and nucleation.
|
||||
|
||||
Usage
|
||||
\table
|
||||
Property | Description
|
||||
populationBalance | Name of the corresponding populationBalance
|
||||
sizeGroups | List of sizeGroups
|
||||
\endtable
|
||||
|
||||
Example
|
||||
Excerpt from an examplary phaseProperties dictionary:
|
||||
\verbatim
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
|
||||
shapeModel constant;
|
||||
shapeModel spherical;
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f0{dSph 1.00e-3; value 0;}
|
||||
f1{dSph 1.08e-3; value 0;}
|
||||
f2{dSph 1.16e-3; value 0.25;}
|
||||
f3{dSph 1.25e-3; value 0.5;}
|
||||
f4{dSph 1.36e-3; value 0.25;}
|
||||
f5{dSph 1.46e-3; value 0;}
|
||||
f1 {dSph 1e-3; value 1.0;}
|
||||
f2 {dSph 2e-3; value 0.0;}
|
||||
f3 {dSph 3e-3; value 0.0;}
|
||||
f4 {dSph 4e-3; value 0.0;}
|
||||
f5 {dSph 5e-3; value 0.0;}
|
||||
...
|
||||
);
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2017-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,9 +25,12 @@ Class
|
||||
Foam::diameterModels::binaryBreakupModel
|
||||
|
||||
Description
|
||||
Base class for binary breakup models which give the breakup rate between a
|
||||
sizeGroup pair directly, without an explicit expression for the daughter
|
||||
size distribution.
|
||||
Base class for binary breakup models that provide a breakup rate between a
|
||||
size class pair directly, i.e. without explicitly stating the daughter size
|
||||
distribution function.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
SourceFiles
|
||||
binaryBreakupModel.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2017-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,8 +25,11 @@ Class
|
||||
Foam::diameterModels::breakupModel
|
||||
|
||||
Description
|
||||
Base class for breakup models which give a total breakup rate and a separate
|
||||
daughter size distribution function.
|
||||
Base class for breakup models which provide a total breakup rate and a
|
||||
separate daughter size distribution function.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
SourceFiles
|
||||
breakupModel.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2017-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -27,6 +27,9 @@ Class
|
||||
Description
|
||||
Base class for coalescence models.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
SourceFiles
|
||||
coalescenceModel.C
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,8 +25,12 @@ Class
|
||||
Foam::diameterModels::daughterSizeDistributionModel
|
||||
|
||||
Description
|
||||
Base class for daughter size distribution models. Calculates and stores
|
||||
the contribution to a sizeGroup i due to breakup in a larger sizeGroup k.
|
||||
Base class for daughter size distribution models. Currently only supports
|
||||
field-independent formulations.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::breakupModel
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
SourceFiles
|
||||
daughterSizeDistributionModel.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2017-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -27,6 +27,9 @@ Class
|
||||
Description
|
||||
Base class for drift models.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
SourceFiles
|
||||
driftModel.C
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2018-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2018-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -27,6 +27,9 @@ Class
|
||||
Description
|
||||
Base class for nucleation models.
|
||||
|
||||
See also
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
SourceFiles
|
||||
nucleationModel.C
|
||||
|
||||
|
||||
@ -25,31 +25,81 @@ Class
|
||||
Foam::diameterModels::populationBalanceModel
|
||||
|
||||
Description
|
||||
Class that solves the univariate population balance equation by means of
|
||||
a class method (also called sectional or discrete method). The internal
|
||||
coordinate is set to the particle volume, so the equation is based on
|
||||
a transport equation of the volume-based number density function. The
|
||||
discretisation is done using the fixed pivot technique of Kumar and
|
||||
Ramkrishna (1996). The source terms are written in a way that particle
|
||||
number and mass are preserved. Coalescence (coagulation), breakup, drift
|
||||
(growth and surface loss) as well as nucleation are supported.
|
||||
For the discrete breakup term two recipes are available, depending on the
|
||||
model choice. For models which state a total breakup rate and a separate
|
||||
daughter size distribution function, the formulation of Kumar and Ramkrishna
|
||||
(1996) is applied which is applicable for binary and multiple breakup
|
||||
events. The second formulation is given by Liao et al. (2018). It is useful
|
||||
for binary breakup models which give the breakup rate between a sizeGroup
|
||||
pair directly, without an explicit expression for the daughter size
|
||||
distribution. The drift term is implemented using a finite difference upwind
|
||||
scheme. Although it is diffusive, it ensures a stable and
|
||||
number-conservative solution.
|
||||
Model for tracking the evolution of a dispersed phase size distribution due
|
||||
to coalescence (synonymous with coagulation, aggregation, agglomeration)
|
||||
and breakup events as well as density or phase changes. Provides an
|
||||
approximate solution of the population balance equation by means of a class
|
||||
method. The underlying theory is described in the article of Lehnigk et al.
|
||||
(2021).
|
||||
|
||||
The implementation allows to split the population balance over multiple
|
||||
velocity fields using the capability of multiphaseEulerFoam to solve
|
||||
for n momentum equations. It is also possible to define multiple population
|
||||
balances, e.g. bubbles and droplets simultaneously.
|
||||
The size distribution, expressed through a volume-based number density
|
||||
function, is discretised using the fixot pivot technique of Kumar and
|
||||
Ramkrishna (1996). Thereby, the population balance equation is transformed
|
||||
into a series of transport equations for the particle (bubble, droplet)
|
||||
number concentrations in separate size classes that are coupled through
|
||||
their source terms. The discretisation is based on representative particle
|
||||
volumes, which are provided by the user through the corresponding sphere
|
||||
equivalent diameters.
|
||||
|
||||
Since the representative volumes are fixed a priori and the total dispersed
|
||||
phase volume already available from solving the phase continuity equation,
|
||||
the model only determines the evolution of the individual size class
|
||||
fractions
|
||||
|
||||
\f[
|
||||
f_{i,\varphi} = \frac{\alpha_{i,\varphi}}{\alpha_{\varphi}}\,,
|
||||
\f]
|
||||
|
||||
where \f$\alpha_{i,\varphi}\f$ is the volume fraction of the size class and
|
||||
\f$\alpha_{\varphi}\f$ the total phase fraction of phase \f$\varphi\f$.
|
||||
|
||||
The source terms are formulated such that the first and second moment of
|
||||
the distribution, i.e. the total particle number and volume, are conserved
|
||||
irrespective of the discretisation of the size domain. The treatment of
|
||||
particle breakup depends on the selected breakup submodels. For models
|
||||
which provide a total breakup frequency and a separate daughter size
|
||||
distribution function, the formulation provided Kumar and Ramkrishna (1996)
|
||||
is utilised, which is applicable both for binary and multiple breakup
|
||||
events. Currently, only field-independent daughter size distribution models
|
||||
are allowed. In case of binary breakup models that provide the breakup
|
||||
frequency between a size class pair directly, the formulation of Liao et
|
||||
al. (2018) is adopted, which is computationally more efficient compared to
|
||||
first extracting the field-dependent daughter size distribution and then
|
||||
consuming it in the formulation of Kumar and Ramkrishna. The source terms
|
||||
describing a drift of the size distribution through particle growth or
|
||||
shrinkage are derived using upwind differencing, thus ensuring conservation
|
||||
of the total particle number and volume. Note that due to the volume-based
|
||||
implementation, both density as well as phase change lead to a drift of the
|
||||
size distribution function. Further, users can specify multiple submodels
|
||||
for each mechanism, whose contributions are added up.
|
||||
|
||||
The model also allows to distribute the size classes over multiple
|
||||
representative phases with identical physical properties that collectively
|
||||
define the dispersed phase. Thereby, size class fields can be transported
|
||||
with different velocity fields in order to account for the size dependency
|
||||
of the particle motion. A possible mass transfer between representative
|
||||
phases by means of coalescence, breakup and drift is taken into account.
|
||||
Similarly, the spatial evolution of secondary particle properties such as
|
||||
the particle surface area can be tracked.
|
||||
|
||||
The key variable during a simulation is the Sauter diameter, which is
|
||||
computed from the size class fractions of the corresponding phase. The
|
||||
underlying size distribution can be extracted from the simulation using the
|
||||
functionObject 'sizeDistribution'. Integral and mean properties of a size
|
||||
distribution can be computed with the functionObject 'moments'.
|
||||
|
||||
Verification cases for the population balance modeling functionality are
|
||||
provided in test/multiphase/multiphaseEulerFoam/populationBalance.
|
||||
|
||||
References:
|
||||
\verbatim
|
||||
Lehnigk, R., Bainbridge, W., Liao, Y., Lucas, D., Niemi, T.,
|
||||
Peltola, J., & Schlegel, F. (2021).
|
||||
An open‐source population balance modeling framework for the simulation
|
||||
of polydisperse multiphase flows.
|
||||
AIChE Journal, 68(3), e17539.
|
||||
\endverbatim
|
||||
|
||||
\verbatim
|
||||
Coalescence and breakup term formulation:
|
||||
Kumar, S., & Ramkrishna, D. (1996).
|
||||
@ -66,32 +116,33 @@ Description
|
||||
\endverbatim
|
||||
|
||||
Usage
|
||||
Example excerpt from a phaseProperties dictionary.
|
||||
Excerpt from an examplary phaseProperties dictionary:
|
||||
\verbatim
|
||||
type populationBalanceTwoPhaseSystem;
|
||||
type populationBalanceMultiphaseSystem;
|
||||
|
||||
phases (air water);
|
||||
...
|
||||
|
||||
populationBalances (bubbles);
|
||||
|
||||
air
|
||||
{
|
||||
type purePhaseModel;
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
|
||||
shapeModel constant;
|
||||
shapeModel spherical;
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f0{dSph 1.00e-3; value 0;}
|
||||
f1{dSph 1.08e-3; value 0;}
|
||||
f2{dSph 1.16e-3; value 0.25;}
|
||||
f3{dSph 1.25e-3; value 0.5;}
|
||||
f4{dSph 1.36e-3; value 0.25;}
|
||||
f5{dSph 1.46e-3; value 0;}
|
||||
f1 {dSph 1e-3; value 1.0;}
|
||||
f2 {dSph 2e-3; value 0.0;}
|
||||
f3 {dSph 3e-3; value 0.0;}
|
||||
f4 {dSph 4e-3; value 0.0;}
|
||||
f5 {dSph 5e-3; value 0.0;}
|
||||
...
|
||||
);
|
||||
}
|
||||
@ -99,6 +150,8 @@ Usage
|
||||
residualAlpha 1e-6;
|
||||
}
|
||||
|
||||
...
|
||||
|
||||
populationBalanceCoeffs
|
||||
{
|
||||
bubbles
|
||||
@ -107,24 +160,16 @@ Usage
|
||||
|
||||
coalescenceModels
|
||||
(
|
||||
hydrodynamic
|
||||
{
|
||||
C 0.25;
|
||||
}
|
||||
LehrMilliesMewes{}
|
||||
);
|
||||
|
||||
binaryBreakupModels
|
||||
();
|
||||
(
|
||||
LehrMilliesMewes{}
|
||||
);
|
||||
|
||||
breakupModels
|
||||
(
|
||||
exponential
|
||||
{
|
||||
C 0.5;
|
||||
exponent 0.01;
|
||||
daughterSizeDistributionModel uniform;
|
||||
}
|
||||
);
|
||||
();
|
||||
|
||||
driftModels
|
||||
(
|
||||
@ -138,8 +183,18 @@ Usage
|
||||
\endverbatim
|
||||
|
||||
See also
|
||||
Foam::PopulationBalancePhaseSystem
|
||||
Foam::diameterModels::sizeGroup
|
||||
Foam::diameterModels::velocityGroup
|
||||
Foam::diameterModels::SecondaryPropertyModel
|
||||
Foam::diameterModels::coalescenceModel
|
||||
Foam::diameterModels::breakupModel
|
||||
Foam::diameterModels::daughterSizeDistributionModel
|
||||
Foam::diameterModels::binaryBreakupModel
|
||||
Foam::diameterModels::driftModel
|
||||
Foam::diameterModels::nucleationModel
|
||||
Foam::functionObjects::sizeDistribution
|
||||
Foam::functionObjects::moments
|
||||
|
||||
SourceFiles
|
||||
populationBalanceModel.C
|
||||
|
||||
Reference in New Issue
Block a user