Constant.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2017 OpenFOAM Foundation
9  Copyright (C) 2015-2020 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 \*---------------------------------------------------------------------------*/
28 
29 #include "Constant.H"
30 
31 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
32 
33 template<class Type>
35 (
36  const word& entryName,
37  const Type& value
38 )
39 :
40  Function1<Type>(entryName),
41  value_(value)
42 {}
43 
44 
45 template<class Type>
47 (
48  const word& entryName,
49  const dictionary& dict
50 )
51 :
52  Function1<Type>(entryName, dict),
53  value_(Zero)
54 {
55  Istream& is = dict.lookup(entryName);
56  word entryType(is);
57  is >> value_;
58 }
59 
60 
61 template<class Type>
63 (
64  const word& entryName,
65  Istream& is
66 )
67 :
68  Function1<Type>(entryName),
69  value_(pTraits<Type>(is))
70 {}
71 
72 
73 template<class Type>
75 :
76  Function1<Type>(cnst),
77  value_(cnst.value_)
78 {}
79 
80 
81 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
82 
83 template<class Type>
85 (
86  const scalarField& x
87 ) const
88 {
89  return tmp<Field<Type>>::New(x.size(), value_);
90 }
91 
92 
93 template<class Type>
95 (
96  const scalarField& x1,
97  const scalarField& x2
98 ) const
99 {
100  return (x2 - x1)*value_;
101 }
102 
103 template<class Type>
105 {
107 
108  os << token::SPACE << value_ << token::END_STATEMENT << nl;
109 }
110 
111 
112 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:62
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::Zero
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
Foam::Function1Types::Constant::writeData
virtual void writeData(Ostream &os) const
Write in dictionary format.
Definition: Constant.C:104
Foam::Function1Types::Constant::Constant
Constant(const word &entryName, const Type &value)
Construct from components.
Definition: Constant.C:35
Foam::Function1
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
Definition: Function1.H:86
Foam::Field< scalar >
Foam::Function1Types::Constant
Templated function that returns a constant value.
Definition: Constant.H:59
Foam::Istream
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:61
Foam::Function1::writeData
virtual void writeData(Ostream &os) const
Write in dictionary format.
Definition: Function1.C:166
Foam::token::END_STATEMENT
End entry [isseparator].
Definition: token.H:121
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
Foam::Function1Types::Constant::integrate
virtual Type integrate(const scalar x1, const scalar x2) const
Integrate between two values.
Definition: ConstantI.H:41
Foam::New
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
Definition: DimensionedFieldReuseFunctions.H:105
Foam::nl
constexpr char nl
Definition: Ostream.H:385
Foam::pTraits< Type >
Foam::token::SPACE
Space [isspace].
Definition: token.H:117
x
x
Definition: LISASMDCalcMethod2.H:52
Constant.H
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56
Foam::Function1Types::Constant::value
virtual Type value(const scalar) const
Return constant value.
Definition: ConstantI.H:33