diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C index 117412407c5f1b242328c33bb41dc5a23544cb4e..f0807eb725093cd3bf1c4e3836b049642afdfc57 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/ODEChemistryModel/ODEChemistryModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -743,6 +743,8 @@ Foam::scalar Foam::ODEChemistryModel<CompType, ThermoType>::solve const scalar deltaT ) { + CompType::correct(); + scalar deltaTMin = GREAT; const volScalarField rho diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C index 3b2aafecd8a696ab45a11419d934367cd01aa279..38efa9e858e89cbbad80eeaa4cc36e00e882f8ff 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -34,6 +34,18 @@ namespace Foam defineTypeNameAndDebug(basicChemistryModel, 0); } +// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // + +void Foam::basicChemistryModel::correct() +{ + if (mesh_.changing()) + { + deltaTChem_.setSize(mesh_.nCells()); + deltaTChem_ = deltaTChemIni_; + } +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::basicChemistryModel::basicChemistryModel(const fvMesh& mesh) @@ -51,11 +63,8 @@ Foam::basicChemistryModel::basicChemistryModel(const fvMesh& mesh) ), mesh_(mesh), chemistry_(lookup("chemistry")), - deltaTChem_ - ( - mesh.nCells(), - readScalar(lookup("initialChemicalTimeStep")) - ) + deltaTChemIni_(readScalar(lookup("initialChemicalTimeStep"))), + deltaTChem_(mesh.nCells(), deltaTChemIni_) {} diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H index 607133ce7e7beced87fd548b7efc17e4a97623d5..2f27d59f7081468c645a53191de4e335f8c67664 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H @@ -76,6 +76,9 @@ protected: //- Chemistry activation switch Switch chemistry_; + //- Initial chemical time step + const scalar deltaTChemIni_; + //- Latest estimation of integration step scalarField deltaTChem_; @@ -86,6 +89,9 @@ protected: // step, e.g. for multi-chemistry model scalarField& deltaTChem(); + //- Correct function - updates due to mesh changes + void correct(); + public: