/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . Global setDeltaT Description Reset the timestep to maintain a low number of Picard iteration and a good convergence. Reduction of time-step is immediate, but increase is damped to avoid unstable oscillations. \*---------------------------------------------------------------------------*/ scalar deltaTFact = 1.; if (adjustTimeStep) { deltaTFact = 1.; // If There is a too high number of Picard iteration, decrease of the time // step. if (currentPicard > nIterPicard-2) { deltaTFact = 1./tFact; } if (currentPicard >= 3) { sc = 0; } if ((currentPicard < 3) && (sc < stabilisationThreshold)) { sc = sc+1; } // If there is more than 'stabilisationThreshold' iteration that the number // of Picard iteration is low, increase of the time step. if ((currentPicard < 3) && (sc == stabilisationThreshold)) { deltaTFact = tFact; sc = 0; } // Reset of the time step if needed (time step is always lower than // 'maxDeltaT'). if (deltaTFact != 1.) { runTime.setDeltaT ( min ( deltaTFact*runTime.deltaTValue(), maxDeltaT ) ); } Info<< "deltaT = " << runTime.deltaTValue() << endl; } // ************************************************************************* //