Fixed URL for libccmio-2.6.1 (bug report #5 by Thomas Oliveira)
[foam-extend-3.2.git] / src / engine / simpleEnginePiston / simpleEnginePiston.H
blob66243f7e4bf87b0351545872dfabeb51b22859da
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
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     simpleEnginePiston
27 Description
29 SourceFiles
30     simpleEnginePiston.C
32 \*---------------------------------------------------------------------------*/
34 #ifndef simpleEnginePiston_H
35 #define simpleEnginePiston_H
37 #include "polyPatchID.H"
38 #include "coordinateSystem.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 namespace Foam
45 // Class forward declarations
46 class polyMesh;
47 class engineTime;
49 /*---------------------------------------------------------------------------*\
50                            Class simpleEnginePiston Declaration
51 \*---------------------------------------------------------------------------*/
53 class simpleEnginePiston
55     // Private data
57         //- Reference to engine mesh
58         const polyMesh& mesh_;
60         //- Reference to engine database
61         const engineTime& engineDB_;
63         //- Piston patch
64         polyPatchID patchID_;
66         //- Coordinate system
67         autoPtr<coordinateSystem> csPtr_;
70         // Piston layering data
72             //- Min layer thickness
73             const scalar minLayer_;
75             //- Max layer thickness
76             const scalar maxLayer_;
79     // Private Member Functions
81         //- Disallow default bitwise copy construct
82         simpleEnginePiston(const simpleEnginePiston&);
84         //- Disallow default bitwise assignment
85         void operator=(const simpleEnginePiston&);
88 public:
90     // Static data members
93     // Constructors
95         //- Construct from components
96         simpleEnginePiston
97         (
98             const polyMesh& mesh,
99             const word& pistonPatchName,
100             const autoPtr<coordinateSystem>& pistonCS,
101             const scalar minLayer,
102             const scalar maxLayer
104         );
106         //- Construct from dictionary
107         simpleEnginePiston
108         (
109             const polyMesh& mesh,
110             const dictionary& dict
111         );
114     // Destructor - default
117     // Member Functions
119         //- Return coordinate system
120         const coordinateSystem& cs() const
121         {
122             return csPtr_();
123         }
125         //- Return ID of piston patch
126         const polyPatchID& patchID() const
127         {
128             return patchID_;
129         }
131         // Piston layering thickness
133             scalar minLayer() const
134             {
135                 return minLayer_;
136             }
138             scalar maxLayer() const
139             {
140                 return maxLayer_;
141             }
144         //- Write dictionary
145         void writeDict(Ostream&) const;
149 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 } // End namespace Foam
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 #endif
157 // ************************************************************************* //