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 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),
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 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
82 
83 template<class Type>
85 {}
86 
87 
88 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
89 
90 template<class Type>
92 (
93  const scalarField& x
94 ) const
95 {
96  return tmp<Field<Type>>::New(x.size(), value_);
97 }
98 
99 
100 template<class Type>
102 (
103  const scalarField& x1,
104  const scalarField& x2
105 ) const
106 {
107  return (x2 - x1)*value_;
108 }
109 
110 template<class Type>
112 {
114 
115  os << token::SPACE << value_ << token::END_STATEMENT << nl;
116 }
117 
118 
119 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:62
Foam::Function1Types::Constant::~Constant
virtual ~Constant()
Destructor.
Definition: Constant.C:84
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:59
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:111
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:165
Foam::token::END_STATEMENT
End entry [isseparator].
Definition: token.H:122
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:118
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