exponentialSqrRamp.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) 2022 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 Class
25  Foam::Function1s::exponentialSqrRamp
26 
27 Description
28  Exponential square ramp function starting from 0 and increasing to 1 from \c
29  start over the \c duration and remaining at 1 thereafter:
30 
31  \f[
32  value(t) = (e^(((t - start)/duration)^2) - 1)/(e - 1)
33  \f]
34 
35 See also
36  Foam::Function1s::Ramp
37 
38 SourceFiles
39  exponentialSqrRamp.C
40 
41 \*---------------------------------------------------------------------------*/
42 
43 #ifndef exponentialSqrRamp_H
44 #define exponentialSqrRamp_H
45 
46 #include "Ramp.H"
47 
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 
50 namespace Foam
51 {
52 namespace Function1s
53 {
54 
55 /*---------------------------------------------------------------------------*\
56  Class exponentialSqrRamp Declaration
57 \*---------------------------------------------------------------------------*/
58 
60 :
61  public Ramp<exponentialSqrRamp>
62 {
63 
64 public:
65 
66  // Runtime type information
67  TypeName("exponentialSqrRamp");
68 
69 
70  // Constructors
71 
72  //- Construct from name and dictionary
74  (
75  const word& name,
76  const dictionary& dict
77  );
78 
79 
80  //- Destructor
81  virtual ~exponentialSqrRamp();
82 
83 
84  // Member Functions
85 
86  //- Return value for time t
87  virtual inline scalar value(const scalar t) const;
88 
89  //- Return the integral between times t1 and t2
90  virtual inline scalar integral
91  (
92  const scalar t1,
93  const scalar t2
94  ) const;
95 
96 
97  // Member Operators
98 
99  //- Disallow default bitwise assignment
100  void operator=(const exponentialSqrRamp&) = delete;
101 };
102 
103 
104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
105 
106 } // End namespace Function1s
107 } // End namespace Foam
108 
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 
111 #include "exponentialSqrRampI.H"
112 
113 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114 
115 #endif
116 
117 // ************************************************************************* //
const word & name() const
Return the name of the entry.
Definition: Function1.C:82
Ramp function base class for the set of scalar functions starting from 0 and increasing monotonically...
Definition: Ramp.H:119
Exponential square ramp function starting from 0 and increasing to 1 from start over the duration and...
exponentialSqrRamp(const word &name, const dictionary &dict)
Construct from name and dictionary.
void operator=(const exponentialSqrRamp &)=delete
Disallow default bitwise assignment.
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.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:160
A class for handling words, derived from string.
Definition: word.H:62
Namespace for OpenFOAM.
dictionary dict