kinematicParcelInjectionData.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-2015 OpenFOAM Foundation
9 Copyright (C) 2019 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::kinematicParcelInjectionData
29
30Description
31 Container class to provide injection data for kinematic parcels
32
33SourceFiles
34 kinematicParcelInjectionData.C
35
36\*---------------------------------------------------------------------------*/
37
38#ifndef kinematicParcelInjectionData_H
39#define kinematicParcelInjectionData_H
40
41#include "dictionary.H"
42#include "vector.H"
43#include "point.H"
44
45// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47namespace Foam
48{
49
50// Forward declaration of classes
51class kinematicParcelInjectionData;
52
53// Forward declaration of friend functions
54
55Ostream& operator<<
56(
57 Ostream&,
58 const kinematicParcelInjectionData&
59);
60
61Istream& operator>>
62(
63 Istream&,
64 kinematicParcelInjectionData&
65);
66
67/*---------------------------------------------------------------------------*\
68 Class kinematicParcelInjectionData Declaration
69\*---------------------------------------------------------------------------*/
72{
73protected:
74
75 // Parcel properties
76
77 //- Position [m]
78 point x_;
79
80 //- Velocity [m/s]
81 vector U_;
82
83 //- Diameter [m]
84 scalar d_;
85
86 //- Density [kg/m3]
87 scalar rho_;
88
89 //- Mass flow rate [kg/s]
90 scalar mDot_;
91
92
93public:
94
95 //- Runtime type information
96 TypeName("kinematicParcelInjectionData");
97
98 // Constructors
99
100 //- Null constructor
102
103 //- Construct from dictionary
105
106 //- Construct from Istream
108
109
110 //- Destructor
112
113
114 // Access
115
116 //- Return const access to the position
117 inline const point& x() const;
118
119 //- Return const access to the velocity
120 inline const vector& U() const;
121
122 //- Return const access to the diameter
123 inline scalar d() const;
124
125 //- Return const access to the density
126 inline scalar rho() const;
127
128 //- Return const access to the mass flow rate
129 inline scalar mDot() const;
130
131
132 // Edit
133
134 //- Return access to the position
135 inline point& x();
136
137 //- Return access to the velocity
138 inline vector& U();
139
140 //- Return access to the diameter
141 inline scalar& d();
142
143 //- Return access to the density
144 inline scalar& rho();
145
146 //- Return access to the mass flow rate
147 inline scalar& mDot();
148
149
150 // Friend Operators
152 friend bool operator==
153 (
156 )
157 {
159
160 return false;
161 }
163 friend bool operator!=
164 (
167 )
168 {
170
171 return false;
172 }
173
174
175 // I-O
176
177 //- Ostream operator
178 friend Ostream& operator<<
179 (
180 Ostream& os,
182 );
183
184 //- Istream operator
185 friend Istream& operator>>
186 (
187 Istream& is,
189 );
190};
191
192
193// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194
195} // End namespace Foam
196
197// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
198
200
201// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202
203#endif
204
205// ************************************************************************* //
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:64
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:62
Database for solution data, solver performance and other reduced data.
Definition: data.H:58
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Container class to provide injection data for kinematic parcels.
const point & x() const
Return const access to the position.
const vector & U() const
Return const access to the velocity.
scalar d() const
Return const access to the diameter.
scalar rho() const
Return const access to the density.
scalar mDot() const
Return const access to the mass flow rate.
TypeName("kinematicParcelInjectionData")
Runtime type information.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Definition: error.H:517
OBJstream os(runTime.globalPath()/outputName)
Namespace for OpenFOAM.
dictionary dict
volScalarField & b
Definition: createFields.H:27
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73