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_;
Base class for cloud sub-models.
const CloudType & owner() const
Return const access to the owner cloud.
Templated reacting parcel composition model class Consists of carrier species (via thermo package),...
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.
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.
Templated base class for dsmc cloud.
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
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
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"))