pointLinear.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2018 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::pointLinear
26 
27 Description
28  Face-point interpolation scheme class derived from linear and
29  returns linear weighting factors but also applies an explicit correction.
30 
31  Uses volPointInterpolation to obtain the field values at the face-points.
32 
33 SourceFiles
34  pointLinear.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef pointLinear_H
39 #define pointLinear_H
40 
41 #include "linear.H"
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 /*---------------------------------------------------------------------------*\
49  Class pointLinear Declaration
50 \*---------------------------------------------------------------------------*/
51 
52 template<class Type>
53 class pointLinear
54 :
55  public linear<Type>
56 {
57  // Private Member Functions
58 
59  //- Disallow default bitwise copy construct
60  pointLinear(const pointLinear&);
61 
62  //- Disallow default bitwise assignment
63  void operator=(const pointLinear&);
64 
65 
66 public:
67 
68  //- Runtime type information
69  TypeName("pointLinear");
70 
71 
72  // Constructors
73 
74  //- Construct from mesh
75  pointLinear(const fvMesh& mesh)
76  :
77  linear<Type>(mesh)
78  {}
79 
80 
81  //- Construct from mesh and Istream
83  (
84  const fvMesh& mesh,
85  Istream&
86  )
87  :
88  linear<Type>(mesh)
89  {}
90 
91 
92  //- Construct from mesh, faceFlux and Istream
94  (
95  const fvMesh& mesh,
96  const surfaceScalarField&,
97  Istream&
98  )
99  :
100  linear<Type>(mesh)
101  {}
102 
103 
104  // Member Functions
105 
106  //- Return true if this scheme uses an explicit correction
107  virtual bool corrected() const
108  {
109  return true;
110  }
111 
112  //- Return the explicit correction to the face-interpolate
114  correction
115  (
117  ) const;
118 };
119 
120 
121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 
123 } // End namespace Foam
124 
125 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
126 
127 #endif
128 
129 // ************************************************************************* //
TypeName("pointLinear")
Runtime type information.
Central-differencing interpolation scheme class.
Definition: linear.H:50
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition: Istream.H:57
const fvMesh & mesh() const
Return mesh reference.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
Definition: pointLinear.H:106
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:37
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
A class for managing temporary objects.
Definition: PtrList.H:53
Face-point interpolation scheme class derived from linear and returns linear weighting factors but al...
Definition: pointLinear.H:52
Namespace for OpenFOAM.