RanzMarshall.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2016 OpenFOAM Foundation
9 Copyright (C) 2021 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::RanzMarshall
29
30Group
31 grpLagrangianIntermediateHeatTransferSubModels
32
33Description
34 Nusselt-number model using the empirical Ranz-Marshall correlation
35 to be used in modelling of the fluid-particle heat transfer coefficient:
36
37 \f[
38 \mathrm{Nu} = a + b \, \mathrm{Re}_p^{m} \, \mathrm{Pr}^{n}
39 \f]
40 with
41
42 \f[
43 \mathrm{Re}_p =
44 \frac{\rho_c \, | \mathbf{u}_\mathrm{rel} | \, d_p}{\mu_c}
45 \f]
46
47 \f[
48 \mathrm{Pr} = \frac{ C_p \, \mu_c }{ \kappa_c }
49 \f]
50 where
51
52 \vartable
53 \mathrm{Nu} | Nusselt number
54 \mathrm{Re}_p | Particle Reynolds number
55 \mathrm{Pr} | Prandtl number
56 d_p | Particle diameter
57 \rho_c | Density of carrier in the film surrounding particle
58 \mu_c | Dynamic viscosity of carrier in the film surrounding particle
59 \mathbf{u}_\mathrm{rel} | Relative velocity between particle and carrier
60 a | Correlation coefficient
61 b | Correlation coefficient
62 m | Correlation exponent of particle Reynolds number
63 n | Correlation exponent of Prandtl number
64 C_p | Specific heat capacity
65 \kappa_c | Thermal conductivity of carrier in the film
66 \endvartable
67
68 Reference:
69 \verbatim
70 Standard model:
71 Ranz, W. E., & Marshall, W. R. (1952).
72 Evaporation from drops - part 1.
73 Chem. Eng. Prog, 48, 22, pp. 141-146.
74
75 Ranz, W. E., & Marshall, W. R. (1952).
76 Evaporation from drops - part 2.
77 Chem. Eng. Prog, 48, 4, pp. 173-180.
78
79 Expressions (tag:AOB), p. 18:
80 Amsden, A. A., O'Rourke, P. J., & Butler, T. D. (1989).
81 KIVA-II: A computer program for chemically
82 reactive flows with sprays (No. LA-11560-MS).
83 Los Alamos National Lab.(LANL), Los Alamos, NM (United States).
84 DOI:10.2172/6228444
85 \endverbatim
86
87Usage
88 Minimal example by using \c constant/<CloudProperties>:
89 \verbatim
90 subModels
91 {
92 // Mandatory entries
93 heatTransferModel RanzMarshall;
94
95 // Optional entries
96 RanzMarshallCoeffs
97 {
98 a 2.0;
99 b 0.6;
100 m 0.5;
101 n 0.66666;
102 }
103 }
104 \endverbatim
105
106 where the entries mean:
107 \table
108 Property | Description | Type | Reqd | Deflt
109 heatTransferModel | Type name: RanzMarshall | word | yes | -
110 a | Correlation coefficient | scalar | no | 2.0
111 b | Correlation coefficient | scalar | no | 0.6
112 m | Correlation exponent of particle Reynolds number | scalar | no | 0.5
113 n | Correlation exponent of Prandtl number | scalar | no | 1.0/3.0
114 \endtable
115
116SourceFiles
117 RanzMarshall.C
118
119\*---------------------------------------------------------------------------*/
120
121#ifndef RanzMarshall_H
122#define RanzMarshall_H
123
124#include "HeatTransferModel.H"
125
126// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127
128namespace Foam
129{
130
131/*---------------------------------------------------------------------------*\
132 Class RanzMarshall Declaration
133\*---------------------------------------------------------------------------*/
134
135template<class CloudType>
136class RanzMarshall
137:
138 public HeatTransferModel<CloudType>
139{
140 // Private Data
141
142 //- Correlation coefficient
143 const scalar a_;
144
145 //- Correlation coefficient
146 const scalar b_;
147
148 //- Correlation exponent of particle Reynolds number
149 const scalar m_;
150
151 //- Correlation exponent of Prandtl number
152 const scalar n_;
153
154
155public:
156
157 //- Runtime type information
158 TypeName("RanzMarshall");
159
160
161 // Generated Methods
162
163 //- No copy assignment
164 void operator=(const RanzMarshall&) = delete;
165
166
167 // Constructors
168
169 //- Construct from dictionary
170 RanzMarshall(const dictionary& dict, CloudType& cloud);
171
172 //- Copy construct
173 RanzMarshall(const RanzMarshall<CloudType>& im);
174
175 //- Construct and return a clone
176 virtual autoPtr<HeatTransferModel<CloudType>> clone() const
177 {
178 return autoPtr<HeatTransferModel<CloudType>>
179 (
180 new RanzMarshall<CloudType>(*this)
181 );
182 }
183
184
185 //- Destructor
186 virtual ~RanzMarshall() = default;
187
188
189 // Member Functions
190
191 // Evaluation
192
193 //- Return Nusselt number
194 virtual scalar Nu
195 (
196 const scalar Re,
197 const scalar Pr
198 ) const;
199};
200
201
202// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
203
204} // End namespace Foam
205
206// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
207
208#ifdef NoRepository
209 #include "RanzMarshall.C"
210#endif
211
212// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
213
214#endif
215
216// ************************************************************************* //
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
Templated class to calculate the fluid-particle heat transfer coefficients based on a specified Nusse...
Nusselt-number model using the empirical Ranz-Marshall correlation to be used in modelling of the flu...
Definition: RanzMarshall.H:226
virtual ~RanzMarshall()=default
Destructor.
RanzMarshall(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
Definition: RanzMarshall.C:35
virtual scalar Nu(const scalar Re, const scalar Pr) const
Return Nusselt number.
Definition: RanzMarshall.C:63
void operator=(const RanzMarshall &)=delete
No copy assignment.
TypeName("RanzMarshall")
Runtime type information.
virtual autoPtr< HeatTransferModel< CloudType > > clone() const
Construct and return a clone.
Definition: RanzMarshall.H:263
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A cloud is a registry collection of lagrangian particles.
Definition: cloud.H:60
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
Namespace for OpenFOAM.
DSMCCloud< dsmcParcel > CloudType
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
dimensionedScalar Pr("Pr", dimless, laminarTransport)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73