pointLinear.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) 2011-2016 OpenFOAM Foundation
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::pointLinear
28
29Group
30 grpFvSurfaceInterpolationSchemes
31
32Description
33 Face-point interpolation scheme class derived from linear and
34 returns linear weighting factors but also applies an explicit correction.
35
36 Uses volPointInterpolation to obtain the field values at the face-points.
37
38SourceFiles
39 pointLinear.C
40
41\*---------------------------------------------------------------------------*/
42
43#ifndef pointLinear_H
44#define pointLinear_H
45
46#include "linear.H"
47
48// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49
50namespace Foam
51{
52
53/*---------------------------------------------------------------------------*\
54 Class pointLinear Declaration
55\*---------------------------------------------------------------------------*/
56
57template<class Type>
58class pointLinear
59:
60 public linear<Type>
61{
62 // Private Member Functions
63
64 //- No copy construct
65 pointLinear(const pointLinear&) = delete;
66
67 //- No copy assignment
68 void operator=(const pointLinear&) = delete;
69
70
71public:
72
73 //- Runtime type information
74 TypeName("pointLinear");
75
76
77 // Constructors
78
79 //- Construct from mesh
80 pointLinear(const fvMesh& mesh)
81 :
82 linear<Type>(mesh)
83 {}
84
85
86 //- Construct from mesh and Istream
88 (
89 const fvMesh& mesh,
90 Istream&
91 )
92 :
93 linear<Type>(mesh)
94 {}
95
96
97 //- Construct from mesh, faceFlux and Istream
99 (
100 const fvMesh& mesh,
101 const surfaceScalarField&,
102 Istream&
103 )
104 :
105 linear<Type>(mesh)
106 {}
107
108
109 // Member Functions
110
111 //- Return true if this scheme uses an explicit correction
112 virtual bool corrected() const
113 {
114 return true;
115 }
116
117 //- Return the explicit correction to the face-interpolate
120 (
122 ) const;
123};
124
125
126// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127
128} // End namespace Foam
129
130// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131
132#endif
133
134// ************************************************************************* //
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:64
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:91
Central-differencing interpolation scheme class.
Definition: linear.H:58
Face-point interpolation scheme class derived from linear and returns linear weighting factors but al...
Definition: pointLinear.H:60
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
Definition: pointLinear.H:111
TypeName("pointLinear")
Runtime type information.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
Definition: pointLinear.C:39
pointLinear(const fvMesh &mesh, Istream &)
Construct from mesh and Istream.
Definition: pointLinear.H:87
pointLinear(const fvMesh &mesh, const surfaceScalarField &, Istream &)
Construct from mesh, faceFlux and Istream.
Definition: pointLinear.H:98
pointLinear(const fvMesh &mesh)
Construct from mesh.
Definition: pointLinear.H:79
const fvMesh & mesh() const
Return mesh reference.
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