57 Info<<
"Creating component thermo properties:" <<
endl;
59 if (isA<basicSpecieMixture>(
thermo))
66 <<
" species" <<
endl;
70 Info<<
" single component carrier" <<
endl;
76 Info<<
" liquids - " << liquids_->components().size()
77 <<
" components" <<
endl;
81 Info<<
" no liquid components" <<
endl;
87 Info<<
" solids - " << solids_->components().size()
88 <<
" components" <<
endl;
113 if (carrier_ ==
nullptr)
116 <<
"carrier requested, but object is not allocated" 129 <<
"liquids requested, but object is not allocated" 142 <<
"solids requested, but object is not allocated" 152 const word& cmptName,
156 forAll(carrier().species(), i)
158 if (cmptName == carrier_->species()[i])
167 <<
"Unknown carrier component " << cmptName
168 <<
". Valid carrier components are:" <<
nl 178 const word& cmptName,
182 forAll(liquids().components(), i)
184 if (cmptName == liquids_->components()[i])
193 <<
"Unknown liquid component " << cmptName <<
". Valid liquids are:" 203 const word& cmptName,
207 forAll(solids().components(), i)
209 if (cmptName == solids_->components()[i])
218 <<
"Unknown solid component " << cmptName <<
". Valid solids are:" 228 return (carrier_ !=
nullptr);
234 return bool(liquids_);
240 return bool(solids_);
bool hasSolids() const
Thermo database has solid components flag.
void size(const label n)
Older name for setAddressableSize.
errorManipArg< error, int > exit(error &err, const int errNo=1)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual ~SLGThermo()
Destructor.
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
const speciesTable & species() const
Return the table of species.
bool hasMultiComponentCarrier() const
Thermo database has multi-component carrier flag.
Specialization of basicMultiComponentMixture for a mixture consisting of a number for molecular speci...
const solidMixtureProperties & solids() const
Return reference to the global (additional) solids.
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
bool found(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find an entry (const access) with the given keyword.
#define forAll(list, i)
Loop across all elements in list.
static autoPtr< liquidMixtureProperties > New(const dictionary &)
Select construct from dictionary.
Fundamental fluid thermodynamic properties.
const liquidMixtureProperties & liquids() const
Return reference to the global (additional) liquids.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
errorManip< error > abort(error &err)
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
defineTypeNameAndDebug(combustionModel, 0)
const basicSpecieMixture & carrier() const
Return reference to the gaseous components.
label liquidId(const word &cmptName, bool allowNotFound=false) const
Index of liquid component.
label carrierId(const word &cmptName, bool allowNotFound=false) const
Index of carrier component.
Mesh data needed to do the Finite Volume discretisation.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
messageStream Info
Information stream (stdout output on master, null elsewhere)
Mesh consisting of general polyhedral cells.
bool hasLiquids() const
Thermo database has liquid components flag.
static autoPtr< solidMixtureProperties > New(const dictionary &)
Select construct from dictionary.
SLGThermo(const fvMesh &mesh, fluidThermo &thermo)
Construct from mesh.
Defines the attributes of an object for which implicit objectRegistry management is supported...
label solidId(const word &cmptName, bool allowNotFound=false) const
Index of solid component.
const fluidThermo & thermo() const
Return reference to the thermo database.