/ setDeltaT.C
setDeltaT.C
1 /*---------------------------------------------------------------------------*\ 2 ========= | 3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 4 \\ / O peration | Website: https://openfoam.org 5 \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation 6 \\/ M anipulation | 7 ------------------------------------------------------------------------------- 8 License 9 This file is part of OpenFOAM. 10 11 OpenFOAM is free software: you can redistribute it and/or modify it 12 under the terms of the GNU General Public License as published by 13 the Free Software Foundation, either version 3 of the License, or 14 (at your option) any later version. 15 16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 19 for more details. 20 21 You should have received a copy of the GNU General Public License 22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. 23 24 \*---------------------------------------------------------------------------*/ 25 26 #include "setDeltaT.H" 27 28 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 29 30 void Foam::setDeltaT(Time& runTime, const solver& solver) 31 { 32 if 33 ( 34 runTime.timeIndex() == 0 35 && runTime.controlDict().lookupOrDefault("adjustTimeStep", false) 36 && solver.transient() 37 ) 38 { 39 const scalar deltaT = 40 min(solver.maxDeltaT(), runTime.functionObjects().maxDeltaT()); 41 42 if (deltaT < rootVGreat) 43 { 44 runTime.setDeltaT(min(runTime.deltaTValue(), deltaT)); 45 } 46 } 47 } 48 49 50 void Foam::adjustDeltaT(Time& runTime, const solver& solver) 51 { 52 // Update the time-step limited by the solver maxDeltaT 53 if 54 ( 55 runTime.controlDict().lookupOrDefault("adjustTimeStep", false) 56 && solver.transient() 57 ) 58 { 59 const scalar deltaT = 60 min(solver.maxDeltaT(), runTime.functionObjects().maxDeltaT()); 61 62 if (deltaT < rootVGreat) 63 { 64 runTime.setDeltaT 65 ( 66 min(solver::deltaTFactor*runTime.deltaTValue(), deltaT) 67 ); 68 Info<< "deltaT = " << runTime.deltaTValue() << endl; 69 } 70 } 71 } 72 73 74 // ************************************************************************* //