1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright held by original author
7 -------------------------------------------------------------------------------
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
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::
33 const dictionary& parentDict
36 ReactingParcel<ParcelType>::constantProperties(parentDict),
37 LDevol_(dimensionedScalar(this->dict().lookup("LDevol")).value()),
40 dimensionedScalar(this->dict().lookup("hRetentionCoeff")).value()
43 if ((hRetentionCoeff_ < 0) || (hRetentionCoeff_ > 1))
47 "ReactingMultiphaseParcel<ParcelType>::constantProperties::"
49 ) << "hRetentionCoeff must be in the range 0 to 1" << nl
50 << exit(FatalError) << endl;
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,
71 ReactingParcel<ParcelType>::trackData
84 constProps_(constProps)
88 template <class ParcelType>
89 inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel
91 ReactingMultiphaseCloud<ParcelType>& owner,
92 const vector& position,
96 ReactingParcel<ParcelType>(owner, position, cellI),
104 template<class ParcelType>
105 inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel
107 ReactingMultiphaseCloud<ParcelType>& owner,
108 const vector& position,
111 const scalar nParticle0,
114 const scalarField& Y0,
115 const scalarField& YGas0,
116 const scalarField& YLiquid0,
117 const scalarField& YSolid0,
118 const constantProperties& constProps
121 ReactingParcel<ParcelType>
140 // * * * * * * * * * constantProperties Member Functions * * * * * * * * * * //
142 template<class ParcelType>
144 Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties::LDevol() const
150 template<class ParcelType>
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()
169 template<class ParcelType>
170 inline const typename Foam::ReactingMultiphaseParcel<ParcelType>::
172 Foam::ReactingMultiphaseParcel<ParcelType>::trackData::constProps() const
178 // * * * * * * * * * * ThermoParcel Member Functions * * * * * * * * * * * * //
180 template<class ParcelType>
181 inline const Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::
188 template<class ParcelType>
189 inline const Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::
196 template<class ParcelType>
197 inline const Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::
204 template<class ParcelType>
205 inline bool Foam::ReactingMultiphaseParcel<ParcelType>::canCombust() const
211 template<class ParcelType>
212 inline Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::YGas()
218 template<class ParcelType>
219 inline Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::YLiquid()
225 template<class ParcelType>
226 inline Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::YSolid()
232 template<class ParcelType>
233 inline bool& Foam::ReactingMultiphaseParcel<ParcelType>::canCombust()
238 // ************************************************************************* //