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-2024 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 unitConversions& units,
77  const dictionary& dict
78  );
79 
80 
81  //- Destructor
82  virtual ~exponentialSqrRamp();
83 
84 
85  // Member Functions
86 
87  //- Return value for time t
88  virtual inline scalar value(const scalar t) const;
89 
90  //- Return the integral between times t1 and t2
91  virtual inline scalar integral
92  (
93  const scalar t1,
94  const scalar t2
95  ) const;
96 
97 
98  // Member Operators
99 
100  //- Disallow default bitwise assignment
101  void operator=(const exponentialSqrRamp&) = delete;
102 };
103 
104 
105 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106 
107 } // End namespace Function1s
108 } // End namespace Foam
109 
110 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111 
112 #include "exponentialSqrRampI.H"
113 
114 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 
116 #endif
117 
118 // ************************************************************************* //
const word & name() const
Return the name of the entry.
Definition: Function1.C:78
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...
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.
exponentialSqrRamp(const word &name, const unitConversions &units, const dictionary &dict)
Construct from name and dictionary.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
A class for handling words, derived from string.
Definition: word.H:62
Namespace for OpenFOAM.
const HashTable< unitConversion > & units()
Get the table of unit conversions.
dictionary dict