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