35 double const prandtl_number,
36 double const pipe_diameter,
37 double const pipe_length)
39 if (reynolds_number < 2300.0)
43 if (reynolds_number < 10000.0)
45 double const gamma = (reynolds_number - 2300) / (10000 - 2300);
47 return (1.0 - gamma) * 4.364 +
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)));
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));
64 double const prandtl_number,
65 double const diameter_ratio,
66 double const pipe_aspect_ratio)
68 if (reynolds_number < 2300.0)
70 return 3.66 + (4.0 - 0.102 / (diameter_ratio + 0.02)) *
71 std::pow(diameter_ratio, 0.04);
73 if (reynolds_number < 10000.0)
75 double const gamma = (reynolds_number - 2300) / (10000 - 2300);
77 return (1.0 - gamma) *
78 (3.66 + (4.0 - 0.102 / (diameter_ratio + 0.02))) *
79 std::pow(diameter_ratio, 0.04) +
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)));
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));