31 template<
class ThermoType>
45 template<
class ThermoType>
51 specieThermos_.setSize(species_.size());
52 specieCompositions_.setSize(species_.size());
53 specieDictLocations_.setSize(species_.size());
54 active_.setSize(species_.size(),
true);
63 new ThermoType(species_[speciei], specieDict)
66 if (specieDict.
isDict(
"elements"))
71 const wordList elementsNames(specieElementsDict.
toc());
73 specieCompositions_[speciei].resize(elementsNames.
size());
77 specieCompositions_[speciei][eni].name() = elementsNames[eni];
78 specieCompositions_[speciei][eni].nAtoms() =
88 template<
class ThermoType>
95 if (specieCompositions_[speciei].empty())
98 <<
"Elemental composition not specified for specie "
99 << specieThermos_[speciei].name()
103 return specieCompositions_[speciei];
107 template<
class ThermoType>
115 template<
class ThermoType>
#define forAll(list, i)
Loop across all elements in list.
void size(const label)
Override size to be inconsistent with allocated storage.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
T lookupOrDefault(const word &, const T &) const
Find and return a T, if not found return the given default.
bool isDict(const word &) const
Check if entry is a sub-dictionary.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
wordList toc() const
Return the table of contents.
const List< specieElement > & specieComposition(const label speciei) const
Return composition based on index.
const boolList & speciesActive() const
Access the specie active flags.
multicomponentMixture(const dictionary &)
Construct from a dictionary.
void read(const dictionary &)
Read dictionary.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
const unitSet & lookup(const word &unitName)
Lookup and return the named unit from the table.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.