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::ThermoParcel<ParcelType>::constantProperties::constantProperties
32 const dictionary& parentDict
35 KinematicParcel<ParcelType>::constantProperties(parentDict),
36 T0_(dimensionedScalar(this->dict().lookup("T0")).value()),
37 TMin_(dimensionedScalar(this->dict().lookup("TMin")).value()),
38 cp0_(dimensionedScalar(this->dict().lookup("cp0")).value()),
39 epsilon0_(dimensionedScalar(this->dict().lookup("epsilon0")).value()),
40 f0_(dimensionedScalar(this->dict().lookup("f0")).value()),
41 Pr_(dimensionedScalar(this->dict().lookup("Pr")).value())
45 template<class ParcelType>
46 inline Foam::ThermoParcel<ParcelType>::trackData::trackData
48 ThermoCloud<ParcelType>& cloud,
49 const constantProperties& constProps,
50 const interpolation<scalar>& rhoInterp,
51 const interpolation<vector>& UInterp,
52 const interpolation<scalar>& muInterp,
53 const interpolation<scalar>& TInterp,
54 const interpolation<scalar>& cpInterp,
58 KinematicParcel<ParcelType>::trackData
68 constProps_(constProps),
74 template<class ParcelType>
75 inline Foam::ThermoParcel<ParcelType>::ThermoParcel
77 ThermoCloud<ParcelType>& owner,
78 const vector& position,
82 KinematicParcel<ParcelType>(owner, position, cellI),
90 template<class ParcelType>
91 inline Foam::ThermoParcel<ParcelType>::ThermoParcel
93 ThermoCloud<ParcelType>& owner,
94 const vector& position,
97 const scalar nParticle0,
100 const constantProperties& constProps
103 KinematicParcel<ParcelType>
115 cp_(constProps.cp0()),
121 // * * * * * * * * * constantProperties Member Functions * * * * * * * * * * //
123 template <class ParcelType>
125 Foam::ThermoParcel<ParcelType>::constantProperties::T0() const
131 template <class ParcelType>
133 Foam::ThermoParcel<ParcelType>::constantProperties::TMin() const
139 template <class ParcelType>
141 Foam::ThermoParcel<ParcelType>::constantProperties::cp0() const
147 template <class ParcelType>
149 Foam::ThermoParcel<ParcelType>::constantProperties::epsilon0() const
155 template <class ParcelType>
157 Foam::ThermoParcel<ParcelType>::constantProperties::f0() const
163 template <class ParcelType>
165 Foam::ThermoParcel<ParcelType>::constantProperties::Pr() const
171 // * * * * * * * * * * * trackData Member Functions * * * * * * * * * * * * //
173 template<class ParcelType>
174 inline Foam::ThermoCloud<ParcelType>&
175 Foam::ThermoParcel<ParcelType>::trackData::cloud()
181 template <class ParcelType>
182 inline const typename Foam::ThermoParcel<ParcelType>::constantProperties&
183 Foam::ThermoParcel<ParcelType>::trackData::constProps() const
189 template<class ParcelType>
190 inline const Foam::interpolation<Foam::scalar>&
191 Foam::ThermoParcel<ParcelType>::trackData::TInterp() const
197 template<class ParcelType>
198 inline const Foam::interpolation<Foam::scalar>&
199 Foam::ThermoParcel<ParcelType>::trackData::cpInterp() const
205 // * * * * * * * * * * ThermoParcel Member Functions * * * * * * * * * * * * //
207 template<class ParcelType>
208 inline Foam::scalar Foam::ThermoParcel<ParcelType>::T() const
214 template<class ParcelType>
215 inline Foam::scalar Foam::ThermoParcel<ParcelType>::cp() const
221 template<class ParcelType>
222 inline Foam::scalar& Foam::ThermoParcel<ParcelType>::T()
228 template<class ParcelType>
229 inline Foam::scalar& Foam::ThermoParcel<ParcelType>::cp()
235 // ************************************************************************* //