OGS 6.2.1-372-g67eca524a.dirty.20190919230349
Physics.h
Go to the documentation of this file.
1 
11 #pragma once
12 
13 namespace ProcessLib
14 {
15 namespace HeatTransportBHE
16 {
17 namespace BHE // namespace of borehole heat exchanger
18 {
19 inline double prandtlNumber(double const& viscosity,
20  double const& heat_capacity,
21  double const& heat_conductivity)
22 {
23  return viscosity * heat_capacity / heat_conductivity;
24 }
25 
26 inline double reynoldsNumber(double const velocity_norm,
27  double const pipe_diameter,
28  double const viscosity,
29  double const density)
30 {
31  return velocity_norm * pipe_diameter / (viscosity / density);
32 }
33 
34 inline double nusseltNumber(double const reynolds_number,
35  double const prandtl_number,
36  double const pipe_diameter,
37  double const pipe_length)
38 {
39  if (reynolds_number < 2300.0)
40  {
41  return 4.364;
42  }
43  if (reynolds_number < 10000.0)
44  {
45  double const gamma = (reynolds_number - 2300) / (10000 - 2300);
46 
47  return (1.0 - gamma) * 4.364 +
48  gamma *
49  ((0.0308 / 8.0 * 1.0e4 * prandtl_number) /
50  (1.0 + 12.7 * std::sqrt(0.0308 / 8.0) *
51  (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
52  (1.0 + std::pow(pipe_diameter / pipe_length, 2.0 / 3.0)));
53  }
54 
55  double const xi = std::pow(1.8 * std::log10(reynolds_number) - 1.5, -2.0);
56  return (xi / 8.0 * reynolds_number * prandtl_number) /
57  (1.0 + 12.7 * std::sqrt(xi / 8.0) *
58  (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
59  (1.0 + std::pow(pipe_diameter / pipe_length, 2.0 / 3.0));
60 }
61 
62 // Pipe aspect ratio is the pipe's diameter equivalent over pipe's length.
63 inline double nusseltNumberAnnulus(double const reynolds_number,
64  double const prandtl_number,
65  double const diameter_ratio,
66  double const pipe_aspect_ratio)
67 {
68  if (reynolds_number < 2300.0)
69  {
70  return 3.66 + (4.0 - 0.102 / (diameter_ratio + 0.02)) *
71  std::pow(diameter_ratio, 0.04);
72  }
73  if (reynolds_number < 10000.0)
74  {
75  double const gamma = (reynolds_number - 2300) / (10000 - 2300);
76 
77  return (1.0 - gamma) *
78  (3.66 + (4.0 - 0.102 / (diameter_ratio + 0.02))) *
79  std::pow(diameter_ratio, 0.04) +
80  gamma *
81  ((0.0308 / 8.0 * 1.0e4 * prandtl_number) /
82  (1.0 + 12.7 * std::sqrt(0.0308 / 8.0) *
83  (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
84  (1.0 + std::pow(pipe_aspect_ratio, 2.0 / 3.0)) *
85  ((0.86 * std::pow(diameter_ratio, 0.84) + 1.0 -
86  0.14 * std::pow(diameter_ratio, 0.6)) /
87  (1.0 + diameter_ratio)));
88  }
89  double const xi = std::pow(1.8 * std::log10(reynolds_number) - 1.5, -2.0);
90  return (xi / 8.0 * reynolds_number * prandtl_number) /
91  (1.0 + 12.7 * std::sqrt(xi / 8.0) *
92  (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
93  (1.0 + std::pow(pipe_aspect_ratio, 2.0 / 3.0)) *
94  ((0.86 * std::pow(diameter_ratio, 0.84) + 1.0 -
95  0.14 * std::pow(diameter_ratio, 0.6)) /
96  (1.0 + diameter_ratio));
97 }
98 } // end of namespace BHE
99 } // end of namespace HeatTransportBHE
100 } // end of namespace ProcessLib
double prandtlNumber(double const &viscosity, double const &heat_capacity, double const &heat_conductivity)
Definition: Physics.h:19
double nusseltNumberAnnulus(double const reynolds_number, double const prandtl_number, double const diameter_ratio, double const pipe_aspect_ratio)
Definition: Physics.h:63
double reynoldsNumber(double const velocity_norm, double const pipe_diameter, double const viscosity, double const density)
Definition: Physics.h:26
double nusseltNumber(double const reynolds_number, double const prandtl_number, double const pipe_diameter, double const pipe_length)
Definition: Physics.h:34