exprValuePointPatchField.H
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) 2019-2021 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::exprValuePointPatchField
28
29Description
30 A fixed value point boundary condition with expressions.
31
32Usage
33 \table
34 Property | Description | Required | Default
35 value | fixed value | yes |
36 valueExpr | expression for uniformValue | yes |
37 \endtable
38
39SourceFiles
40 exprValuePointPatchField.C
41
42\*---------------------------------------------------------------------------*/
43
44#ifndef exprValuePointPatchField_H
45#define exprValuePointPatchField_H
46
48#include "patchExprFieldBase.H"
49#include "patchExprDriver.H"
50
51// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52
53namespace Foam
54{
55
56/*---------------------------------------------------------------------------*\
57 Class exprValuePointPatchField Declaration
58\*---------------------------------------------------------------------------*/
59
60template<class Type>
61class exprValuePointPatchField
62:
63 public valuePointPatchField<Type>,
64 public expressions::patchExprFieldBase
65{
66 //- The parent boundary condition type
67 typedef valuePointPatchField<Type> parent_bctype;
68
69
70protected:
71
72 // Protected Data
73
74 //- Dictionary contents for the boundary condition
76
77 //- The expression driver
79
80
81public:
82
83 //- Runtime type information
84 TypeName("exprValue");
85
86
87 // Constructors
88
89 //- Construct from patch and internal field
91 (
92 const pointPatch&,
94 );
95
96 //- Construct from patch, internal field and dictionary
98 (
99 const pointPatch&,
101 const dictionary&
102 );
103
104 //- Construct by mapping onto a new patch
106 (
108 const pointPatch&,
111 );
112
113 //- Construct as copy setting internal field reference
115 (
118 );
119
120 //- Construct as copy
122 (
124 );
125
126
127 //- Construct and return a clone
128 virtual autoPtr<pointPatchField<Type>> clone() const
129 {
131 (
133 (
134 *this
135 )
136 );
137 }
138
139 //- Construct and return a clone setting internal field reference
141 (
143 ) const
144 {
146 (
148 (
149 *this,
150 iF
151 )
152 );
153 }
155
156 // Member Functions
157
158 //- Update the patch field
159 virtual void updateCoeffs();
160
161 //- Write
162 virtual void write(Ostream& os) const;
163};
164
165
166// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167
168} // End namespace Foam
169
170// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171
172#ifdef NoRepository
174#endif
175
176// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177
178#endif
179
180// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:62
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
A fixed value point boundary condition with expressions.
TypeName("exprValue")
Runtime type information.
dictionary dict_
Dictionary contents for the boundary condition.
expressions::patchExpr::parseDriver driver_
The expression driver.
virtual autoPtr< pointPatchField< Type > > clone(const DimensionedField< Type, pointMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual void updateCoeffs()
Update the patch field.
virtual autoPtr< pointPatchField< Type > > clone() const
Construct and return a clone.
Base class for managing patches with expressions. The expected input supports value,...
Foam::pointPatchFieldMapper.
Basic pointPatch represents a set of points from the mesh.
Definition: pointPatch.H:64
Foam::valuePointPatchField.
OBJstream os(runTime.globalPath()/outputName)
Namespace for OpenFOAM.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73