31 template<
class ThermoType>
41 const word methodName(tabulationDict.lookup(
"method"));
43 Info<<
"Selecting chemistry tabulation method " << methodName <<
endl;
45 const word methodTypeName =
46 methodName +
'<' + ThermoType::typeName() +
'>';
48 typename dictionaryConstructorTable::iterator cstrIter =
49 dictionaryConstructorTablePtr_->find(methodTypeName);
51 if (cstrIter == dictionaryConstructorTablePtr_->end())
54 <<
"Unknown " << typeName_() <<
" type " << methodName << endl
57 const wordList names(dictionaryConstructorTablePtr_->sortedToc());
60 thisCmpts.
append(word::null);
63 basicThermo::splitThermoName(ThermoType::typeName(), 5)
69 const wordList cmpts(basicThermo::splitThermoName(names[i], 6));
73 validNames.
append(cmpts[0]);
78 <<
"Valid " << typeName_() <<
" types are:" << validNames << endl
Extends standardChemistryModel by adding the TDAC method.
#define forAll(list, i)
Loop across all elements in list.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Ostream & endl(Ostream &os)
Add newline and flush stream.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
A List obtained as a section of another List.
A class for handling words, derived from string.
void append(const T &)
Append an element at the end of the list.
basicChemistryModel & chemistry
static autoPtr< chemistryTabulationMethod > New(const IOdictionary &dict, TDACChemistryModel< ThermoType > &chemistry)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...