Merge /u/wyldckat/foam-extend32/ branch master into master
[foam-extend-3.2.git] / src / lagrangian / intermediate / parcels / Templates / ThermoParcel / ThermoParcelI.H
blob04e5c8e8a9917fcf5e839481b7a826656f19cc90
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend 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 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
28 template<class ParcelType>
29 inline Foam::ThermoParcel<ParcelType>::constantProperties::constantProperties
31     const dictionary& parentDict
34     KinematicParcel<ParcelType>::constantProperties(parentDict),
35     T0_(dimensionedScalar(this->dict().lookup("T0")).value()),
36     TMin_(dimensionedScalar(this->dict().lookup("TMin")).value()),
37     cp0_(dimensionedScalar(this->dict().lookup("cp0")).value()),
38     epsilon0_(dimensionedScalar(this->dict().lookup("epsilon0")).value()),
39     f0_(dimensionedScalar(this->dict().lookup("f0")).value()),
40     Pr_(dimensionedScalar(this->dict().lookup("Pr")).value())
44 template<class ParcelType>
45 inline Foam::ThermoParcel<ParcelType>::trackData::trackData
47     ThermoCloud<ParcelType>& cloud,
48     const constantProperties& constProps,
49     const interpolation<scalar>& rhoInterp,
50     const interpolation<vector>& UInterp,
51     const interpolation<scalar>& muInterp,
52     const interpolation<scalar>& TInterp,
53     const interpolation<scalar>& cpInterp,
54     const vector& g
57     KinematicParcel<ParcelType>::trackData
58     (
59         cloud,
60         constProps,
61         rhoInterp,
62         UInterp,
63         muInterp,
64         g
65     ),
66     cloud_(cloud),
67     constProps_(constProps),
68     TInterp_(TInterp),
69     cpInterp_(cpInterp)
73 template<class ParcelType>
74 inline Foam::ThermoParcel<ParcelType>::ThermoParcel
76     ThermoCloud<ParcelType>& owner,
77     const vector& position,
78     const label cellI
81     KinematicParcel<ParcelType>(owner, position, cellI),
82     T_(0.0),
83     cp_(0.0),
84     Tc_(0.0),
85     cpc_(0.0)
89 template<class ParcelType>
90 inline Foam::ThermoParcel<ParcelType>::ThermoParcel
92     ThermoCloud<ParcelType>& owner,
93     const vector& position,
94     const label cellI,
95     const label typeId,
96     const scalar nParticle0,
97     const scalar d0,
98     const vector& U0,
99     const constantProperties& constProps
102     KinematicParcel<ParcelType>
103     (
104         owner,
105         position,
106         cellI,
107         typeId,
108         nParticle0,
109         d0,
110         U0,
111         constProps
112     ),
113     T_(constProps.T0()),
114     cp_(constProps.cp0()),
115     Tc_(0.0),
116     cpc_(0.0)
120 // * * * * * * * * * constantProperties Member Functions * * * * * * * * * * //
122 template <class ParcelType>
123 inline Foam::scalar
124 Foam::ThermoParcel<ParcelType>::constantProperties::T0() const
126     return T0_;
130 template <class ParcelType>
131 inline Foam::scalar
132 Foam::ThermoParcel<ParcelType>::constantProperties::TMin() const
134     return TMin_;
138 template <class ParcelType>
139 inline Foam::scalar
140 Foam::ThermoParcel<ParcelType>::constantProperties::cp0() const
142     return cp0_;
146 template <class ParcelType>
147 inline Foam::scalar
148 Foam::ThermoParcel<ParcelType>::constantProperties::epsilon0() const
150     return epsilon0_;
154 template <class ParcelType>
155 inline Foam::scalar
156 Foam::ThermoParcel<ParcelType>::constantProperties::f0() const
158     return f0_;
162 template <class ParcelType>
163 inline Foam::scalar
164 Foam::ThermoParcel<ParcelType>::constantProperties::Pr() const
166     return Pr_;
170 // * * * * * * * * * * * trackData Member Functions  * * * * * * * * * * * * //
172 template<class ParcelType>
173 inline Foam::ThermoCloud<ParcelType>&
174 Foam::ThermoParcel<ParcelType>::trackData::cloud()
176     return cloud_;
180 template <class ParcelType>
181 inline const typename Foam::ThermoParcel<ParcelType>::constantProperties&
182 Foam::ThermoParcel<ParcelType>::trackData::constProps() const
184     return constProps_;
188 template<class ParcelType>
189 inline const Foam::interpolation<Foam::scalar>&
190 Foam::ThermoParcel<ParcelType>::trackData::TInterp() const
192     return TInterp_;
196 template<class ParcelType>
197 inline const Foam::interpolation<Foam::scalar>&
198 Foam::ThermoParcel<ParcelType>::trackData::cpInterp() const
200     return cpInterp_;
204 // * * * * * * * * * * ThermoParcel Member Functions * * * * * * * * * * * * //
206 template<class ParcelType>
207 inline Foam::scalar Foam::ThermoParcel<ParcelType>::T() const
209     return T_;
213 template<class ParcelType>
214 inline Foam::scalar Foam::ThermoParcel<ParcelType>::cp() const
216     return cp_;
220 template<class ParcelType>
221 inline Foam::scalar& Foam::ThermoParcel<ParcelType>::T()
223     return T_;
227 template<class ParcelType>
228 inline Foam::scalar& Foam::ThermoParcel<ParcelType>::cp()
230     return cp_;
234 // ************************************************************************* //