fixedValueFvsPatchField.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) 2011-2016 OpenFOAM Foundation
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::fixedValueFvsPatchField
28
29Description
30 Foam::fixedValueFvsPatchField
31
32SourceFiles
33 fixedValueFvsPatchField.C
34
35\*---------------------------------------------------------------------------*/
36
37#ifndef fixedValueFvsPatchField_H
38#define fixedValueFvsPatchField_H
39
40#include "fvsPatchField.H"
41
42// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44namespace Foam
45{
46
47/*---------------------------------------------------------------------------*\
48 Class fixedValueFvsPatch Declaration
49\*---------------------------------------------------------------------------*/
50
51template<class Type>
53:
54 public fvsPatchField<Type>
55{
56
57public:
58
59 //- Runtime type information
60 TypeName("fixedValue");
61
62
63 // Constructors
64
65 //- Construct from patch and internal field
67 (
68 const fvPatch&,
70 );
71
72 //- Construct from patch, internal field and dictionary
74 (
75 const fvPatch&,
77 const dictionary&
78 );
79
80 //- Construct by mapping the given fixedValueFvsPatchField<Type>
81 // onto a new patch
83 (
85 const fvPatch&,
88 );
89
90 //- Construct as copy
92 (
94 );
95
96 //- Construct and return a clone
97 virtual tmp<fvsPatchField<Type>> clone() const
98 {
100 (
102 );
103 }
104
105 //- Construct as copy setting internal field reference
107 (
110 );
111
112 //- Construct and return a clone setting internal field reference
114 (
116 ) const
117 {
119 (
120 new fixedValueFvsPatchField<Type>(*this, iF)
121 );
122 }
123
124
125 // Member functions
126
127 // Access
128
129 //- Return true if this patch field fixes a value.
130 // Needed to check if a level has to be specified while solving
131 // Poissons equations.
132 virtual bool fixesValue() const
133 {
134 return true;
135 }
136
137
138 // Evaluation functions
139
140 //- Return the matrix diagonal coefficients corresponding to the
141 // evaluation of the value of this patchField with given weights
143 (
144 const tmp<scalarField>&
145 ) const;
146
147 //- Return the matrix source coefficients corresponding to the
148 // evaluation of the value of this patchField with given weights
150 (
151 const tmp<scalarField>&
152 ) const;
153
154 //- Return the matrix diagonal coefficients corresponding to the
155 // evaluation of the gradient of this patchField
157
158 //- Return the matrix source coefficients corresponding to the
159 // evaluation of the gradient of this patchField
161
162
163 // Member operators
165 virtual void operator=(const UList<Type>&) {}
167 virtual void operator=(const fvsPatchField<Type>&) {}
168 virtual void operator+=(const fvsPatchField<Type>&) {}
169 virtual void operator-=(const fvsPatchField<Type>&) {}
170 virtual void operator*=(const fvsPatchField<scalar>&) {}
171 virtual void operator/=(const fvsPatchField<scalar>&) {}
173 virtual void operator+=(const Field<Type>&) {}
174 virtual void operator-=(const Field<Type>&) {}
176 virtual void operator*=(const Field<scalar>&) {}
177 virtual void operator/=(const Field<scalar>&) {}
179 virtual void operator=(const Type&) {}
180 virtual void operator+=(const Type&) {}
181 virtual void operator-=(const Type&) {}
182 virtual void operator*=(const scalar) {}
183 virtual void operator/=(const scalar) {}
184};
185
186
187// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188
189} // End namespace Foam
190
191// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
192
193#ifdef NoRepository
195#endif
196
197// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
198
199#endif
200
201// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type.
Definition: Field.H:82
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Definition: UList.H:94
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Foam::fixedValueFvsPatchField.
virtual void operator=(const fvsPatchField< Type > &)
virtual void operator/=(const Field< scalar > &)
virtual bool fixesValue() const
Return true if this patch field fixes a value.
virtual void operator-=(const fvsPatchField< Type > &)
virtual void operator*=(const fvsPatchField< scalar > &)
virtual tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the.
virtual tmp< fvsPatchField< Type > > clone(const DimensionedField< Type, surfaceMesh > &iF) const
Construct and return a clone setting internal field reference.
virtual void operator+=(const Field< Type > &)
virtual void operator=(const Type &)
virtual void operator*=(const Field< scalar > &)
TypeName("fixedValue")
Runtime type information.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the.
virtual tmp< fvsPatchField< Type > > clone() const
Construct and return a clone.
virtual void operator/=(const scalar)
virtual void operator=(const UList< Type > &)
virtual tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
virtual void operator+=(const fvsPatchField< Type > &)
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the.
virtual void operator-=(const Type &)
virtual void operator/=(const fvsPatchField< scalar > &)
virtual void operator*=(const scalar)
virtual void operator-=(const Field< Type > &)
virtual void operator+=(const Type &)
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:71
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
Definition: fvsPatchField.H:79
A class for managing temporary objects.
Definition: tmp.H:65
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73