Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / lagrangian / intermediate / submodels / ReactingMultiphase / InjectionModel / ReactingMultiphaseLookupTableInjection / reactingMultiphaseParcelInjectionData.H
blob74f8d76ad23819ff04a8b68ab7905d732c5d09ba
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     Foam::reactingMultiphaseParcelInjectionData
27 Description
28     Container class to provide injection data for reacting multiphase parcels
30 SourceFiles
31     reactingMultiphaseParcelInjectionData.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef reactingMultiphaseParcelInjectionData_H
36 #define reactingMultiphaseParcelInjectionData_H
38 #include "reactingParcelInjectionData.H"
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 namespace Foam
45 // Forward declaration of classes
46 class reactingMultiphaseParcelInjectionData;
48 // Forward declaration of friend functions
50 Ostream& operator<<
52     Ostream&,
53     const reactingMultiphaseParcelInjectionData&
56 Istream& operator>>
58     Istream&,
59     reactingMultiphaseParcelInjectionData&
62 /*---------------------------------------------------------------------------*\
63             Class reactingMultiphaseParcelInjectionData Declaration
64 \*---------------------------------------------------------------------------*/
66 class reactingMultiphaseParcelInjectionData
68     public reactingParcelInjectionData
70 protected:
72     // Parcel properties
74         //- List of gaseous mass fractions
75         scalarList YGas_;
77         //- List of liquid mass fractions
78         scalarList YLiquid_;
80         //- List of solid mass fractions
81         scalarList YSolid_;
84 public:
86     //- Runtime type information
87     TypeName("reactingMultiphaseParcelInjectionData");
89     // Constructors
91         //- Null constructor
92         reactingMultiphaseParcelInjectionData();
94         //- Construct from dictionary
95         reactingMultiphaseParcelInjectionData(const dictionary& dict);
97         //- Construct from Istream
98         reactingMultiphaseParcelInjectionData(Istream& is);
101     //-Destructor
102     virtual ~reactingMultiphaseParcelInjectionData();
105     // Access
107         //- Return const access to the list of gaseous mass fractions
108         inline const scalarList& YGas() const;
110         //- Return const access to the list of liquid mass fractions
111         inline const scalarList& YLiquid() const;
113         //- Return const access to the list of solid mass fractions
114         inline const scalarList& YSolid() const;
117     // Edit
119         //- Return access to the gaseous mass fractions
120         inline scalarList& YGas();
122         //- Return access to the liquid mass fractions
123         inline scalarList& YLiquid();
125         //- Return access to the solid mass fractions
126         inline scalarList& YSolid();
129     // I-O
131         // Friend Operators
133             friend bool operator==
134             (
135                 const reactingMultiphaseParcelInjectionData& a,
136                 const reactingMultiphaseParcelInjectionData& b
137             )
138             {
139                 notImplemented
140                 (
141                     "operator=="
142                     "("
143                         "const reactingMultiphaseParcelInjectionData&, "
144                         "const reactingMultiphaseParcelInjectionData&"
145                     ")"
146                 );
148                 return false;
149             }
151             friend bool operator!=
152             (
153                 const reactingMultiphaseParcelInjectionData& a,
154                 const reactingMultiphaseParcelInjectionData& b
155             )
156             {
157                 notImplemented
158                 (
159                     "operator=="
160                     "("
161                         "const reactingMultiphaseParcelInjectionData&, "
162                         "const reactingMultiphaseParcelInjectionData&"
163                     ")"
164                 );
166                 return false;
167             }
169             //- Ostream operator
170             friend Ostream& operator<<
171             (
172                 Ostream& os,
173                 const reactingMultiphaseParcelInjectionData& data
174             );
176             //- Istream operator
177             friend Istream& operator>>
178             (
179                 Istream& is,
180                 reactingMultiphaseParcelInjectionData& data
181             );
185 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
187 } // End namespace Foam
189 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
191 #include "reactingMultiphaseParcelInjectionDataI.H"
193 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
195 #endif
197 // ************************************************************************* //