eReactingFoam-2.4.x/readTimeControls.H

70 lines
2.4 KiB
C

/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\/ 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 <http://www.gnu.org/licenses/>.
Global
readTimeControls
Description
Read the control parameters used by setDeltaT
\*---------------------------------------------------------------------------*/
const bool adjustTimeStep =
runTime.controlDict().lookupOrDefault("adjustTimeStep", false);
scalar maxCo =
runTime.controlDict().lookupOrDefault<scalar>("maxCo", 1.0);
scalar maxDeltaT =
runTime.controlDict().lookupOrDefault<scalar>("maxDeltaT", GREAT);
const dictionary pulseTimeStepDict = runTime.controlDict().subOrEmptyDict("pulseTimeStep");
const bool pulseTimeStep = !pulseTimeStepDict.empty();
const scalar pulseFrequency = // default 20 kHz
pulseTimeStepDict.lookupOrDefault<scalar>("pulseFrequency", 20e3);
const scalar pulseDuration = // default 12 ns
pulseTimeStepDict.lookupOrDefault<scalar>("pulseDuration", 12e-9);
const label nStepPulse = // default 1
ceil(pulseTimeStepDict.lookupOrDefault<scalar>("nStepPulse", 1));
const label nStepIdle = // default 1
ceil(pulseTimeStepDict.lookupOrDefault<scalar>("nStepIdle", 1));
const scalar pulsePeriod = 1 / pulseFrequency;
const scalar pulseTime = 2*pulseDuration;
const scalar idleTime = pulsePeriod - pulseTime;
const scalar deltaTpulse = pulseTime / nStepPulse;
const scalar deltaTidle = idleTime / nStepIdle;
{
}
// ************************************************************************* //