OGS
Physics.h
Go to the documentation of this file.
1
11#pragma once
12
13namespace ProcessLib
14{
15namespace HeatTransportBHE
16{
17namespace BHE // namespace of borehole heat exchanger
18{
19inline 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
26inline 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
34inline 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.
63inline 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 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
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