diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C index d6dd42a045..75a21a1690 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.C @@ -31,7 +31,8 @@ template Foam::autoPtr > Foam::chemistryReader::New ( - const dictionary& thermoDict + const dictionary& thermoDict, + speciesTable& species ) { // Let the chemistry reader type default to CHEMKIN @@ -50,7 +51,7 @@ Foam::chemistryReader::New { FatalErrorIn ( - "chemistryReader::New(const dictionary& thermoDict)" + "chemistryReader::New(const dictionary&, speciesTable&)" ) << "Unknown chemistryReader type " << chemistryReaderTypeName << nl << nl << "Valid chemistryReader types are:" << nl @@ -58,7 +59,10 @@ Foam::chemistryReader::New << exit(FatalError); } - return autoPtr >(cstrIter()(thermoDict)); + return autoPtr > + ( + cstrIter()(thermoDict, species) + ); } diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.H b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.H index 839100b7a3..9a27fc90c2 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.H +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.H @@ -85,16 +85,21 @@ public: chemistryReader, dictionary, ( - const dictionary& thermoDict + const dictionary& thermoDict, + speciesTable& species ), - (thermoDict) + (thermoDict, species) ); // Selectors //- Select constructed from dictionary - static autoPtr New(const dictionary& thermoDict); + static autoPtr New + ( + const dictionary& thermoDict, + speciesTable& species + ); //- Destructor @@ -104,9 +109,6 @@ public: // Member Functions - //- Return access to the list of species - virtual const speciesTable& species() const = 0; - //- Return access to the thermo packages virtual const HashPtrTable& speciesThermo() const = 0; diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C index a95f9439c9..26fb1b1478 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.C @@ -854,29 +854,31 @@ void Foam::chemkinReader::read Foam::chemkinReader::chemkinReader ( const fileName& CHEMKINFileName, + speciesTable& species, const fileName& thermoFileName ) : lineNo_(1), specieNames_(10), - speciesTable_(), + speciesTable_(species), reactions_(speciesTable_, speciesThermo_) { read(CHEMKINFileName, thermoFileName); } -Foam::chemkinReader::chemkinReader(const dictionary& thermoDict) +Foam::chemkinReader::chemkinReader +( + const dictionary& thermoDict, + speciesTable& species +) : lineNo_(1), specieNames_(10), - speciesTable_(), + speciesTable_(species), reactions_(speciesTable_, speciesThermo_) { - fileName chemkinFile - ( - fileName(thermoDict.lookup("CHEMKINFile")).expand() - ); + fileName chemkinFile(fileName(thermoDict.lookup("CHEMKINFile")).expand()); fileName thermoFile = fileName::null; diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H index f00889d056..6e0d4dc5c1 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinReader.H @@ -193,7 +193,7 @@ private: HashTable