38 #ifndef InterfaceCompositionModel_H 39 #define InterfaceCompositionModel_H 41 #include "interfaceCompositionModel.H" 51 template<
class ThermoType>
class pureMixture;
52 template<
class ThermoType>
class multiComponentMixture;
58 template<
class Thermo,
class OtherThermo>
59 class InterfaceCompositionModel
61 public interfaceCompositionModel
80 template<
class ThermoType>
84 const word& speciesName,
89 template<
class ThermoType>
93 const word& speciesName,
119 const word& speciesName,
126 const word& speciesName
132 const word& speciesName,
154 #define makeInterfaceCompositionType(Type, Thermo, Comp, Mix, Phys, OtherThermo, OtherComp, OtherMix, OtherPhys)\ 156 typedef Thermo<Comp, SpecieMixture<Mix<Phys>>> \ 157 Type##Thermo##Comp##Mix##Phys; \ 159 typedef OtherThermo<OtherComp, OtherMix<OtherPhys>> \ 160 Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys; \ 162 addInterfaceCompositionToRunTimeSelectionTable \ 165 Type##Thermo##Comp##Mix##Phys, \ 166 Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys \ 170 #define makeSpecieInterfaceCompositionType(Type, Thermo, Comp, Mix, Phys, OtherThermo, OtherComp, OtherMix, OtherPhys)\ 172 typedef Thermo<Comp, SpecieMixture<Mix<Phys>>> \ 173 Type##Thermo##Comp##Mix##Phys; \ 175 typedef OtherThermo<OtherComp, SpecieMixture<OtherMix<OtherPhys>>> \ 176 Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys; \ 178 addInterfaceCompositionToRunTimeSelectionTable \ 181 Type##Thermo##Comp##Mix##Phys, \ 182 Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys \ 186 #define addInterfaceCompositionToRunTimeSelectionTable(Type, Thermo, OtherThermo)\ 188 typedef Type<Thermo, OtherThermo> \ 189 Type##Thermo##OtherThermo; \ 191 defineTemplateTypeNameAndDebugWithName \ 193 Type##Thermo##OtherThermo, \ 195 word(Type##Thermo##OtherThermo::typeName_()) + "<" \ 196 + word(Thermo::typeName) + "," \ 197 + word(OtherThermo::typeName) + ">" \ 202 addToRunTimeSelectionTable \ 204 interfaceCompositionModel, \ 205 Type##Thermo##OtherThermo, \ 212 #include "InterfaceCompositionModel.C"
virtual tmp< volScalarField > D(const word &speciesName) const
Mass diffusivity.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
const OtherThermo & otherThermo_
Other Thermo.
virtual ~InterfaceCompositionModel()=default
Destructor.
CGAL::Exact_predicates_exact_constructions_kernel K
virtual void addMDotL(const volScalarField &K, const volScalarField &Tf, volScalarField &mDotL, volScalarField &mDotLPrime) const
Add latent heat flow rate to total.
const pureMixture< ThermoType >::thermoType & getLocalThermo(const word &speciesName, const pureMixture< ThermoType > &globalThermo) const
Get a reference to the local thermo for a pure mixture.
A class for handling words, derived from Foam::string.
const dimensionedScalar Le_
Lewis number.
Foam::multiComponentMixture.
virtual tmp< volScalarField > L(const word &speciesName, const volScalarField &Tf) const
Latent heat (to - from)(thermo - otherThermo)
const phasePair & pair() const
The phase pair.
virtual tmp< volScalarField > dY(const word &speciesName, const volScalarField &Tf) const
Mass fraction difference between the interface and the field.
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.
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
InterfaceCompositionModel(const dictionary &dict, const phasePair &pair)
Construct from components.