Go to the documentation of this file.
28 #include "BlendedInterfacialModel.H"
29 #include "heatTransferModel.H"
40 template<
class BasePhaseSystem>
68 const phasePair& pair(phasePairIter());
85 this->mesh().time().timeName(),
103 this->mesh().time().timeName(),
122 this->mesh().time().timeName(),
128 H1*pair.phase1().thermo().T()
129 + H2*pair.phase2().thermo().T()
136 zeroGradientFvPatchScalarField::typeName
139 Tf_[pair]->correctBoundaryConditions();
146 template<
class BasePhaseSystem>
154 template<
class BasePhaseSystem>
157 const phaseModel& phase
164 template<
class BasePhaseSystem>
168 const phasePairKey& key
173 return dmdtSign**dmdt_[key];
177 template<
class BasePhaseSystem>
184 tmp<volScalarField> tdmdt
191 this->mesh_.time().timeName(),
206 const phasePair& pair(phasePairIter());
213 const phaseModel*
phase1 = &pair.phase1();
214 const phaseModel*
phase2 = &pair.phase2();
220 tdmdt() += this->dmdt(pair);
231 template<
class BasePhaseSystem>
235 autoPtr<phaseSystem::momentumTransferTable>
248 const phasePair& pair(phasePairIter());
262 *eqns[pair.phase1().name()] += dmdt21*
U2 -
fvm::Sp(dmdt21,
U1);
263 *eqns[pair.phase2().name()] -= dmdt12*
U1 -
fvm::Sp(dmdt12,
U2);
270 template<
class BasePhaseSystem>
274 autoPtr<phaseSystem::heatTransferTable> eqnsPtr
283 const phaseModel& phase = this->phaseModels_[
phasei];
295 heatTransferModelTable,
297 heatTransferModelIter
300 const phasePair& pair
302 this->phasePairs_[heatTransferModelIter.key()]
305 const phaseModel* phase = &pair.phase1();
306 const phaseModel* otherPhase = &pair.phase2();
312 heatTransferModelIter()[pair.first()]->K()
316 heatTransferModelIter()[pair.second()]->K()
336 *eqns[phase->name()] +=
337 (*K)*(Tf - phase->thermo().T())
340 Swap(phase, otherPhase);
353 const phasePair& pair(phasePairIter());
360 const phaseModel&
phase1 = pair.phase1();
361 const phaseModel&
phase2 = pair.phase2();
389 template<
class BasePhaseSystem>
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
static word groupName(Name name, const word &group)
HashTable< autoPtr< phasePair >, phasePairKey, phasePairKey::hash > phasePairTable
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
const dimensionSet dimEnergy
HashPtrTable< fvScalarMatrix, word, string::hash > heatTransferTable
const dimensionSet dimDensity
virtual autoPtr< phaseSystem::momentumTransferTable > momentumTransfer() const
Return the momentum transfer matrices.
bool read(const char *, int32_t &)
dimensionedScalar posPart(const dimensionedScalar &ds)
virtual const volScalarField & K() const
Return the phase kinetic energy.
const rhoThermo & thermo() const
Return const-access to phase rhoThermo.
virtual tmp< volScalarField > dmdt(const phasePairKey &key) const
Return the interfacial mass flow rate.
Calculate the divergence of the given field.
static const dimensionSet dimK
Coefficient dimensions.
virtual bool read()
Read base phaseProperties dictionary.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
tmp< fvMatrix< Type > > Sp(const DimensionedField< scalar, volMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
CGAL::Exact_predicates_exact_constructions_kernel K
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
fvMatrix< scalar > fvScalarMatrix
void generatePairsAndSubModels(const word &modelName, HashTable< autoPtr< modelType >, phasePairKey, phasePairKey::hash > &models)
Generate pairs and sub-model tables.
virtual autoPtr< phaseSystem::heatTransferTable > heatTransfer() const
Return the heat transfer matrices.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const word & name() const
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual bool transfersMass(const phaseModel &phase) const
Return true if there is mass transfer for phase.
Calculate the matrix for implicit and explicit sources.
phaseSystem::momentumTransferTable & momentumTransfer(momentumTransferPtr())
GeometricField< vector, fvPatchField, volMesh > volVectorField
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
dimensionedScalar negPart(const dimensionedScalar &ds)
IOobject(const word &name, const fileName &instance, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
Construct from name, instance, registry, io options.
HashPtrTable< fvVectorMatrix, word, string::hash > momentumTransferTable
virtual volScalarField & p()
Pressure [Pa].
phasePairTable phasePairs_
Phase pairs.
virtual ~HeatAndMassTransferPhaseSystem()
Destructor.
virtual volScalarField & he()=0
Enthalpy/Internal energy [J/kg].
HeatAndMassTransferPhaseSystem(const fvMesh &)
Construct from fvMesh.
static int compare(const Pair< Type > &a, const Pair< Type > &b)
Compare Pairs.