OGS
ThermalResistancesCoaxial.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <cmath>
7#include <numbers>
8
9#include "GroutParameters.h"
10#include "Pipe.h"
13
14namespace ProcessLib
15{
16namespace HeatTransportBHE
17{
18namespace BHE
19{
21{
22 double const inner_pipe_coaxial;
23 double const a_annulus;
24 double const b_annulus;
25};
26
28{
29 double const inner_pipe_coaxial;
30 double const annulus;
31};
32
38
40 Pipe const& inner_pipe, Pipe const& outer_pipe,
41 RefrigerantProperties const& fluid, double const Nu_inner_pipe,
42 double const Nu_annulus)
43{
44 double const hydraulic_diameter =
45 coaxialPipesAnnulusDiameter(inner_pipe, outer_pipe);
46
47 auto advective_thermal_resistance = [&](double Nu, double diameter_ratio)
48 {
49 return 1.0 / (Nu * fluid.thermal_conductivity * std::numbers::pi) *
50 diameter_ratio;
51 };
52 return {advective_thermal_resistance(Nu_inner_pipe, 1.),
53 advective_thermal_resistance(
54 Nu_annulus, hydraulic_diameter / inner_pipe.outsideDiameter()),
55 advective_thermal_resistance(
56 Nu_annulus, hydraulic_diameter / outer_pipe.diameter)};
57}
58
62 Pipe const& inner_pipe, double const lambda_p_inner, Pipe const& outer_pipe,
63 double const lambda_p_outer)
64{
65 return {pipeWallThermalResistance(inner_pipe, lambda_p_inner),
66 pipeWallThermalResistance(outer_pipe, lambda_p_outer)};
67}
68
69inline GroutAndGroutSoilExchangeThermalResistanceCoaxial
71 Pipe const& outer_pipe, GroutParameters const& grout_parameters,
72 double const borehole_diameter)
73{
74 double const outer_pipe_outside_diameter = outer_pipe.outsideDiameter();
75 double const chi =
76 std::log(std::sqrt(borehole_diameter * borehole_diameter +
77 outer_pipe_outside_diameter *
78 outer_pipe_outside_diameter) /
79 std::sqrt(2) / outer_pipe_outside_diameter) /
80 std::log(borehole_diameter / outer_pipe_outside_diameter);
81 double const R_g =
82 std::log(borehole_diameter / outer_pipe_outside_diameter) / 2 /
83 (std::numbers::pi * grout_parameters.lambda_g);
84 double const conductive_b = chi * R_g;
85 double const grout_soil = (1 - chi) * R_g;
86 return {conductive_b, grout_soil};
87}
88} // namespace BHE
89} // namespace HeatTransportBHE
90} // namespace ProcessLib
AdvectiveThermalResistanceCoaxial calculateAdvectiveThermalResistance(Pipe const &inner_pipe, Pipe const &outer_pipe, RefrigerantProperties const &fluid, double const Nu_inner_pipe, double const Nu_annulus)
double coaxialPipesAnnulusDiameter(Pipe const &inner_pipe, Pipe const &outer_pipe)
Definition Pipe.h:52
PipeWallThermalResistanceCoaxial calculatePipeWallThermalResistance(Pipe const &inner_pipe, double const lambda_p_inner, Pipe const &outer_pipe, double const lambda_p_outer)
GroutAndGroutSoilExchangeThermalResistanceCoaxial calculateGroutAndGroutSoilExchangeThermalResistance(Pipe const &outer_pipe, GroutParameters const &grout_parameters, double const borehole_diameter)
double pipeWallThermalResistance(Pipe const &pipe, double const wall_thermal_conductivity)
double const diameter
Inner diameter [m].
Definition Pipe.h:30