33template<
class BasePhaseSystem>
40 if (!pDmdt_.found(key))
42 return phaseSystem::dmdt(key);
47 return pDmdtSign**pDmdt_[key];
53template<
class BasePhaseSystem>
60 BasePhaseSystem(
mesh),
64 this->
lookup(
"populationBalances"),
65 diameterModels::populationBalanceModel::iNew(*this, pDmdt_)
77 if (!this->phasePairs_.found(key))
79 this->phasePairs_.insert
86 this->phaseModels_[key.first()],
87 this->phaseModels_[key.second()]
118 this->mesh().time().timeName(),
133template<
class BasePhaseSystem>
141template<
class BasePhaseSystem>
148 return BasePhaseSystem::dmdt(key) + this->pDmdt(key);
152template<
class BasePhaseSystem>
160 const phasePair& pair = this->phasePairs_[pDmdtIter.key()];
163 this->addField(pair.
phase1(),
"dmdt", pDmdt, dmdts);
164 this->addField(pair.
phase2(),
"dmdt", - pDmdt, dmdts);
171template<
class BasePhaseSystem>
176 BasePhaseSystem::massTransfer();
219 dmdt21*eqns[otherName]->psi()
223 dmdt12*eqns[
name]->psi()
232template<
class BasePhaseSystem>
235 if (BasePhaseSystem::read())
250template<
class BasePhaseSystem>
253 BasePhaseSystem::solve();
255 forAll(populationBalances_, i)
257 populationBalances_[i].solve();
tmp< volScalarField > dmdt() const
Return the blended mass transfer rate.
bool set(const Key &key, T *ptr)
Assign a new entry, overwriting existing entries.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
An ordered pair of two objects of type <T> with first() and second() elements.
Class which provides population balance functionality.
virtual ~PopulationBalancePhaseSystem()
Destructor.
PtrList< diameterModels::populationBalanceModel > populationBalances_
populationBalanceModels
pDmdtTable pDmdt_
Interfacial Mass transfer rate.
virtual tmp< volScalarField > pDmdt(const phasePairKey &key) const
Return the population balance mass transfer rate.
virtual autoPtr< phaseSystem::massTransferTable > massTransfer() const
Return the mass transfer matrices.
virtual PtrList< volScalarField > dmdts() const
Return the mass transfer rates for each phase.
virtual void solve()
Solve all population balance equations.
virtual bool read()
Read base phaseProperties dictionary.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Class that solves the univariate population balance equation by means of a class method (also called ...
const phasePairTable & phasePairs() const
Return list of unordered phasePairs in this populationBalance.
Mesh data needed to do the Finite Volume discretisation.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
const word & name() const
An ordered or unorder pair of phase names. Typically specified as follows.
bool ordered() const noexcept
Return the ordered flag.
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
virtual word name() const
Pair name.
const multiphaseInter::phaseModel & phase1() const
const multiphaseInter::phaseModel & phase2() const
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
const word & name() const
Lookup type of boundary radiation properties.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
const volScalarField & psi
zeroField Sp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
dimensionedScalar negPart(const dimensionedScalar &ds)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
const dimensionSet dimDensity
dimensionedScalar posPart(const dimensionedScalar &ds)
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object.