KinematicParcelTrackingDataI.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
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.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 \*---------------------------------------------------------------------------*/
25 
26 template<class ParcelType>
27 template<class TrackCloudType>
29 (
30  const TrackCloudType& cloud,
31  trackPart part
32 )
33 :
34  ParcelType::trackingData(cloud),
35  rhoInterp_
36  (
38  (
39  cloud.solution().interpolationSchemes(),
40  cloud.rho()
41  )
42  ),
43  UInterp_
44  (
46  (
47  cloud.solution().interpolationSchemes(),
48  cloud.U()
49  )
50  ),
51  muInterp_
52  (
54  (
55  cloud.solution().interpolationSchemes(),
56  cloud.mu()
57  )
58  ),
59  rhoc_(Zero),
60  Uc_(Zero),
61  muc_(Zero),
62  g_(cloud.g().value()),
63  part_(part)
64 {}
65 
66 
67 template<class ParcelType>
70 {
71  return rhoInterp_();
72 }
73 
74 
75 template<class ParcelType>
78 {
79  return UInterp_();
80 }
81 
82 
83 template<class ParcelType>
86 {
87  return muInterp_();
88 }
89 
90 
91 template<class ParcelType>
92 inline const Foam::vector&
94 {
95  return g_;
96 }
97 
98 
99 template<class ParcelType>
100 inline Foam::scalar
102 {
103  return rhoc_;
104 }
105 
106 
107 template<class ParcelType>
109 {
110  return rhoc_;
111 }
112 
113 
114 template<class ParcelType>
115 inline const Foam::vector&
117 {
118  return Uc_;
119 }
120 
121 
122 template<class ParcelType>
124 {
125  return Uc_;
126 }
127 
128 
129 template<class ParcelType>
131 {
132  return muc_;
133 }
134 
135 
136 template<class ParcelType>
138 {
139  return muc_;
140 }
141 
142 
143 template<class ParcelType>
146 {
147  return part_;
148 }
149 
150 
151 template<class ParcelType>
154 {
155  return part_;
156 }
157 
158 
159 // ************************************************************************* //
const interpolation< vector > & UInterp() const
Return conat access to the interpolator for continuous.
trackPart part() const
Return the part of the tracking operation taking place.
static const zero Zero
Definition: zero.H:97
scalar rhoc() const
Return the continuous phase density.
scalar muc() const
Return the continuous phase viscosity.
trackingData(const TrackCloudType &cloud, trackPart part=tpLinearTrack)
Construct from components.
const interpolation< scalar > & rhoInterp() const
Return conat access to the interpolator for continuous.
Abstract base class for interpolation.
const interpolation< scalar > & muInterp() const
Return conat access to the interpolator for continuous.
const vector & Uc() const
Return the continuous phase velocity.