Go to the documentation of this file.
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"))
74 <<
" components" <<
endl;
78 Info<<
" no liquid components" <<
endl;
81 if (
thermo.found(
"solids"))
85 <<
" components" <<
endl;
89 Info<<
" no solid components" <<
endl;
110 if (carrier_ == NULL)
113 <<
"carrier requested, but object is not allocated"
123 if (!liquids_.valid())
126 <<
"liquids requested, but object is not allocated"
136 if (!solids_.valid())
139 <<
"solids requested, but object is not allocated"
149 const word& cmptName,
153 forAll(carrier().species(), i)
155 if (cmptName == carrier_->species()[i])
164 <<
"Unknown carrier component " << cmptName
165 <<
". Valid carrier components are:" <<
nl
175 const word& cmptName,
179 forAll(liquids().components(), i)
181 if (cmptName == liquids_->components()[i])
190 <<
"Unknown liquid component " << cmptName <<
". Valid liquids are:"
200 const word& cmptName,
204 forAll(solids().components(), i)
206 if (cmptName == solids_->components()[i])
215 <<
"Unknown solid component " << cmptName <<
". Valid solids are:"
225 return (carrier_ != NULL);
231 return liquids_.valid();
237 return solids_.valid();
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
virtual ~SLGThermo()
Destructor.
A class for handling words, derived from string.
const fluidThermo & thermo() const
Return reference to the thermo database.
Specialization of basicMultiComponentMixture for a mixture consisting of a number for molecular speci...
#define forAll(list, i)
Loop across all elements in list.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
bool hasMultiComponentCarrier() const
Thermo database has multi-component carrier flag.
const speciesTable & species() const
Return the table of species.
Fundamental fluid thermodynamic properties.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
const solidMixtureProperties & solids() const
Return reference to the global (additional) solids.
Ostream & endl(Ostream &os)
Add newline and flush stream.
static autoPtr< liquidMixtureProperties > New(const dictionary &)
Select construct from dictionary.
Mesh consisting of general polyhedral cells.
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 liquidMixtureProperties & liquids() const
Return reference to the global (additional) liquids.
const basicSpecieMixture & carrier() const
Return reference to the gaseous components.
Mesh data needed to do the Finite Volume discretisation.
errorManip< error > abort(error &err)
static autoPtr< solidMixtureProperties > New(const dictionary &)
Select construct from dictionary.
label liquidId(const word &cmptName, bool allowNotFound=false) const
Index of liquid component.
errorManipArg< error, int > exit(error &err, const int errNo=1)
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
autoPtr< liquidMixtureProperties > liquids_
Additional liquid properties data.
label carrierId(const word &cmptName, bool allowNotFound=false) const
Index of carrier component.
bool hasLiquids() const
Thermo database has liquid components flag.
autoPtr< solidMixtureProperties > solids_
Additional solid properties data.
SLGThermo(const fvMesh &mesh, fluidThermo &thermo)
Construct from mesh.
bool hasSolids() const
Thermo database has solid components flag.
label solidId(const word &cmptName, bool allowNotFound=false) const
Index of solid component.
void size(const label)
Override size to be inconsistent with allocated storage.
defineTypeNameAndDebug(combustionModel, 0)
basicSpecieMixture * carrier_
Reference to the multi-component carrier phase thermo.