Go to the documentation of this file.
44 #ifndef CompositionModel_H
45 #define CompositionModel_H
66 template<
class CloudType>
67 class CompositionModel
69 public CloudSubModelBase<CloudType>
74 const SLGThermo& thermo_;
77 phasePropertiesList phaseProps_;
92 const dictionary&
dict,
107 const dictionary&
dict,
116 virtual autoPtr<CompositionModel<CloudType>>
clone()
const = 0;
124 static autoPtr<CompositionModel<CloudType>>
New
126 const dictionary&
dict,
136 const SLGThermo&
thermo()
const;
142 const basicSpecieMixture&
carrier()
const;
145 const liquidMixtureProperties&
liquids()
const;
148 const solidMixtureProperties&
solids()
const;
151 const phasePropertiesList&
phaseProps()
const;
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_;
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
virtual const scalarField & YMixture0() const =0
virtual scalar Cp(const label phaseI, const scalarField &Y, const scalar p, const scalar T) const
virtual scalar H(const label phaseI, const scalarField &Y, const scalar p, const scalar T) const
virtual scalar rho(const scalarField &Ygas, const scalarField &Yliq, const scalarField &Ysol, const scalar T, const scalar p) const
label localId(const label phaseI, const word &cmptName, const bool allowNotFound=false) const
label localToCarrierId(const label phaseI, const label id, const bool allowNotFound=false) const
virtual scalar Hs(const label phaseI, const scalarField &Y, const scalar p, const scalar T) const
virtual scalar Hc(const label phaseI, const scalarField &Y, const scalar p, const scalar T) const
List< word > wordList
A List of words.
virtual label idGas() const =0
const phasePropertiesList & phaseProps() const
const scalarField & Y0(const label phaseI) const
tmp< scalarField > X(const label phaseI, const scalarField &Y) const
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
virtual label idSolid() const =0
DSMCCloud< dsmcParcel > CloudType
const liquidMixtureProperties & liquids() const
virtual label idLiquid() const =0
const basicSpecieMixture & carrier() const
CompositionModel(CloudType &owner)
declareRunTimeSelectionTable(autoPtr, CompositionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
PtrList< volScalarField > & Y
const wordList & componentNames(const label phaseI) const
const solidMixtureProperties & solids() const
TypeName("compositionModel")
virtual autoPtr< CompositionModel< CloudType > > clone() const =0
Macros to ease declaration of run-time selection tables.
const SLGThermo & thermo() const
virtual ~CompositionModel()
static autoPtr< CompositionModel< CloudType > > New(const dictionary &dict, CloudType &owner)
const wordList & phaseTypes() const
fileName::Type type(const fileName &name, const bool followLink=true)
label carrierId(const word &cmptName, const bool allowNotFound=false) const
virtual scalar L(const label phaseI, const scalarField &Y, const scalar p, const scalar T) const
const wordList & stateLabels() const