basicSymmetryFaPatchField.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 -------------------------------------------------------------------------------
10 License
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 
26 Class
27  Foam::basicSymmetryFaPatchField
28 
29 Description
30  A symmetry patch
31 
32 Author
33  Zeljko Tukovic, FMENA
34  Hrvoje Jasak, Wikki Ltd.
35 
36 SourceFiles
37  basicSymmetryFaPatchField.C
38 
39 \*---------------------------------------------------------------------------*/
40 
41 #ifndef Foam_basicSymmetryFaPatchField_H
42 #define Foam_basicSymmetryFaPatchField_H
43 
44 #include "transformFaPatchField.H"
45 #include "symmetryFaPatch.H"
46 
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 
49 namespace Foam
50 {
51 
52 /*---------------------------------------------------------------------------*\
53  Class basicSymmetryFaPatchField Declaration
54 \*---------------------------------------------------------------------------*/
55 
56 template<class Type>
58 :
59  public transformFaPatchField<Type>
60 {
61 public:
62 
63  // Constructors
64 
65  //- Construct from patch and internal field
67  (
68  const faPatch&,
70  );
71 
72  //- Construct from patch, internal field and dictionary
73  // The "value" entry: NO_READ
75  (
76  const faPatch&,
78  const dictionary&
79  );
80 
81  //- Construct by mapping given basicSymmetryFaPatchField
82  //- onto a new patch
84  (
86  const faPatch&,
88  const faPatchFieldMapper&
89  );
90 
91  //- Default copy construct
93  (
95  ) = default;
96 
97  //- Construct as copy setting internal field reference
99  (
102  );
103 
104  //- Return clone
105  virtual tmp<faPatchField<Type>> clone() const
106  {
107  return faPatchField<Type>::Clone(*this);
108  }
109 
110  //- Clone with an internal field reference
112  (
114  ) const
115  {
116  return faPatchField<Type>::Clone(*this, iF);
117  }
118 
119 
120  // Member Functions
121 
122  // Evaluation functions
123 
124  //- Return gradient at boundary
125  virtual tmp<Field<Type>> snGrad() const;
126 
127  //- Evaluate the patch field
128  // Default argument needed to allow call in constructors
129  // HJ, 30/Jun/2009
130  virtual void evaluate
131  (
133  );
134 
135  //- Return face-gradient transform diagonal
136  virtual tmp<Field<Type>> snGradTransformDiag() const;
137 
138 
139  // Member Operators
140 
141  //- Inherit assignment operators
143 };
144 
145 
146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147 
148 } // End namespace Foam
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 #ifdef NoRepository
153  #include "basicSymmetryFaPatchField.C"
154 #endif
155 
156 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157 
158 #endif
159 
160 // ************************************************************************* //
virtual tmp< faPatchField< Type > > clone() const
Return clone.
commsTypes
Communications types.
Definition: UPstream.H:77
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
virtual tmp< Field< Type > > snGradTransformDiag() const
Return face-gradient transform diagonal.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field.
static tmp< faPatchField< Type > > Clone(const DerivedPatchField &pf)
Clone a patch field with its own internal field reference.
Definition: faPatchField.H:541
Finite area patch class. Used for 2-D non-Euclidian finite area method.
Definition: faPatch.H:72
basicSymmetryFaPatchField(const faPatch &, const DimensionedField< Type, areaMesh > &)
Construct from patch and internal field.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
A class for managing temporary objects.
Definition: HashPtrTable.H:50
"buffered" : (MPI_Bsend, MPI_Recv)
A FieldMapper for finite-area patch fields.
Namespace for OpenFOAM.
virtual tmp< Field< Type > > snGrad() const
Return gradient at boundary.