Go to the documentation of this file.
34 template<
class CompType,
class ThermoType>
44 const word methodName(reductionDict.
get<
word>(
"method"));
46 Info<<
"Selecting chemistry reduction method " << methodName <<
endl;
48 const word methodTypeName
51 +
'<' + CompType::typeName +
',' + ThermoType::typeName() +
'>'
54 auto cstrIter = dictionaryConstructorTablePtr_->cfind(methodTypeName);
56 if (!cstrIter.found())
58 constexpr
const int nCmpt = 7;
61 thisCmpts.
append(word::null);
62 thisCmpts.
append(CompType::typeName);
65 basicThermo::splitThermoName(ThermoType::typeName(), 5)
89 : dictionaryConstructorTablePtr_->sortedToc()
94 basicThermo::splitThermoName(validName, nCmpt)
96 const wordList& cmpts = validCmpts.last();
99 for (label i = 1; i < cmpts.size() && isValid; ++i)
101 isValid = isValid && cmpts[i] == thisCmpts[i];
106 validNames.
append(cmpts[0]);
115 *dictionaryConstructorTablePtr_
117 <<
"All " << validCmpts[0][0] <<
'/' << validCmpts[0][1]
118 <<
"/thermoPhysics combinations:" <<
nl <<
nl;
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
static autoPtr< chemistryReductionMethod< CompType, ThermoType > > New(const IOdictionary &dict, TDACChemistryModel< CompType, ThermoType > &chemistry)
A class for handling words, derived from Foam::string.
BasicChemistryModel< psiReactionThermo > & chemistry
void append(const T &val)
Append an element at the end of the list.
Ostream & endl(Ostream &os)
Add newline and flush stream.
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
messageStream Info
Information stream (uses stdout - output is on the master only)
Ostream & printTable(const UList< wordList > &tbl, List< std::string::size_type > &columnWidths, Ostream &os, bool headerSeparator=true)
Print a List of wordList as a table.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
#define FatalErrorInLookup(lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.