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::ReactingParcel<ParcelType>::constantProperties::constantProperties
32 const dictionary& parentDict
35 ThermoParcel<ParcelType>::constantProperties(parentDict),
36 pMin_(dimensionedScalar(this->dict().lookup("pMin")).value()),
37 constantVolume_(this->dict().lookup("constantVolume")),
38 Tvap_(dimensionedScalar(this->dict().lookup("Tvap")).value()),
39 Tbp_(dimensionedScalar(this->dict().lookup("Tbp")).value())
43 template<class ParcelType>
44 inline Foam::ReactingParcel<ParcelType>::trackData::trackData
46 ReactingCloud<ParcelType>& cloud,
47 const constantProperties& constProps,
48 const interpolation<scalar>& rhoInterp,
49 const interpolation<vector>& UInterp,
50 const interpolation<scalar>& muInterp,
51 const interpolation<scalar>& TInterp,
52 const interpolation<scalar>& CpInterp,
53 const interpolation<scalar>& pInterp,
57 ThermoParcel<ParcelType>::trackData
69 constProps_(constProps),
74 template<class ParcelType>
75 inline Foam::ReactingParcel<ParcelType>::ReactingParcel
77 ReactingCloud<ParcelType>& owner,
78 const vector& position,
82 ThermoParcel<ParcelType>(owner, position, cellI),
89 template<class ParcelType>
90 inline Foam::ReactingParcel<ParcelType>::ReactingParcel
92 ReactingCloud<ParcelType>& owner,
93 const vector& position,
96 const scalar nParticle0,
99 const scalarField& Y0,
100 const constantProperties& constProps
103 ThermoParcel<ParcelType>
118 // Set initial parcel mass
119 mass0_ = this->mass();
123 // * * * * * * * * * constantProperties Member Functions * * * * * * * * * * //
125 template<class ParcelType>
127 Foam::ReactingParcel<ParcelType>::constantProperties::pMin() const
133 template<class ParcelType>
135 Foam::ReactingParcel<ParcelType>::constantProperties::constantVolume() const
137 return constantVolume_;
141 template<class ParcelType>
143 Foam::ReactingParcel<ParcelType>::constantProperties::Tvap() const
149 template<class ParcelType>
151 Foam::ReactingParcel<ParcelType>::constantProperties::Tbp() const
157 // * * * * * * * * * * * trackData Member Functions * * * * * * * * * * * * //
159 template<class ParcelType>
160 inline Foam::ReactingCloud<ParcelType>&
161 Foam::ReactingParcel<ParcelType>::trackData::cloud()
167 template<class ParcelType>
168 inline const typename Foam::ReactingParcel<ParcelType>::constantProperties&
169 Foam::ReactingParcel<ParcelType>::trackData::constProps() const
175 template<class ParcelType>
176 inline const Foam::interpolation<Foam::scalar>&
177 Foam::ReactingParcel<ParcelType>::trackData::pInterp() const
183 // * * * * * * * * * * ThermoParcel Member Functions * * * * * * * * * * * * //
185 template<class ParcelType>
186 inline Foam::scalar Foam::ReactingParcel<ParcelType>::mass0() const
192 template<class ParcelType>
193 inline const Foam::scalarField& Foam::ReactingParcel<ParcelType>::Y() const
199 template<class ParcelType>
200 inline Foam::scalar Foam::ReactingParcel<ParcelType>::pc() const
206 template<class ParcelType>
207 inline Foam::scalar& Foam::ReactingParcel<ParcelType>::mass0()
213 template<class ParcelType>
214 inline Foam::scalarField& Foam::ReactingParcel<ParcelType>::Y()
220 // ************************************************************************* //