fixed writing out entries in advective bc
[OpenFOAM-1.6-ext.git] / src / lagrangian / intermediate / parcels / Templates / ReactingMultiphaseParcel / ReactingMultiphaseParcelI.H
blob758807e4f20c279cb6b807e31e223e498da4eab3
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 \*---------------------------------------------------------------------------*/
27 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
29 template<class ParcelType>
30 inline Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties::
31 constantProperties
33     const dictionary& parentDict
36     ReactingParcel<ParcelType>::constantProperties(parentDict),
37     LDevol_(dimensionedScalar(this->dict().lookup("LDevol")).value()),
38     hRetentionCoeff_
39     (
40         dimensionedScalar(this->dict().lookup("hRetentionCoeff")).value()
41     )
43     if ((hRetentionCoeff_ < 0) || (hRetentionCoeff_ > 1))
44     {
45         FatalErrorIn
46         (
47             "ReactingMultiphaseParcel<ParcelType>::constantProperties::"
48             "constantProperties"
49         )   << "hRetentionCoeff must be in the range 0 to 1" << nl
50             << exit(FatalError) << endl;
51     }
53     hRetentionCoeff_ = max(1e-06, hRetentionCoeff_);
57 template<class ParcelType>
58 inline Foam::ReactingMultiphaseParcel<ParcelType>::trackData::trackData
60     ReactingMultiphaseCloud<ParcelType>& cloud,
61     const constantProperties& constProps,
62     const interpolation<scalar>& rhoInterp,
63     const interpolation<vector>& UInterp,
64     const interpolation<scalar>& muInterp,
65     const interpolation<scalar>& TInterp,
66     const interpolation<scalar>& CpInterp,
67     const interpolation<scalar>& pInterp,
68     const vector& g
71     ReactingParcel<ParcelType>::trackData
72     (
73         cloud,
74         constProps,
75         rhoInterp,
76         UInterp,
77         muInterp,
78         TInterp,
79         CpInterp,
80         pInterp,
81         g
82     ),
83     cloud_(cloud),
84     constProps_(constProps)
88 template <class ParcelType>
89 inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel
91     ReactingMultiphaseCloud<ParcelType>& owner,
92     const vector& position,
93     const label cellI
96     ReactingParcel<ParcelType>(owner, position, cellI),
97     YGas_(0),
98     YLiquid_(0),
99     YSolid_(0),
100     canCombust_(false)
104 template<class ParcelType>
105 inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel
107     ReactingMultiphaseCloud<ParcelType>& owner,
108     const vector& position,
109     const label cellI,
110     const label typeId,
111     const scalar nParticle0,
112     const scalar d0,
113     const vector& U0,
114     const scalarField& Y0,
115     const scalarField& YGas0,
116     const scalarField& YLiquid0,
117     const scalarField& YSolid0,
118     const constantProperties& constProps
121     ReactingParcel<ParcelType>
122     (
123         owner,
124         position,
125         cellI,
126         typeId,
127         nParticle0,
128         d0,
129         U0,
130         Y0,
131         constProps
132     ),
133     YGas_(YGas0),
134     YLiquid_(YLiquid0),
135     YSolid_(YSolid0),
136     canCombust_(false)
140 // * * * * * * * * * constantProperties Member Functions * * * * * * * * * * //
142 template<class ParcelType>
143 inline Foam::scalar
144 Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties::LDevol() const
146     return LDevol_;
150 template<class ParcelType>
151 inline Foam::scalar
152 Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties::
153 hRetentionCoeff() const
155     return hRetentionCoeff_;
159 // * * * * * * * * * * * trackData Member Functions  * * * * * * * * * * * * //
161 template<class ParcelType>
162 inline Foam::ReactingMultiphaseCloud<ParcelType>&
163 Foam::ReactingMultiphaseParcel<ParcelType>::trackData::cloud()
165     return cloud_;
169 template<class ParcelType>
170 inline const typename Foam::ReactingMultiphaseParcel<ParcelType>::
171 constantProperties&
172 Foam::ReactingMultiphaseParcel<ParcelType>::trackData::constProps() const
174     return constProps_;
178 // * * * * * * * * * * ThermoParcel Member Functions * * * * * * * * * * * * //
180 template<class ParcelType>
181 inline const Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::
182 YGas() const
184     return YGas_;
188 template<class ParcelType>
189 inline const Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::
190 YLiquid() const
192     return YLiquid_;
196 template<class ParcelType>
197 inline const Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::
198 YSolid() const
200     return YSolid_;
204 template<class ParcelType>
205 inline bool Foam::ReactingMultiphaseParcel<ParcelType>::canCombust() const
207     return canCombust_;
211 template<class ParcelType>
212 inline Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::YGas()
214     return YGas_;
218 template<class ParcelType>
219 inline Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::YLiquid()
221     return YLiquid_;
225 template<class ParcelType>
226 inline Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::YSolid()
228     return YSolid_;
232 template<class ParcelType>
233 inline bool& Foam::ReactingMultiphaseParcel<ParcelType>::canCombust()
235     return canCombust_;
238 // ************************************************************************* //