44#ifndef CompositionModel_H
45#define CompositionModel_H
66template<
class CloudType>
172 const word& cmptName,
173 const bool allowNotFound =
false
180 const word& cmptName,
181 const bool allowNotFound =
false
189 const bool allowNotFound =
false
214 virtual label
idGas()
const = 0;
220 virtual label
idSolid()
const = 0;
288#define makeCompositionModel(CloudType) \
290 typedef Foam::CloudType::reactingCloudType reactingCloudType; \
291 defineNamedTemplateTypeNameAndDebug \
293 Foam::CompositionModel<reactingCloudType>, \
298 defineTemplateRunTimeSelectionTable \
300 CompositionModel<reactingCloudType>, \
306#define makeCompositionModelType(SS, CloudType) \
308 typedef Foam::CloudType::reactingCloudType reactingCloudType; \
309 defineNamedTemplateTypeNameAndDebug(Foam::SS<reactingCloudType>, 0); \
311 Foam::CompositionModel<reactingCloudType>:: \
312 adddictionaryConstructorToTable<Foam::SS<reactingCloudType>> \
313 add##SS##CloudType##reactingCloudType##ConstructorToTable_;
const CloudType & owner() const
Return const access to the owner cloud.
CloudSubModelBase(CloudType &owner)
Construct null from owner cloud.
const liquidMixtureProperties & liquids() const
Return the global (additional) liquids.
virtual label idLiquid() const =0
Liquid id.
TypeName("compositionModel")
Runtime type information.
virtual scalar H(const label phaseI, const scalarField &Y, const scalar p, const scalar T) const
Return total enthalpy for the phase phaseI.
const wordList & stateLabels() const
Return the list of state labels (s), (l), (g) etc.
virtual const scalarField & YMixture0() const =0
Return the list of mixture mass fractions.
CompositionModel(CloudType &owner)
Construct null from owner.
const phasePropertiesList & phaseProps() const
Return the list of phase properties.
virtual autoPtr< CompositionModel< CloudType > > clone() const =0
Construct and return a clone.
tmp< scalarField > X(const label phaseI, const scalarField &Y) const
Return the list of phase phaseI volume fractions fractions.
const basicSpecieMixture & carrier() const
Return the carrier components (wrapper function).
const SLGThermo & thermo() const
Return the thermo database.
virtual ~CompositionModel()
Destructor.
const wordList & componentNames(const label phaseI) const
Return the list of component names for phaseI.
label nPhase() const
Return the number of phases.
virtual scalar Hc(const label phaseI, const scalarField &Y, const scalar p, const scalar T) const
Return chemical enthalpy for the phase phaseI.
declareRunTimeSelectionTable(autoPtr, CompositionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
label localToCarrierId(const label phaseI, const label id, const bool allowNotFound=false) const
Return carrier id of component given local id.
virtual scalar Hs(const label phaseI, const scalarField &Y, const scalar p, const scalar T) const
Return sensible enthalpy for the phase phaseI.
virtual label idSolid() const =0
Solid id.
virtual label idGas() const =0
Gas id.
static autoPtr< CompositionModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
const solidMixtureProperties & solids() const
Return the global (additional) solids.
label localId(const label phaseI, const word &cmptName, const bool allowNotFound=false) const
Return local id of component cmptName in phase phaseI.
label carrierId(const word &cmptName, const bool allowNotFound=false) const
Return global id of component cmptName in carrier thermo.
const scalarField & Y0(const label phaseI) const
Return the list of phase phaseI mass fractions.
const wordList & phaseTypes() const
Return the list of phase type names.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Specialization of basicMultiComponentMixture for a mixture consisting of a number for molecular speci...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Simple container for a list of phase properties.
const dictionary & dict() const
Return const access to the cloud dictionary.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
PtrList< volScalarField > & Y
const volScalarField & Cp
List< word > wordList
List of word.
DSMCCloud< dsmcParcel > CloudType
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
const vector L(dict.get< vector >("L"))