Loading...
Searching...
No Matches
skewCorrectionVectors.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-2013 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::skewCorrectionVectors
28
29Description
30 Skew-correction vectors for the skewness-corrected interpolation scheme
31
32SourceFiles
33 skewCorrectionVectors.C
34
35\*---------------------------------------------------------------------------*/
36
37#ifndef skewCorrectionVectors_H
38#define skewCorrectionVectors_H
39
40#include "MeshObject.H"
41#include "fvMesh.H"
42#include "surfaceFields.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48
49// Forward Declarations
50class fvMesh;
52/*---------------------------------------------------------------------------*\
53 Class skewCorrectionVectors Declaration
54\*---------------------------------------------------------------------------*/
55
57:
58 public MeshObject<fvMesh, MoveableMeshObject, skewCorrectionVectors>
59{
60 // Private Typedefs
61
62 typedef MeshObject
63 <
64 fvMesh,
67 > MeshObject_type;
68
69
70 // Private Data
71
72 //- Is mesh skew
73 bool skew_;
74
75 //- Skew correction vectors
76 surfaceVectorField skewCorrectionVectors_;
77
78 //- Calculate skewness correction vectors
79 void calcSkewCorrectionVectors();
80
81
82public:
83
84 TypeName("skewCorrectionVectors");
86
87 // Constructors
88
89 //- Construct given fvMesh
90 explicit skewCorrectionVectors(const fvMesh& mesh);
91
92
93 //- Destructor
94 virtual ~skewCorrectionVectors();
95
96
97 // Member Functions
98
99 //- Return whether mesh is skew or not
100 bool skew() const
101 {
102 return skew_;
103 }
104
105 //- Return reference to skew vectors array
106 const surfaceVectorField& operator()() const
108 return skewCorrectionVectors_;
109 }
110
111 //- Update the correction vectors when the mesh moves
112 virtual bool movePoints();
113};
114
116// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
117
118} // End namespace Foam
119
120// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
121
122#endif
123
124// ************************************************************************* //
Mesh data needed to do the Finite Volume discretisation.
Definition fvMesh.H:85
virtual bool movePoints()
Update the correction vectors when the mesh moves.
virtual ~skewCorrectionVectors()
Destructor.
skewCorrectionVectors(const fvMesh &mesh)
Construct given fvMesh.
const surfaceVectorField & operator()() const
Return reference to skew vectors array.
bool skew() const
Return whether mesh is skew or not.
TypeName("skewCorrectionVectors")
Namespace for OpenFOAM.
GeometricField< vector, fvsPatchField, surfaceMesh > surfaceVectorField
Foam::surfaceFields.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition typeInfo.H:68