Merge commit 'd3b269b7c6ffa0cd68845adfecdfb849316dba71' into nextRelease
[foam-extend-3.2.git] / src / engine / enginePiston / enginePiston.H
blob7cb5dc1029bb39cbdd332d142dd1de5d155d387b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     |
5     \\  /    A nd           | For copyright notice see file Copyright
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation, either version 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     Foam::enginePiston
27 Description
28     Foam::enginePiston
30 SourceFiles
31     enginePiston.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef enginePiston_H
36 #define enginePiston_H
38 #include "polyPatchID.H"
39 #include "coordinateSystem.H"
40 #include "simpleEnginePiston.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 namespace Foam
47 // Forward declaration of classes
48 class polyMesh;
49 class engineTime;
51 /*---------------------------------------------------------------------------*\
52                            Class enginePiston Declaration
53 \*---------------------------------------------------------------------------*/
55 class enginePiston
57     public simpleEnginePiston
59     // Private data
61         //- Name of piston point set
62         word pistonPointSetName_;
64         //- Name of piston face set
65         word pistonFaceSetName_;
67         //- Name of piston cell set
68         word pistonCellSetName_;
71         //- Bowl in piston patch
72         polyPatchID bowlInPistonPatchID_;
74         //- Bowl in cylinder patch
75         polyPatchID bowlInCylinderPatchID_;
77     // Private Member Functions
79         //- Disallow default bitwise copy construct
80         enginePiston(const enginePiston&);
82         //- Disallow default bitwise assignment
83         void operator=(const enginePiston&);
86 public:
88     // Static data members
91     // Constructors
93         //- Construct from components
94         enginePiston
95         (
96             const polyMesh& mesh,
97             const word& pistonPatchName,
98             const autoPtr<coordinateSystem>& pistonCS,
99             const scalar minLayer,
100             const scalar maxLayer,
101             const word& pistonPointSetName,
102             const word& pistonFaceSetName,
103             const word& pistonCellSetName,
104             const word& bowlInPistonPatchName,
105             const word& bowlInCylinderPatchName
106         );
108         //- Construct from dictionary
109         enginePiston
110         (
111             const polyMesh& mesh,
112             const dictionary& dict
113         );
116     // Destructor - default
119     // Member Functions
121         const word& pistonPointSetName() const
122         {
123             return pistonPointSetName_;
124         }
126         const word& pistonFaceSetName() const
127         {
128             return pistonFaceSetName_;
129         }
131         const word& pistonCellSetName() const
132         {
133             return pistonCellSetName_;
134         }
137         const polyPatchID& bowlInPistonPatchID() const
138         {
139                 return bowlInPistonPatchID_;
140         }
142         const polyPatchID& bowlInCylinderPatchID() const
143         {
144             return bowlInCylinderPatchID_;
145         }
148         //- Write dictionary
149         void writeDict(Ostream&) const;
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 } // End namespace Foam
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 #endif
161 // ************************************************************************* //