interpolationCellPatchConstrained.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 | Copyright (C) 2011-2016 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::interpolationCellPatchConstrained
26 
27 Description
28  Uses the cell value for any point in the cell apart from a boundary face
29  where it uses the boundary value directly.
30  Note: will not work on an empty patch.
31 
32 \*---------------------------------------------------------------------------*/
33 
34 #ifndef interpolationCellPatchConstrained_H
35 #define interpolationCellPatchConstrained_H
36 
37 #include "interpolation.H"
38 
39 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
40 
41 namespace Foam
42 {
43 
44 class fvMesh;
45 
46 /*---------------------------------------------------------------------------*\
47  Class interpolationCellPatchConstrained Declaration
48 \*---------------------------------------------------------------------------*/
49 
50 template<class Type>
52 :
53  public interpolation<Type>
54 {
55 
56 public:
57 
58  //- Runtime type information
59  TypeName("cellPatchConstrained");
60 
61 
62  // Constructors
63 
64  //- Construct from components
66  (
68  );
69 
70 
71  // Member Functions
72 
73  //- Interpolate field to the given point in the given cell
74  Type interpolate
75  (
76  const vector& position,
77  const label celli,
78  const label facei = -1
79  ) const;
80 };
81 
82 
83 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
84 
85 } // End namespace Foam
86 
87 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
88 
89 #ifdef NoRepository
91 #endif
92 
93 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
94 
95 #endif
96 
97 // ************************************************************************* //
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
interpolationCellPatchConstrained(const GeometricField< Type, fvPatchField, volMesh > &psi)
Construct from components.
Generic GeometricField class.
Type interpolate(const vector &position, const label celli, const label facei=-1) const
Interpolate field to the given point in the given cell.
TypeName("cellPatchConstrained")
Runtime type information.
Abstract base class for interpolation.
Uses the cell value for any point in the cell apart from a boundary face where it uses the boundary v...
const GeometricField< Type, fvPatchField, volMesh > & psi() const
Return the field to be interpolated.
Namespace for OpenFOAM.