28 double const prandtl_number,
29 double const pipe_diameter,
30 double const pipe_length)
32 if (reynolds_number < 2300.0)
36 if (reynolds_number < 10000.0)
38 double const gamma = (reynolds_number - 2300) / (10000 - 2300);
40 return (1.0 - gamma) * 4.364 +
42 ((0.0308 / 8.0 * 1.0e4 * prandtl_number) /
43 (1.0 + 12.7 * std::sqrt(0.0308 / 8.0) *
44 (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
45 (1.0 + std::pow(pipe_diameter / pipe_length, 2.0 / 3.0)));
48 double const xi = std::pow(1.8 * std::log10(reynolds_number) - 1.5, -2.0);
49 return (xi / 8.0 * reynolds_number * prandtl_number) /
50 (1.0 + 12.7 * std::sqrt(xi / 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));
57 double const prandtl_number,
58 double const diameter_ratio,
59 double const pipe_aspect_ratio)
61 if (reynolds_number < 2300.0)
63 return 3.66 + (4.0 - 0.102 / (diameter_ratio + 0.02)) *
64 std::pow(diameter_ratio, 0.04);
66 if (reynolds_number < 10000.0)
68 double const gamma = (reynolds_number - 2300) / (10000 - 2300);
70 return (1.0 - gamma) *
71 (3.66 + (4.0 - 0.102 / (diameter_ratio + 0.02))) *
72 std::pow(diameter_ratio, 0.04) +
74 ((0.0308 / 8.0 * 1.0e4 * prandtl_number) /
75 (1.0 + 12.7 * std::sqrt(0.0308 / 8.0) *
76 (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
77 (1.0 + std::pow(pipe_aspect_ratio, 2.0 / 3.0)) *
78 ((0.86 * std::pow(diameter_ratio, 0.84) + 1.0 -
79 0.14 * std::pow(diameter_ratio, 0.6)) /
80 (1.0 + diameter_ratio)));
82 double const xi = std::pow(1.8 * std::log10(reynolds_number) - 1.5, -2.0);
83 return (xi / 8.0 * reynolds_number * prandtl_number) /
84 (1.0 + 12.7 * std::sqrt(xi / 8.0) *
85 (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
86 (1.0 + std::pow(pipe_aspect_ratio, 2.0 / 3.0)) *
87 ((0.86 * std::pow(diameter_ratio, 0.84) + 1.0 -
88 0.14 * std::pow(diameter_ratio, 0.6)) /
89 (1.0 + diameter_ratio));