motionInterpolation.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) 2015 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::motionInterpolation
26 
27 Description
28  Base class for interpolation of cell displacement fields, generated by
29  fvMotionSolvers, to the points. This base class implements the default
30  method which applies volPointInterpolation only.
31 
32 SourceFiles
33  motionInterpolation.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef motionInterpolation_H
38 #define motionInterpolation_H
39 
40 #include "fvMesh.H"
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 namespace Foam
45 {
46 
47 /*---------------------------------------------------------------------------*\
48  Class motionInterpolation Declaration
49 \*---------------------------------------------------------------------------*/
50 
52 {
53  // Private data
54 
55  //- Reference to the FV mesh
56  const fvMesh& mesh_;
57 
58 
59  // Private Member Functions
60 
61  //- Disallow default bitwise copy construct
63 
64  //- Disallow default bitwise assignment
65  void operator=(const motionInterpolation&);
66 
67 
68 public:
69 
70  //- Runtime type information
71  TypeName("motionInterpolation");
72 
73 
74  // Declare run-time constructor selection tables
75 
77  (
78  autoPtr,
80  Istream,
81  (
82  const fvMesh& mesh,
83  Istream& entry
84  ),
85  (mesh, entry)
86  );
87 
88 
89  // Selectors
90 
91  //- Select default
93 
94  //- Select from stream
96  (
97  const fvMesh& mesh,
98  Istream& entry
99  );
100 
101 
102  // Constructors
103 
104  //- Construct from an fvMesh
106 
107  //- Construct from an fvMesh and an Istream
109 
110 
111  //- Destructor
112  virtual ~motionInterpolation();
113 
114 
115  // Member Functions
116 
117  //- Return const-refernce to the mesh
118  const fvMesh& mesh() const
119  {
120  return mesh_;
121  }
122 
123  //- Interpolate the given scalar cell displacement
124  virtual void interpolate
125  (
126  const volScalarField&,
128  ) const;
129 
130  //- Interpolate the given vector cell displacement
131  virtual void interpolate
132  (
133  const volVectorField&,
135  ) const;
136 };
137 
138 
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 
141 } // End namespace Foam
142 
143 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144 
145 #endif
146 
147 // ************************************************************************* //
Foam::entry
A keyword and a list of tokens is an 'entry'.
Definition: entry.H:65
Foam::motionInterpolation::mesh_
const fvMesh & mesh_
Reference to the FV mesh.
Definition: motionInterpolation.H:55
Foam::motionInterpolation::~motionInterpolation
virtual ~motionInterpolation()
Destructor.
Definition: motionInterpolation.C:96
Foam::Istream
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:57
Foam::motionInterpolation::operator=
void operator=(const motionInterpolation &)
Disallow default bitwise assignment.
Foam::motionInterpolation::declareRunTimeSelectionTable
declareRunTimeSelectionTable(autoPtr, motionInterpolation, Istream,(const fvMesh &mesh, Istream &entry),(mesh, entry))
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
fvMesh.H
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::motionInterpolation::motionInterpolation
motionInterpolation(const motionInterpolation &)
Disallow default bitwise copy construct.
Foam::motionInterpolation::interpolate
virtual void interpolate(const volScalarField &, pointScalarField &) const
Interpolate the given scalar cell displacement.
Definition: motionInterpolation.C:103
Foam::motionInterpolation
Base class for interpolation of cell displacement fields, generated by fvMotionSolvers,...
Definition: motionInterpolation.H:50
Foam::autoPtr
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:117
Foam::motionInterpolation::mesh
const fvMesh & mesh() const
Return const-refernce to the mesh.
Definition: motionInterpolation.H:117
Foam::motionInterpolation::TypeName
TypeName("motionInterpolation")
Runtime type information.
Foam::GeometricField
Generic GeometricField class.
Definition: surfaceFieldsFwd.H:52
Foam::motionInterpolation::New
static autoPtr< motionInterpolation > New(const fvMesh &mesh)
Select default.
Definition: motionInterpolation.C:64