Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
engine
enginePiston
enginePiston.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) 1991-2010 OpenCFD Ltd.
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::enginePiston
26
27
Description
28
Foam::enginePiston
29
30
SourceFiles
31
enginePiston.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef enginePiston_H
36
#define enginePiston_H
37
38
#include <
OpenFOAM/polyPatchID.H
>
39
#include <
meshTools/coordinateSystem.H
>
40
41
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42
43
namespace
Foam
44
{
45
46
// Forward declaration of classes
47
class
polyMesh;
48
class
engineTime;
49
50
/*---------------------------------------------------------------------------*\
51
Class enginePiston Declaration
52
\*---------------------------------------------------------------------------*/
53
54
class
enginePiston
55
{
56
// Private data
57
58
//- Reference to engine mesh
59
const
polyMesh
& mesh_;
60
61
//- Reference to engine database
62
const
engineTime
& engineDB_;
63
64
//- Piston patch
65
polyPatchID
patchID_;
66
67
//- Coordinate system
68
autoPtr<coordinateSystem>
csPtr_;
69
70
71
// Piston layering data
72
73
//- Min layer thickness
74
const
scalar minLayer_;
75
76
//- Max layer thickness
77
const
scalar maxLayer_;
78
79
80
// Private Member Functions
81
82
//- Disallow default bitwise copy construct
83
enginePiston
(
const
enginePiston
&);
84
85
//- Disallow default bitwise assignment
86
void
operator=(
const
enginePiston
&);
87
88
89
public
:
90
91
// Static data members
92
93
94
// Constructors
95
96
//- Construct from components
97
enginePiston
98
(
99
const
polyMesh
&
mesh
,
100
const
word
& pistonPatchName,
101
const
autoPtr<coordinateSystem>
& pistonCS,
102
const
scalar
minLayer
,
103
const
scalar
maxLayer
104
105
);
106
107
//- Construct from dictionary
108
enginePiston
109
(
110
const
polyMesh
& mesh,
111
const
dictionary
& dict
112
);
113
114
115
// Destructor - default
116
117
118
// Member Functions
119
120
//- Return coordinate system
121
const
coordinateSystem
&
cs
()
const
122
{
123
return
csPtr_();
124
}
125
126
//- Return ID of piston patch
127
const
polyPatchID
&
patchID
()
const
128
{
129
return
patchID_;
130
}
131
132
// Piston layering thickness
133
134
scalar
minLayer
()
const
135
{
136
return
minLayer_;
137
}
138
139
scalar
maxLayer
()
const
140
{
141
return
maxLayer_;
142
}
143
144
145
//- Write dictionary
146
void
writeDict
(
Ostream
&)
const
;
147
};
148
149
150
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151
152
}
// End namespace Foam
153
154
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155
156
#endif
157
158
// ************************ vim: set sw=4 sts=4 et: ************************ //