diff --git a/applications/solvers/combustion/dieselEngineFoam/dieselEngineFoam.C b/applications/solvers/combustion/dieselEngineFoam/dieselEngineFoam.C index e6b68fed3f..88b8f703d9 100644 --- a/applications/solvers/combustion/dieselEngineFoam/dieselEngineFoam.C +++ b/applications/solvers/combustion/dieselEngineFoam/dieselEngineFoam.C @@ -124,7 +124,10 @@ int main(int argc, char *argv[]) rho = thermo.rho(); - runTime.write(); + if (runTime.write()) + { + chemistry.dQ()().write(); + } Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" diff --git a/applications/solvers/combustion/dieselFoam/dieselFoam.C b/applications/solvers/combustion/dieselFoam/dieselFoam.C index 77b7713796..d5eeefc98b 100644 --- a/applications/solvers/combustion/dieselFoam/dieselFoam.C +++ b/applications/solvers/combustion/dieselFoam/dieselFoam.C @@ -114,7 +114,10 @@ int main(int argc, char *argv[]) rho = thermo.rho(); - runTime.write(); + if (runTime.write()) + { + chemistry.dQ()().write(); + } Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C index 1aecd98887..35921313c3 100644 --- a/applications/solvers/combustion/reactingFoam/reactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C @@ -86,7 +86,10 @@ int main(int argc, char *argv[]) turbulence->correct(); - rho = thermo.rho(); + if (runTime.write()) + { + chemistry.dQ()().write(); + } runTime.write(); diff --git a/applications/solvers/combustion/rhoReactingFoam/rhoReactingFoam.C b/applications/solvers/combustion/rhoReactingFoam/rhoReactingFoam.C index 58b338f430..680bd784e0 100644 --- a/applications/solvers/combustion/rhoReactingFoam/rhoReactingFoam.C +++ b/applications/solvers/combustion/rhoReactingFoam/rhoReactingFoam.C @@ -86,7 +86,10 @@ int main(int argc, char *argv[]) rho = thermo.rho(); - runTime.write(); + if (runTime.write()) + { + chemistry.dQ()().write(); + } Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" diff --git a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C index 8f0607bafa..8a7fb290b8 100644 --- a/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C +++ b/applications/solvers/lagrangian/coalChemistryFoam/coalChemistryFoam.C @@ -114,7 +114,10 @@ int main(int argc, char *argv[]) rho = thermo.rho(); - runTime.write(); + if (runTime.write()) + { + chemistry.dQ()().write(); + } Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" diff --git a/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/porousExplicitSourceReactingParcelFoam.C b/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/porousExplicitSourceReactingParcelFoam.C index a18e177581..5d3705430f 100644 --- a/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/porousExplicitSourceReactingParcelFoam.C +++ b/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/porousExplicitSourceReactingParcelFoam.C @@ -99,12 +99,14 @@ int main(int argc, char *argv[]) #include "pEqn.H" } - turbulence->correct(); rho = thermo.rho(); - runTime.write(); + if (runTime.write()) + { + chemistry.dQ()().write(); + } Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C index 4b4015c990..62f8f4834a 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C @@ -101,7 +101,10 @@ int main(int argc, char *argv[]) rho = thermo.rho(); - runTime.write(); + if (runTime.write()) + { + chemistry.dQ()().write(); + } Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C index dfe226da19..7153826609 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C @@ -246,11 +246,9 @@ Foam::scalar Foam::ODEChemistryModel::omega { pr *= pow(cr, exp - 1.0); } - } return pf*cf - pr*cr; - } @@ -468,10 +466,27 @@ Foam::ODEChemistryModel::tc() const this->thermo().rho() ); - label nCells = rho.size(); - label nReaction = reactions_.size(); + tmp tsource + ( + new volScalarField + ( + IOobject + ( + "tc", + this->time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh(), + dimensionedScalar("zero", dimTime, SMALL), + zeroGradientFvPatchScalarField::typeName + ) + ); - scalarField t(nCells, SMALL); + scalarField& t = tsource(); + + label nReaction = reactions_.size(); if (this->chemistry_) { @@ -509,25 +524,7 @@ Foam::ODEChemistryModel::tc() const } } - tmp tsource - ( - new volScalarField - ( - IOobject - ( - "tc", - this->mesh_.time().timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - this->mesh_, - dimensionedScalar("zero", dimTime, 0.0), - zeroGradientFvPatchScalarField::typeName - ) - ); - tsource().internalField() = t; tsource().correctBoundaryConditions(); return tsource; @@ -682,7 +679,7 @@ Foam::scalar Foam::ODEChemistryModel::solve forAll(rho, celli) { - for (label i=0; i