diff --git a/src/dfChemistryModel/dfChemistryModel.C b/src/dfChemistryModel/dfChemistryModel.C index 3c09f12a..b9d6da87 100644 --- a/src/dfChemistryModel/dfChemistryModel.C +++ b/src/dfChemistryModel/dfChemistryModel.C @@ -336,6 +336,14 @@ Foam::dfChemistryModel::dfChemistryModel { hc_[i] = CanteraGas_->Hf298SS(i)/CanteraGas_->molecularWeight(i); } + + react_ = std::make_unique(); + react_->setEnergy(0); + react_->insert(mixture_.CanteraSolution()); + + sim_ = std::make_unique(); + sim_->addReactor(*react_); + setNumerics(*sim_); } @@ -824,7 +832,7 @@ void Foam::dfChemistryModel::solveSingle clockTime time; time.timeIncrement(); - Cantera::Reactor react; + // Cantera::Reactor react; const scalar Ti = problem.Ti; const scalar pi = problem.pi; const scalar rhoi = problem.rhoi; @@ -833,16 +841,18 @@ void Foam::dfChemistryModel::solveSingle mixture_.setState_TPY(Ti, pi, yPre_.begin()); - react.insert(mixture_.CanteraSolution()); - // keep T const before and after sim.advance. this will give you a little improvement - react.setEnergy(0); - Cantera::ReactorNet sim; - sim.addReactor(react); - setNumerics(sim); + // react.insert(mixture_.CanteraSolution()); + // // keep T const before and after sim.advance. this will give you a little improvement + // react.setEnergy(0); + // Cantera::ReactorNet sim; + // sim.addReactor(react); + // setNumerics(sim); - sim.advance(problem.deltaT); + react_->syncState(); + sim_->advance(problem.deltaT); CanteraGas_->getMassFractions(yTemp_.begin()); + sim_->setInitialTime(0.0); for (int i=0; i::solve_CVODE #include "pytorchFunctions.H" #endif -// ************************************************************************* // +// ************************************************************************* // \ No newline at end of file diff --git a/src/dfChemistryModel/dfChemistryModel.H b/src/dfChemistryModel/dfChemistryModel.H index 59ea2483..34a4cbb9 100644 --- a/src/dfChemistryModel/dfChemistryModel.H +++ b/src/dfChemistryModel/dfChemistryModel.H @@ -94,6 +94,9 @@ public IOdictionary CanteraMixture& mixture_; std::shared_ptr CanteraGas_; std::shared_ptr CanteraKinetics_; + std::unique_ptr react_; + std::unique_ptr sim_; + const fvMesh& mesh_; Switch chemistry_; @@ -388,4 +391,4 @@ public: #endif -// ************************************************************************* // +// ************************************************************************* // \ No newline at end of file