initial commit for version 1.5.x patch release
[OpenFOAM-1.5.x.git] / src / lagrangian / intermediate / parcels / derived / basicReactingParcel / basicReactingParcel.H
blobd5b39ca14820d799d1221328f9d43347a16e4be6
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
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::basicReactingParcel
28 Description
31 SourceFiles
32     basicReactingParcel.C
33     basicReactingParcelIO.C
35 \*---------------------------------------------------------------------------*/
37 #ifndef basicReactingParcel_H
38 #define basicReactingParcel_H
40 #include "ReactingParcel.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 namespace Foam
47 /*---------------------------------------------------------------------------*\
48                         Class basicReactingParcel Declaration
49 \*---------------------------------------------------------------------------*/
51 class basicReactingParcel
53     public ReactingParcel<basicReactingParcel>
56 public:
58     //- Run-time type information
59     TypeName("basicReactingParcel");
61     // Constructors
63         //- Construct from components
64         basicReactingParcel
65         (
66              ReactingCloud<basicReactingParcel>& owner,
67              const label typeId,
68              const vector& position,
69              const label celli,
70              const scalar d0,
71              const vector& U0,
72              const scalar nParticle0,
73              const scalarField& YGas0,
74              const scalarField& YLiquid0,
75              const scalarField& YSolid0,
76              const scalarField& YMixture0,
77              const constantProperties& constProps
78         );
80         //- Construct from Istream
81         basicReactingParcel
82         (
83             const Cloud<basicReactingParcel>& c,
84             Istream& is,
85             bool readFields = true
86         );
88         //- Construct and return a clone
89         autoPtr<basicReactingParcel> clone() const
90         {
91             return autoPtr<basicReactingParcel>
92                 (new basicReactingParcel(*this));
93         }
96     // Destructors
98         virtual ~basicReactingParcel();
102 template<>
103 inline bool contiguous<basicReactingParcel>()
105     return false; // Now have scalar lists/fields (mass fractions)
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
111 } // End namespace Foam
113 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 #endif
117 // ************************************************************************* //