34template<
class BasePhaseSystem>
54template<
class BasePhaseSystem>
62 this->generatePairsAndSubModels
73 phaseTransferModelIter
78 phaseTransferModelIter.key(),
87template<
class BasePhaseSystem>
95template<
class BasePhaseSystem>
102 return BasePhaseSystem::dmdt(key) + this->
rDmdt(key);
106template<
class BasePhaseSystem>
114 const phasePair& pair = this->phasePairs_[rDmdtIter.key()];
117 this->addField(pair.
phase1(),
"dmdt", rDmdt, dmdts);
118 this->addField(pair.
phase2(),
"dmdt", - rDmdt, dmdts);
125template<
class BasePhaseSystem>
156 phaseTransferModelTable,
157 phaseTransferModels_,
158 phaseTransferModelIter
161 const phasePair& pair(this->phasePairs_[phaseTransferModelIter.key()]);
163 const phaseModel& phase = pair.phase1();
164 const phaseModel& otherPhase = pair.phase2();
173 const PtrList<volScalarField>& Yi = phase.Y();
188 dmdt21*eqns[otherName]->psi()
192 dmdt12*eqns[
name]->psi()
202template<
class BasePhaseSystem>
205 BasePhaseSystem::correct();
209 phaseTransferModelTable,
210 phaseTransferModels_,
211 phaseTransferModelIter
214 *rDmdt_[phaseTransferModelIter.key()] =
220 phaseTransferModelTable,
221 phaseTransferModels_,
222 phaseTransferModelIter
226 phaseTransferModelIter()->dmdt();
231template<
class BasePhaseSystem>
234 if (BasePhaseSystem::read())
bool set(const Key &key, T *ptr)
Assign a new entry, overwrites existing.
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
static int compare(const Pair< T > &a, const Pair< T > &b)
Compare Pairs.
HashPtrTable< volScalarField, phasePairKey, phasePairKey::hash > rDmdtTable
virtual tmp< volScalarField > dmdt(const phasePairKey &key) const
Return the mass transfer rate for a pair.
virtual void correct()
Correct the mass transfer rates.
rDmdtTable rDmdt_
Mass transfer rates.
HashTable< autoPtr< BlendedInterfacialModel< phaseTransferModel > >, phasePairKey, phasePairKey::hash > phaseTransferModelTable
virtual autoPtr< phaseSystem::massTransferTable > massTransfer() const
Return the mass transfer matrices.
PhaseTransferPhaseSystem(const fvMesh &)
Construct from fvMesh.
virtual PtrList< volScalarField > dmdts() const
Return the mass transfer rates for each phase.
virtual ~PhaseTransferPhaseSystem()
Destructor.
phaseTransferModelTable phaseTransferModels_
Mass transfer models.
virtual tmp< volScalarField > rDmdt(const phasePairKey &key) const
Return the representation mass transfer rate.
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.
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.
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
const multiphaseInter::phaseModel & phase1() const
const multiphaseInter::phaseModel & phase2() const
virtual tmp< volScalarField > dmdt(const phasePairKey &key) const
Return the mass transfer rate for a pair.
HashPtrTable< fvScalarMatrix > massTransferTable
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
const word & name() const
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
const volScalarField & psi
Calculate the finiteVolume matrix for implicit and explicit sources.
zeroField Sp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
fvMatrix< scalar > fvScalarMatrix
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
dimensionedScalar negPart(const dimensionedScalar &ds)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const dimensionSet dimDensity
dimensionedScalar posPart(const dimensionedScalar &ds)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object.