54 Info<<
"Creating component thermo properties:" <<
endl;
56 if (isA<basicSpecieMixture>(thermo))
63 <<
" species" <<
endl;
67 Info<<
" single component carrier" <<
endl;
70 if (thermo.
found(
"liquids"))
73 Info<<
" liquids - " << liquids_->components().size()
74 <<
" components" <<
endl;
78 Info<<
" no liquid components" <<
endl;
81 if (thermo.
found(
"solids"))
84 Info<<
" solids - " << solids_->components().size()
85 <<
" components" <<
endl;
89 Info<<
" no solid components" <<
endl;
110 if (carrier_ == NULL)
114 "const Foam::basicSpecieMixture& " 115 "Foam::SLGThermo::carrier() const" 116 ) <<
"carrier requested, but object is not allocated" 126 if (!liquids_.valid())
130 "const Foam::liquidMixtureProperties& " 131 "Foam::SLGThermo::liquids() const" 132 ) <<
"liquids requested, but object is not allocated" 142 if (!solids_.valid())
146 "const Foam::solidMixtureProperties& " 147 "Foam::SLGThermo::solids() const" 148 ) <<
"solids requested, but object is not allocated" 158 const word& cmptName,
164 if (cmptName == carrier_->
species()[i])
174 "Foam::label Foam::SLGThermo::carrierId(const word&, bool) const" 175 ) <<
"Unknown carrier component " << cmptName
176 <<
". Valid carrier components are:" <<
nl 186 const word& cmptName,
192 if (cmptName == liquids_->components()[i])
202 "Foam::label Foam::SLGThermo::liquidId(const word&, bool) const" 203 ) <<
"Unknown liquid component " << cmptName <<
". Valid liquids are:" 213 const word& cmptName,
219 if (cmptName == solids_->components()[i])
229 "Foam::label Foam::SLGThermo::solidId(const word&, bool) const" 230 ) <<
"Unknown solid component " << cmptName <<
". Valid solids are:" 240 return (carrier_ != NULL);
246 return liquids_.valid();
252 return solids_.valid();
label solidId(const word &cmptName, bool allowNotFound=false) const
Index of solid component.
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
const basicSpecieMixture & carrier() const
Return reference to the gaseous components.
static autoPtr< liquidMixtureProperties > New(const dictionary &)
Select construct from dictionary.
Mesh data needed to do the Finite Volume discretisation.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const fluidThermo & thermo() const
Return reference to the thermo database.
void size(const label)
Override size to be inconsistent with allocated storage.
errorManipArg< error, int > exit(error &err, const int errNo=1)
SLGThermo(const fvMesh &mesh, fluidThermo &thermo)
Construct from mesh.
static autoPtr< solidMixtureProperties > New(const dictionary &)
Select construct from dictionary.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
Ostream & endl(Ostream &os)
Add newline and flush stream.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const solidMixtureProperties & solids() const
Return reference to the global (additional) solids.
errorManip< error > abort(error &err)
Fundamental fluid thermodynamic properties.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
virtual ~SLGThermo()
Destructor.
bool hasLiquids() const
Thermo database has liquid components flag.
Mesh consisting of general polyhedral cells.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
bool hasSolids() const
Thermo database has solid components flag.
bool hasMultiComponentCarrier() const
Thermo database has multi-component carrier flag.
const speciesTable & species() const
Return the table of species.
Specialization of basicMultiComponentMixture for a mixture consisting of a number for molecular speci...
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
label carrierId(const word &cmptName, bool allowNotFound=false) const
Index of carrier component.
const liquidMixtureProperties & liquids() const
Return reference to the global (additional) liquids.
defineTypeNameAndDebug(combustionModel, 0)
label liquidId(const word &cmptName, bool allowNotFound=false) const
Index of liquid component.