emptyFaPatchField.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) 2016-2017 Wikki Ltd
9 Copyright (C) 2019 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
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
27Class
28 Foam::emptyFaPatchField
29
30Description
31
32Author
33 Zeljko Tukovic, FMENA
34 Hrvoje Jasak, Wikki Ltd.
35
36SourceFiles
37 emptyFaPatchField.C
38
39\*---------------------------------------------------------------------------*/
40
41#ifndef emptyFaPatchField_H
42#define emptyFaPatchField_H
43
44#include "faPatchField.H"
45#include "emptyFaPatch.H"
46
47// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48
49namespace Foam
50{
51
52/*---------------------------------------------------------------------------*\
53 Class emptyFaPatchField Declaration
54\*---------------------------------------------------------------------------*/
55
56template<class Type>
58:
59 public faPatchField<Type>
60{
61
62public:
63
64 //- Runtime type information
65 TypeName(emptyFaPatch::typeName_());
66
67
68 // Constructors
69
70 //- Construct from patch and internal field
72 (
73 const faPatch&,
75 );
76
77 //- Construct from patch, internal field and dictionary
79 (
80 const faPatch&,
82 const dictionary&
83 );
84
85 //- Construct by mapping given emptyFaPatchField onto a new patch
87 (
89 const faPatch&,
92 );
93
94 //- Construct as copy
96 (
98 );
99
100 //- Construct and return a clone
101 virtual tmp<faPatchField<Type>> clone() const
102 {
104 (
105 new emptyFaPatchField<Type>(*this)
106 );
107 }
108
109 //- Construct as copy setting internal field reference
111 (
114 );
115
116 //- Construct and return a clone setting internal field reference
118 (
120 ) const
121 {
123 (
124 new emptyFaPatchField<Type>(*this, iF)
125 );
126 }
127
128
129 //- Destructor
130 virtual ~emptyFaPatchField() = default;
131
132
133 // Member functions
134
135 // Mapping functions
136
137 //- Map (and resize as needed) from self given a mapping object
138 virtual void autoMap
139 (
140 const faPatchFieldMapper&
141 )
142 {}
143
144 //- Reverse map the given faPatchField onto this faPatchField
145 virtual void rmap
146 (
147 const faPatchField<Type>&,
148 const labelList&
149 )
150 {}
151
152
153 // Evaluation functions
154
155 //- Update the coefficients associated with the patch field
156 // This only checks to see the case is actually 1D or 2D
157 // for which this boundary condition is valid
158 void updateCoeffs();
159
160
161 //- Return the matrix diagonal coefficients corresponding to the
162 // evaluation of the value of this patchField with given weights
164 (
165 const tmp<scalarField>&
166 ) const
167 {
168 return tmp<Field<Type>>::New();
169 }
170
171 //- Return the matrix source coefficients corresponding to the
172 // evaluation of the value of this patchField with given weights
174 (
175 const tmp<scalarField>&
176 ) const
177 {
178 return tmp<Field<Type>>::New();
179 }
180
181 //- Return the matrix diagonal coefficients corresponding to the
182 // evaluation of the gradient of this patchField
184 {
185 return tmp<Field<Type>>::New();
186 }
187
188 //- Return the matrix source coefficients corresponding to the
189 // evaluation of the gradient of this patchField
191 {
192 return tmp<Field<Type>>::New();
193 }
194};
195
196
197// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
198
199} // End namespace Foam
200
201// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202
203#ifdef NoRepository
204 #include "emptyFaPatchField.C"
205#endif
206
207// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
208
209#endif
210
211// ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
virtual tmp< faPatchField< Type > > clone() const
Construct and return a clone.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the.
virtual void rmap(const faPatchField< Type > &, const labelList &)
Reverse map the given faPatchField onto this faPatchField.
virtual ~emptyFaPatchField()=default
Destructor.
void updateCoeffs()
Update the coefficients associated with the patch field.
TypeName(emptyFaPatch::typeName_())
Runtime type information.
tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
virtual tmp< faPatchField< Type > > clone(const DimensionedField< Type, areaMesh > &iF) const
Construct and return a clone setting internal field reference.
tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the.
virtual void autoMap(const faPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
A FieldMapper for finite-area patch fields.
faPatchField<Type> abstract base class. This class gives a fat-interface to all derived classes cover...
Definition: faPatchField.H:82
static tmp< faPatchField< Type > > New(const word &patchFieldType, const word &actualPatchType, const faPatch &, const DimensionedField< Type, areaMesh > &)
Finite area patch class. Used for 2-D non-Euclidian finite area method.
Definition: faPatch.H:78
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