calculatedFaPatchField.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-------------------------------------------------------------------------------
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::calculatedFaPatchField
28
29Description
30
31Author
32 Zeljko Tukovic, FMENA
33 Hrvoje Jasak, Wikki Ltd.
34
35SourceFiles
36 calculatedFaPatchField.C
37
38\*---------------------------------------------------------------------------*/
39
40#ifndef calculatedFaPatchField_H
41#define calculatedFaPatchField_H
42
43#include "faPatchField.H"
44
45// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47namespace Foam
48{
49
50/*---------------------------------------------------------------------------*\
51 Class calculatedFaPatch Declaration
52\*---------------------------------------------------------------------------*/
53
54template<class Type>
56:
57 public faPatchField<Type>
58{
59
60public:
61
62 //- Runtime type information
63 TypeName("calculated");
64
65
66 // Constructors
67
68 //- Construct from patch and internal field
70 (
71 const faPatch&,
73 );
74
75 //- Construct from patch, internal field and dictionary
77 (
78 const faPatch&,
80 const dictionary&
81 );
82
83 //- Construct by mapping given patchField<Type> onto a new patch
85 (
87 const faPatch&,
90 );
91
92 //- Construct as copy
94 (
96 );
97
98 //- Construct and return a clone
99 virtual tmp<faPatchField<Type>> clone() const
100 {
102 (
104 );
105 }
106
107 //- Construct as copy setting internal field reference
109 (
112 );
113
114 //- Construct and return a clone setting internal field reference
116 (
118 ) const
119 {
121 (
122 new calculatedFaPatchField<Type>(*this, iF)
123 );
124 }
125
126
127 // Member functions
128
129 // Access
130
131 //- Return true if this patch field fixes a value.
132 // Needed to check if a level has to be specified while solving
133 // Poissons equations.
134 virtual bool fixesValue() const
135 {
136 return true;
137 }
138
139
140 // Evaluation functions
141
142 //- Return the matrix diagonal coefficients corresponding to the
143 // evaluation of the value of this patchField with given weights
145 (
146 const tmp<scalarField>&
147 ) const;
148
149 //- Return the matrix source coefficients corresponding to the
150 // evaluation of the value of this patchField with given weights
152 (
153 const tmp<scalarField>&
154 ) const;
155
156 //- Return the matrix diagonal coefficients corresponding to the
157 // evaluation of the gradient of this patchField
159
160 //- Return the matrix source coefficients corresponding to the
161 // evaluation of the gradient of this patchField
163
164
165 //- Write
166 virtual void write(Ostream&) const;
167};
168
169
170// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171
172} // End namespace Foam
173
174// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175
176#ifdef NoRepository
177 #include "calculatedFaPatchField.C"
178#endif
179
180// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181
182#endif
183
184// ************************************************************************* //
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
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
virtual tmp< faPatchField< Type > > clone() const
Construct and return a clone.
virtual bool fixesValue() const
Return true if this patch field fixes a value.
tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the.
tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) 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.
TypeName("calculated")
Runtime type information.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
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
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.
runTime write()
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73