29#include "phaseModel.H"
40template<
class Thermo,
class OtherThermo>
41template<
class ThermoType>
45 const word& speciesName,
57template<
class Thermo,
class OtherThermo>
58template<
class ThermoType>
62 const word& speciesName,
70template<
class Thermo,
class OtherThermo>
71template<
class ThermoType>
75 const word& speciesName,
97template<
class Thermo,
class OtherThermo>
98template<
class ThermoType>
102 const word& speciesName,
120template<
class Thermo,
class OtherThermo>
121template<
class ThermoType>
146template<
class Thermo,
class OtherThermo>
147template<
class ThermoType>
160template<
class Thermo,
class OtherThermo>
170 pair.from().
mesh().lookupObject<Thermo>
181 pair.to().
mesh().lookupObject<OtherThermo>
196template<
class Thermo,
class OtherThermo>
200 const word& speciesName
203 const typename OtherThermo::thermoType& toThermoType =
221 auto&
D = tmpD.ref();
226 toThermoType.alphah(
p[celli],
T[celli])
227 /toThermoType.rho(
p[celli],
T[celli]);
231 D.correctBoundaryConditions();
237template<
class Thermo,
class OtherThermo>
241 const word& speciesName
244 const typename Thermo::thermoType& fromThermoType =
262 auto&
D = tmpD.ref();
267 fromThermoType.alphah(
p[celli],
T[celli])
268 /fromThermoType.rho(
p[celli],
T[celli]);
272 D.correctBoundaryConditions();
278template<
class Thermo,
class OtherThermo>
282 const word& speciesName,
286 const typename Thermo::thermoType& fromThermo =
287 getLocalThermo(speciesName, fromThermo_);
288 const typename OtherThermo::thermoType& toThermo =
289 getLocalThermo(speciesName, toThermo_);
301 auto&
L = tmpL.ref();
306 L[celli] = fromThermo.Hc() - toThermo.Hc();
309 L.correctBoundaryConditions();
315template<
class Thermo,
class OtherThermo>
319 const word& speciesName,
328template<
class Thermo,
class OtherThermo>
332 const word& speciesName,
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< scalar >::calculatedType())
@ NO_REGISTER
Do not request registration (bool: false).
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.
virtual tmp< volScalarField > Dto(const word &speciesName) const
Specie mass diffusivity for specie in a multicomponent.
const Thermo & fromThermo_
Thermo (from).
tmp< volScalarField > MwMixture(const pureMixture< ThermoType > &thermo) const
Return moleculas weight of the mixture for pureMixture [Kg/mol].
virtual tmp< volScalarField > D(const word &speciesName) const
Mass diffusivity.
virtual tmp< volScalarField > dY(const word &speciesName, const volScalarField &Tf) const
Mass fraction difference between the interface and the field.
tmp< volScalarField > getSpecieMassFraction(const word &speciesName, const pureMixture< ThermoType > &thermo) const
Return mass fraction for a pureMixture equal to one.
virtual tmp< volScalarField > Dfrom(const word &speciesName) const
Specie mass diffusivity for pure mixture.
InterfaceCompositionModel(const dictionary &dict, const phasePair &pair)
Construct from components.
virtual tmp< volScalarField > L(const word &speciesName, const volScalarField &Tf) const
Latent heat (to - from)(thermo - otherThermo).
const dimensionedScalar Le_
Lewis number.
const OtherThermo & toThermo_
Other Thermo (to).
virtual tmp< volScalarField > Yf(const word &speciesName, const volScalarField &Tf) const
Reference mass fraction for species based models.
const pureMixture< ThermoType >::thermoType & getLocalThermo(const word &speciesName, const pureMixture< ThermoType > &globalThermo) const
Get a reference to the local thermo for a pure mixture.
const speciesTable & species() const
Return the table of species.
Abstract base-class for fluid and solid thermodynamic properties.
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.
static const word & zeroGradientType() noexcept
The type name for zeroGradient patch fields.
label find(const word &val) const
Find index of the value (searches the hash).
Foam::multiComponentMixture.
ThermoType thermoType
The type of thermodynamics this mixture is instantiated for.
const ThermoType & getLocalThermo(const label speciei) const
Return thermo based on index.
interfaceCompositionModel(const dictionary &dict, const phasePair &pair)
Construct from a dictionary and a phase pair.
const phasePair & pair() const
The phase pair.
const phasePair & pair_
Phase pair.
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
ThermoType thermoType
The type of thermodynamics this mixture is instantiated for.
const ThermoType & cellMixture(const label) const
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
const word dictName("faMeshDefinition")
Type & refCast(U &obj)
A dynamic_cast (for references) to Type reference.
const dimensionSet dimless
Dimensionless.
const dimensionSet dimEnergy
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const dimensionSet dimMoles(0, 0, 0, 0, 1, 0, 0)
const dimensionSet dimArea(sqr(dimLength))
static constexpr const zero Zero
Global zero (0).
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.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
const dimensionedScalar & D
#define forAll(list, i)
Loop across all elements in list.
const vector L(dict.get< vector >("L"))