fixed writing out entries in advective bc
[OpenFOAM-1.6-ext.git] / src / lagrangian / intermediate / submodels / Kinematic / InjectionModel / KinematicLookupTableInjection / kinematicParcelInjectionData.H
blobaec74f22f6f9fd825d4c265c8da35d346b2fd3fc
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright held by original author
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
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.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     Foam::kinematicParcelInjectionData
28 Description
29     Container class to provide injection data for kinematic parcels
31 SourceFiles
32     kinematicParcelInjectionData.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef kinematicParcelInjectionData_H
37 #define kinematicParcelInjectionData_H
39 #include "dictionary.H"
40 #include "vector.H"
41 #include "point.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 namespace Foam
48 // Forward declaration of classes
49 class kinematicParcelInjectionData;
51 // Forward declaration of friend functions
53 Ostream& operator<<
55     Ostream&,
56     const kinematicParcelInjectionData&
59 Istream& operator>>
61     Istream&,
62     kinematicParcelInjectionData&
65 /*---------------------------------------------------------------------------*\
66                Class kinematicParcelInjectionData Declaration
67 \*---------------------------------------------------------------------------*/
69 class kinematicParcelInjectionData
71 protected:
73     // Parcel properties
75         //- Position [m]
76         point x_;
78         //- Velocity [m/s]
79         vector U_;
81         //- Diameter [m]
82         scalar d_;
84         //- Density [kg/m3]
85         scalar rho_;
87         //- Mass flow rate [kg/s]
88         scalar mDot_;
91 public:
93     //- Runtime type information
94     TypeName("kinematicParcelInjectionData");
96     // Constructors
98         //- Null constructor
99         kinematicParcelInjectionData();
101         //- Construct from dictionary
102         kinematicParcelInjectionData(const dictionary& dict);
104         //- Construct from Istream
105         kinematicParcelInjectionData(Istream& is);
108     //-Destructor
109     virtual ~kinematicParcelInjectionData();
112     // Access
114         //- Return const access to the position
115         inline const point& x() const;
117         //- Return const access to the velocity
118         inline const vector& U() const;
120         //- Return const access to the diameter
121         inline scalar d() const;
123         //- Return const access to the density
124         inline scalar rho() const;
126         //- Return const access to the mass flow rate
127         inline scalar mDot() const;
130     // Edit
132         //- Return access to the position
133         inline point& x();
135         //- Return access to the velocity
136         inline vector& U();
138         //- Return access to the diameter
139         inline scalar& d();
141         //- Return access to the density
142         inline scalar& rho();
144         //- Return access to the mass flow rate
145         inline scalar& mDot();
148     // I-O
150         // Friend Operators
152             friend bool operator==
153             (
154                 const kinematicParcelInjectionData& a,
155                 const kinematicParcelInjectionData& b
156             )
157             {
158                 notImplemented
159                 (
160                     "operator=="
161                     "("
162                         "const kinematicParcelInjectionData&, "
163                         "const kinematicParcelInjectionData&"
164                     ")"
165                 );
167                 return false;
168             }
170             friend bool operator!=
171             (
172                 const kinematicParcelInjectionData& a,
173                 const kinematicParcelInjectionData& b
174             )
175             {
176                 notImplemented
177                 (
178                     "operator=="
179                     "("
180                         "const kinematicParcelInjectionData&, "
181                         "const kinematicParcelInjectionData&"
182                     ")"
183                 );
185                 return false;
186             }
188             //- Ostream operator
189             friend Ostream& operator<<
190             (
191                 Ostream& os,
192                 const kinematicParcelInjectionData& data
193             );
195             //- Istream operator
196             friend Istream& operator>>
197             (
198                 Istream& is,
199                 kinematicParcelInjectionData& data
200             );
204 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206 } // End namespace Foam
208 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
210 #include "kinematicParcelInjectionDataI.H"
212 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
214 #endif
216 // ************************************************************************* //