Go to the documentation of this file.
56 Info<<
"Creating component thermo properties:" <<
endl;
58 if (isA<basicSpecieMixture>(
thermo))
64 Info<<
" multi-component carrier - " << mcThermo.
species().size()
65 <<
" species" <<
endl;
69 Info<<
" single component carrier" <<
endl;
72 if (
thermo.found(
"liquids"))
75 Info<<
" liquids - " << liquids_->components().size()
76 <<
" components" <<
endl;
80 Info<<
" no liquid components" <<
endl;
83 if (
thermo.found(
"solids"))
86 Info<<
" solids - " << solids_->components().size()
87 <<
" components" <<
endl;
91 Info<<
" no solid components" <<
endl;
112 if (carrier_ ==
nullptr)
115 <<
"carrier requested, but object is not allocated"
125 if (!liquids_.valid())
128 <<
"liquids requested, but object is not allocated"
138 if (!solids_.valid())
141 <<
"solids requested, but object is not allocated"
151 const word& cmptName,
155 forAll(carrier().species(), i)
157 if (cmptName == carrier_->species()[i])
166 <<
"Unknown carrier component " << cmptName
167 <<
". Valid carrier components are:" <<
nl
177 const word& cmptName,
181 forAll(liquids().components(), i)
183 if (cmptName == liquids_->components()[i])
192 <<
"Unknown liquid component " << cmptName <<
". Valid liquids are:"
202 const word& cmptName,
206 forAll(solids().components(), i)
208 if (cmptName == solids_->components()[i])
217 <<
"Unknown solid component " << cmptName <<
". Valid solids are:"
227 return (carrier_ !=
nullptr);
233 return liquids_.valid();
239 return solids_.valid();
Defines the attributes of an object for which implicit objectRegistry management is supported,...
virtual ~SLGThermo()
Destructor.
A class for handling words, derived from Foam::string.
const fluidThermo & thermo() const
Return reference to the thermo database.
Specialization of basicMultiComponentMixture for a mixture consisting of a number for molecular speci...
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.
#define forAll(list, i)
Loop across all elements in list.
const liquidMixtureProperties & liquids() const
Return reference to the global (additional) liquids.
messageStream Info
Information stream (uses stdout - output is on the master only)
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.
label carrierId(const word &cmptName, bool allowNotFound=false) const
Index of carrier component.
bool hasLiquids() const
Thermo database has liquid components flag.
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.
defineTypeNameAndDebug(combustionModel, 0)