36 #ifndef InterfaceCompositionModel_H 37 #define InterfaceCompositionModel_H 48 template<
class ThermoType>
class pureMixture;
49 template<
class ThermoType>
class multiComponentMixture;
55 template<
class Thermo,
class OtherThermo>
77 template<
class ThermoType>
81 const word& speciesName,
86 template<
class ThermoType>
90 const word& speciesName,
116 const word& speciesName,
123 const word& speciesName
129 const word& speciesName,
151 #define makeInterfaceCompositionType(Type, Thermo, Comp, Mix, Phys, OtherThermo, OtherComp, OtherMix, OtherPhys)\ 153 typedef Thermo<Comp, SpecieMixture<Mix<Phys>>> \ 154 Type##Thermo##Comp##Mix##Phys; \ 156 typedef OtherThermo<OtherComp, OtherMix<OtherPhys>> \ 157 Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys; \ 159 addInterfaceCompositionToRunTimeSelectionTable \ 162 Type##Thermo##Comp##Mix##Phys, \ 163 Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys \ 167 #define makeSpecieInterfaceCompositionType(Type, Thermo, Comp, Mix, Phys, OtherThermo, OtherComp, OtherMix, OtherPhys)\ 169 typedef Thermo<Comp, SpecieMixture<Mix<Phys>>> \ 170 Type##Thermo##Comp##Mix##Phys; \ 172 typedef OtherThermo<OtherComp, SpecieMixture<OtherMix<OtherPhys>>> \ 173 Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys; \ 175 addInterfaceCompositionToRunTimeSelectionTable \ 178 Type##Thermo##Comp##Mix##Phys, \ 179 Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys \ 183 #define addInterfaceCompositionToRunTimeSelectionTable(Type, Thermo, OtherThermo)\ 185 typedef Type<Thermo, OtherThermo> \ 186 Type##Thermo##OtherThermo; \ 188 defineTemplateTypeNameAndDebugWithName \ 190 Type##Thermo##OtherThermo, \ 192 word(Type##Thermo##OtherThermo::typeName_()) + "<" \ 193 + word(Thermo::typeName) + "," \ 194 + word(OtherThermo::typeName) + ">" \ 199 addToRunTimeSelectionTable \ 201 interfaceCompositionModel, \ 202 Type##Thermo##OtherThermo, \
A list of keyword definitions, which are a keyword followed by any number of values (e...
const OtherThermo & otherThermo_
Other Thermo.
virtual void addMDotL(const volScalarField &K, const volScalarField &Tf, volScalarField &mDotL, volScalarField &mDotLPrime) const
Add latent heat flow rate to total.
virtual tmp< volScalarField > dY(const word &speciesName, const volScalarField &Tf) const
Mass fraction difference between the interface and the field.
Base class for interface composition models, templated on the two thermodynamic models either side of...
virtual tmp< volScalarField > D(const word &speciesName) const
Mass diffusivity.
~InterfaceCompositionModel()
Destructor.
CGAL::Exact_predicates_exact_constructions_kernel K
virtual tmp< volScalarField > L(const word &speciesName, const volScalarField &Tf) const
Latent heat.
const pureMixture< ThermoType >::thermoType & getLocalThermo(const word &speciesName, const pureMixture< ThermoType > &globalThermo) const
Get a reference to the local thermo for a pure mixture.
Generic base class for interface composition models. These models describe the composition in phase 1...
A class for handling words, derived from string.
const dimensionedScalar Le_
Lewis number.
Foam::multiComponentMixture.
ThermoType thermoType
The type of thermodynamics this mixture is instantiated for.
const Thermo & thermo_
Thermo.
ThermoType thermoType
The type of thermodynamics this mixture is instantiated for.
A class for managing temporary objects.
InterfaceCompositionModel(const dictionary &dict, const phasePair &pair)
Construct from components.