quarterSineRampI.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2017-2020 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 "quarterSineRamp.H"
27 #include "mathematicalConstants.H"
28 
29 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
30 
32 (
33  const scalar t
34 ) const
35 {
37 }
38 
39 
41 (
42  const scalar t1,
43  const scalar t2
44 ) const
45 {
46  using namespace constant::mathematical;
47 
48  const scalar l1 = linearRamp(t1), l2 = linearRamp(t2);
49 
50  return
51  - (cos(piByTwo*l2) - cos(piByTwo*l1))/piByTwo/dLinearRampDt()
52  + (t2 - min(t2, end()));
53 }
54 
55 
56 // ************************************************************************* //
scalar linearRamp(const scalar t) const
Simple linear ramp function which form the basis of many more.
Definition: Ramp.H:138
Linear ramp function starting from 0 and increasing linearRamply to 1 from start over the duration an...
Definition: linearRamp.H:117
virtual scalar value(const scalar t) const
Return value for time t.
virtual scalar integral(const scalar t1, const scalar t2) const
Return the integral between times t1 and t2.
const scalar piByTwo(0.5 *pi)
dimensionedScalar sin(const dimensionedScalar &ds)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
dimensionedScalar cos(const dimensionedScalar &ds)