151#ifndef populationBalanceModel_H
152#define populationBalanceModel_H
155#include "phasePair.H"
157#include "phaseCompressibleTurbulenceModelFwd.H"
221 phasePairTable phasePairs_;
284 label sourceUpdateCounter_;
289 void registerVelocityGroups();
293 void createPhasePairs();
297 void birthByCoalescence(
const label j,
const label
k);
299 void deathByCoalescence(
const label i,
const label j);
301 void birthByBreakup(
const label
k,
const label model);
303 void deathByBreakup(
const label i);
307 void birthByBinaryBreakup(
const label i,
const label j);
309 void deathByBinaryBreakup(
const label j,
const label i);
311 void drift(
const label i);
313 void nucleation(
const label i);
326 bool updateSources();
329 inline label
nCorr()
const;
332 inline label sourceUpdateInterval()
const;
415 inline const phasePairTable&
phasePairs()
const;
A HashTable of pointers to objects of type <T>, with deallocation management of the pointers.
A HashTable similar to std::unordered_map.
const word & name() const noexcept
Return the object name.
static word group(const word &name)
Return group (extension part of name).
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Base class for binary breakup models which give the breakup rate between a sizeGroup pair directly,...
Base class for breakup models which give a total breakup rate and a separate daughter size distributi...
Base class for coalescence models.
Base class for drift models.
Base class for nucleation models.
Return a pointer to a new populationBalanceModel object created on.
iNew(const phaseSystem &fluid, HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > &pDmdt)
autoPtr< populationBalanceModel > operator()(Istream &is) const
const phaseSystem & fluid() const
Return reference to the phaseSystem.
bool writeData(Ostream &) const
Dummy write for regIOobject.
autoPtr< populationBalanceModel > clone() const
Return clone.
populationBalanceModel(const phaseSystem &fluid, const word &name, HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > &pDmdt)
const volVectorField & U() const
Return average velocity.
const phasePairTable & phasePairs() const
Return list of unordered phasePairs in this populationBalance.
friend class velocityGroup
const UPtrList< sizeGroup > & sizeGroups() const
Return the sizeGroups belonging to this populationBalance.
const phaseModel & continuousPhase() const
Return continuous phase.
const volScalarField & alphas() const
Return total void of phases belonging to this populationBalance.
const dictionary & dict() const
Return populationBalanceCoeffs dictionary.
const phaseCompressibleTurbulenceModel & continuousTurbulence() const
Return reference to turbulence model of the continuous phase.
const tmp< volScalarField > sigmaWithContinuousPhase(const phaseModel &dispersedPhase) const
Return the surface tension coefficient between a given dispersed.
const PtrList< dimensionedScalar > & v() const
Return the sizeGroup boundaries.
const fvMesh & mesh() const
Return reference to the mesh.
virtual ~populationBalanceModel()
Destructor.
void solve()
Solve the population balance equation.
const UPtrList< velocityGroup > & velocityGroups() const
Return the velocityGroups belonging to this populationBalance.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
An ordered or unorder pair of phase names. Typically specified as follows.
phasePairKey::hasher hash
Alternative name for functor.
Class to represent a system of phases and model interfacial transfers between them.
PIMPLE control class to supply convergence information/checks for the PIMPLE loop.
regIOobject(const IOobject &io, const bool isTimeObject=false)
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIO...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
GeometricField< vector, fvPatchField, volMesh > volVectorField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
ThermalDiffusivity< PhaseCompressibleTurbulenceModel< phaseModel > > phaseCompressibleTurbulenceModel
Typedef for phaseCompressibleTurbulenceModel.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.