extrapolatedCalculatedFvPatchField.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 OpenFOAM Foundation
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::extrapolatedCalculatedFvPatchField
28 
29 Group
30  grpGenericBoundaryConditions
31 
32 Description
33  This boundary condition applies a zero-gradient condition from the patch
34  internal field onto the patch faces when \c evaluated but may also be
35  assigned. \c snGrad returns the patch gradient evaluated from the current
36  internal and patch field values rather than returning zero.
37 
38 Usage
39  Example of the boundary condition specification:
40  \verbatim
41  <patchName>
42  {
43  type extrapolatedCalculated;
44  }
45  \endverbatim
46 
47 SourceFiles
48  extrapolatedCalculatedFvPatchField.C
49 
50 \*---------------------------------------------------------------------------*/
51 
52 #ifndef extrapolatedCalculatedFvPatchField_H
53 #define extrapolatedCalculatedFvPatchField_H
54 
55 #include "calculatedFvPatchField.H"
56 
57 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
58 
59 namespace Foam
60 {
61 
62 /*---------------------------------------------------------------------------*\
63  Class extrapolatedCalculatedFvPatchField Declaration
64 \*---------------------------------------------------------------------------*/
65 
66 template<class Type>
68 :
69  public calculatedFvPatchField<Type>
70 {
71 
72 public:
73 
74  //- Runtime type information
75  TypeName("extrapolatedCalculated");
76 
77 
78  // Constructors
79 
80  //- Construct from patch and internal field
82  (
83  const fvPatch&,
85  );
86 
87  //- Construct from patch, internal field and dictionary
89  (
90  const fvPatch&,
92  const dictionary&
93  );
94 
95  //- Construct by mapping given patchField<Type> onto a new patch
97  (
99  const fvPatch&,
101  const fvPatchFieldMapper&
102  );
103 
104  //- Construct as copy
106  (
108  );
109 
110  //- Construct and return a clone
111  virtual tmp<fvPatchField<Type>> clone() const
112  {
113  return tmp<fvPatchField<Type>>
114  (
116  );
117  }
118 
119  //- Construct as copy setting internal field reference
121  (
124  );
125 
126  //- Construct and return a clone setting internal field reference
128  (
130  ) const
131  {
132  return tmp<fvPatchField<Type>>
133  (
135  );
136  }
137 
138 
139  // Member functions
140 
141  //- Evaluate the patch field
142  virtual void evaluate
143  (
145  );
146 };
147 
148 
149 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150 
151 } // End namespace Foam
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 #ifdef NoRepository
157 #endif
158 
159 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160 
161 #endif
162 
163 // ************************************************************************* //
Foam::UPstream::commsTypes::blocking
Foam::extrapolatedCalculatedFvPatchField
This boundary condition applies a zero-gradient condition from the patch internal field onto the patc...
Definition: extrapolatedCalculatedFvPatchField.H:66
Foam::extrapolatedCalculatedFvPatchField::evaluate
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patch field.
Definition: extrapolatedCalculatedFvPatchField.C:101
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:59
extrapolatedCalculatedFvPatchField.C
calculatedFvPatchField.H
Foam::extrapolatedCalculatedFvPatchField::clone
virtual tmp< fvPatchField< Type > > clone() const
Construct and return a clone.
Definition: extrapolatedCalculatedFvPatchField.H:110
Foam::fvPatch
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:65
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
Foam::calculatedFvPatchField
This boundary condition is not designed to be evaluated; it is assmued that the value is assigned via...
Definition: calculatedFvPatchField.H:66
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::extrapolatedCalculatedFvPatchField::extrapolatedCalculatedFvPatchField
extrapolatedCalculatedFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
Definition: extrapolatedCalculatedFvPatchField.C:36
Foam::UPstream::commsTypes
commsTypes
Types of communications.
Definition: UPstream.H:66
Foam::fvPatchFieldMapper
Foam::fvPatchFieldMapper.
Definition: fvPatchFieldMapper.H:47
Foam::extrapolatedCalculatedFvPatchField::TypeName
TypeName("extrapolatedCalculated")
Runtime type information.
Foam::DimensionedField
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Definition: DimensionedField.H:54