multiSolidBodyMotionSolver.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::multiSolidBodyMotionSolver
28
29Description
30 Solid-body motion of the mesh specified by a run-time selectable
31 motion function.
32
33SourceFiles
34 multiSolidBodyMotionSolver.C
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef Foam_multiSolidBodyMotionSolver_H
39#define Foam_multiSolidBodyMotionSolver_H
40
41#include "points0MotionSolver.H"
43
44// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46namespace Foam
47{
48
49/*---------------------------------------------------------------------------*\
50 Class multiSolidBodyMotionSolver Declaration
51\*---------------------------------------------------------------------------*/
54:
56{
57 // Private Data
58
59 //- The motion control function
61
62 //- Points to move per cellZone
63 labelListList pointIDs_;
64
65
66 // Private Member Functions
67
68 //- No copy construct
70
71 //- No copy assignment
72 void operator=(const multiSolidBodyMotionSolver&) = delete;
73
74
75public:
76
77 //- Runtime type information
78 TypeName("multiSolidBodyMotionSolver");
79
80
81 // Constructors
82
83 //- Construct from mesh and dictionary
85 (
86 const polyMesh& mesh,
87 const IOdictionary& dict
88 );
89
90
91 //- Destructor
92 virtual ~multiSolidBodyMotionSolver() = default;
93
94
95 // Member Functions
96
97 //- Return point location obtained from the current motion field
98 virtual tmp<pointField> curPoints() const;
99
100 //- Solve for motion
101 virtual void solve()
102 {}
103};
104
105
106// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
107
108} // End namespace Foam
109
110// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111
112#endif
113
114// ************************************************************************* //
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Definition: IOdictionary.H:57
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Definition: PtrList.H:73
const polyMesh & mesh() const
Return reference to mesh.
Definition: motionSolver.H:144
Solid-body motion of the mesh specified by a run-time selectable motion function.
virtual ~multiSolidBodyMotionSolver()=default
Destructor.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
TypeName("multiSolidBodyMotionSolver")
Runtime type information.
virtual void solve()
Solve for motion.
Virtual base class for displacement motion solvers, where the point motion is relative to a set of fi...
Mesh consisting of general polyhedral cells.
Definition: polyMesh.H:81
A class for managing temporary objects.
Definition: tmp.H:65
Namespace for OpenFOAM.
dictionary dict
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73