From 9c4c1876323f701e6d08e3d8e20a7d395d50b4ce Mon Sep 17 00:00:00 2001
From: ChaofanChen <chaofan.chen@ufz.de>
Date: Fri, 8 Feb 2019 17:38:55 +0100
Subject: [PATCH] [PL] extract calculation of coaxial thermal resistances to
 new h file.

---
 .../HeatTransportBHE/BHE/BHECommonCoaxial.cpp |   2 +-
 .../HeatTransportBHE/BHE/BHECommonCoaxial.h   |   3 +-
 ProcessLib/HeatTransportBHE/BHE/BHE_1U.h      |   2 +-
 .../BHE/ThermalResistancesCoaxial.h           | 109 ++++++++++++++++++
 .../BHE/ThermoMechanicalFlowProperties.h      |  84 --------------
 .../HeatTransportBHELocalAssemblerBHE-impl.h  |   2 +-
 6 files changed, 114 insertions(+), 88 deletions(-)
 create mode 100644 ProcessLib/HeatTransportBHE/BHE/ThermalResistancesCoaxial.h

diff --git a/ProcessLib/HeatTransportBHE/BHE/BHECommonCoaxial.cpp b/ProcessLib/HeatTransportBHE/BHE/BHECommonCoaxial.cpp
index 553b14174b1..9bf8da18738 100644
--- a/ProcessLib/HeatTransportBHE/BHE/BHECommonCoaxial.cpp
+++ b/ProcessLib/HeatTransportBHE/BHE/BHECommonCoaxial.cpp
@@ -82,7 +82,7 @@ BHECommonCoaxial::pipeAdvectionVectors() const
 }
 
 std::array<double, BHECommonCoaxial::number_of_unknowns>
-BHECommonCoaxial::CrossSectionAreas() const
+BHECommonCoaxial::crossSectionAreas() const
 {
     auto S = cross_section_areas_coaxial();
     return {S[0], S[1], S[2]};
diff --git a/ProcessLib/HeatTransportBHE/BHE/BHECommonCoaxial.h b/ProcessLib/HeatTransportBHE/BHE/BHECommonCoaxial.h
index 25be41e8046..b5371c09358 100644
--- a/ProcessLib/HeatTransportBHE/BHE/BHECommonCoaxial.h
+++ b/ProcessLib/HeatTransportBHE/BHE/BHECommonCoaxial.h
@@ -14,6 +14,7 @@
 #include "FlowAndTemperatureControl.h"
 #include "Physics.h"
 #include "PipeConfigurationCoaxial.h"
+#include "ThermalResistancesCoaxial.h"
 #include "ThermoMechanicalFlowProperties.h"
 
 namespace ProcessLib
@@ -60,7 +61,7 @@ public:
     double cross_section_area_inner_pipe, cross_section_area_annulus,
         cross_section_area_grout;
 
-    std::array<double, number_of_unknowns> CrossSectionAreas() const;
+    std::array<double, number_of_unknowns> crossSectionAreas() const;
 
     virtual std::array<double, number_of_unknowns> cross_section_areas_coaxial()
         const = 0;
diff --git a/ProcessLib/HeatTransportBHE/BHE/BHE_1U.h b/ProcessLib/HeatTransportBHE/BHE/BHE_1U.h
index 24b873f5190..969bb322f1e 100644
--- a/ProcessLib/HeatTransportBHE/BHE/BHE_1U.h
+++ b/ProcessLib/HeatTransportBHE/BHE/BHE_1U.h
@@ -140,7 +140,7 @@ private:
     PipeConfiguration1U const _pipes;
 
 public:
-    std::array<double, number_of_unknowns> CrossSectionAreas() const
+    std::array<double, number_of_unknowns> crossSectionAreas() const
     {
         return {{_pipes.inlet.area(), _pipes.outlet.area(),
                  borehole_geometry.area() / 2 - _pipes.inlet.area(),
diff --git a/ProcessLib/HeatTransportBHE/BHE/ThermalResistancesCoaxial.h b/ProcessLib/HeatTransportBHE/BHE/ThermalResistancesCoaxial.h
new file mode 100644
index 00000000000..2dd126f70b3
--- /dev/null
+++ b/ProcessLib/HeatTransportBHE/BHE/ThermalResistancesCoaxial.h
@@ -0,0 +1,109 @@
+/**
+ * \file
+ *
+ * \copyright
+ * Copyright (c) 2012-2019, OpenGeoSys Community (http://www.opengeosys.org)
+ *            Distributed under a Modified BSD License.
+ *              See accompanying file LICENSE.txt or
+ *              http://www.opengeosys.org/project/license
+ *
+ */
+
+#pragma once
+
+#include "GroutParameters.h"
+#include "Physics.h"
+#include "Pipe.h"
+#include "RefrigerantProperties.h"
+
+namespace ProcessLib
+{
+namespace HeatTransportBHE
+{
+namespace BHE
+{
+struct AdvectiveThermalResistanceCoaxial
+{
+    double inner_pipe_coaxial;
+    double a_annulus;
+    double b_annulus;
+};
+
+struct PipeWallThermalResistanceCoaxial
+{
+    double const inner_pipe_coaxial;
+    double const annulus;
+};
+
+struct GroutAndGroutSoilExchangeThermalResistanceCoaxial
+{
+    double const conductive_b;
+    double const grout_soil;
+};
+
+inline AdvectiveThermalResistanceCoaxial calculateAdvectiveThermalResistance(
+    Pipe const& inner_pipe, Pipe const& outer_pipe,
+    RefrigerantProperties const& fluid, double const Nu_inner_pipe,
+    double const Nu_annulus)
+{
+    static constexpr double pi = boost::math::constants::pi<double>();
+
+    double const hydraulic_diameter_annulus = outer_pipe.diameter -
+                                              inner_pipe.diameter -
+                                              2 * inner_pipe.wall_thickness;
+    double const inner_pipe_outside_diameter =
+        PipeOutsideDiameter(inner_pipe.diameter, inner_pipe.wall_thickness);
+    double const inner_pipe_coaxial =
+        1.0 / (Nu_inner_pipe * fluid.thermal_conductivity * pi);
+    double const a_annulus =
+        1.0 / (Nu_annulus * fluid.thermal_conductivity * pi) *
+        (hydraulic_diameter_annulus / inner_pipe_outside_diameter);
+    double const b_annulus = 1.0 /
+                             (Nu_annulus * fluid.thermal_conductivity * pi) *
+                             (hydraulic_diameter_annulus / outer_pipe.diameter);
+    return {inner_pipe_coaxial, a_annulus, b_annulus};
+}
+
+inline PipeWallThermalResistanceCoaxial calculatePipeWallThermalResistance(
+    Pipe const& inner_pipe, Pipe const& outer_pipe)
+{
+    static constexpr double pi = boost::math::constants::pi<double>();
+
+    double const inner_pipe_outside_diameter =
+        PipeOutsideDiameter(inner_pipe.diameter, inner_pipe.wall_thickness);
+    double const outer_pipe_outside_diameter =
+        PipeOutsideDiameter(outer_pipe.diameter, outer_pipe.wall_thickness);
+    double const inner_pipe_coaxial =
+        std::log(inner_pipe_outside_diameter / inner_pipe.diameter) /
+        (2.0 * pi * inner_pipe.wall_thermal_conductivity);
+    double const Annulus =
+        std::log(outer_pipe_outside_diameter / outer_pipe.diameter) /
+        (2.0 * pi * outer_pipe.wall_thermal_conductivity);
+    return {inner_pipe_coaxial, Annulus};
+}
+
+inline GroutAndGroutSoilExchangeThermalResistanceCoaxial
+calculateGroutAndGroutSoilExchangeThermalResistance(
+    Pipe const& outer_pipe, GroutParameters const& grout_parameters,
+    double const borehole_diameter)
+{
+    static constexpr double pi = boost::math::constants::pi<double>();
+
+    double const outer_pipe_outside_diameter =
+        PipeOutsideDiameter(outer_pipe.diameter, outer_pipe.wall_thickness);
+    double const chi =
+        std::log(std::sqrt(borehole_diameter * borehole_diameter +
+                           outer_pipe_outside_diameter *
+                               outer_pipe_outside_diameter) /
+                 std::sqrt(2) / outer_pipe_outside_diameter) /
+        std::log(borehole_diameter / outer_pipe_outside_diameter);
+    double const R_g =
+        std::log(borehole_diameter / outer_pipe_outside_diameter) / 2 /
+        (pi * grout_parameters.lambda_g);
+    double const conductive_b = chi * R_g;
+    double const grout_soil = (1 - chi) * R_g;
+    return {conductive_b, grout_soil};
+}
+}  // namespace BHE
+}  // namespace HeatTransportBHE
+}  // namespace ProcessLib
diff --git a/ProcessLib/HeatTransportBHE/BHE/ThermoMechanicalFlowProperties.h b/ProcessLib/HeatTransportBHE/BHE/ThermoMechanicalFlowProperties.h
index 1fec22c71ee..3c549016027 100644
--- a/ProcessLib/HeatTransportBHE/BHE/ThermoMechanicalFlowProperties.h
+++ b/ProcessLib/HeatTransportBHE/BHE/ThermoMechanicalFlowProperties.h
@@ -11,7 +11,6 @@
 
 #pragma once
 
-#include "GroutParameters.h"
 #include "Physics.h"
 #include "Pipe.h"
 #include "RefrigerantProperties.h"
@@ -28,25 +27,6 @@ struct ThermoMechanicalFlowProperties
     double nusselt_number;
 };
 
-struct AdvectiveThermalResistanceCoaxial
-{
-    double inner_pipe_coaxial;
-    double a_annulus;
-    double b_annulus;
-};
-
-struct PipeWallThermalResistanceCoaxial
-{
-    double const inner_pipe_coaxial;
-    double const annulus;
-};
-
-struct GroutAndGroutSoilExchangeThermalResistanceCoaxial
-{
-    double const conductive_b;
-    double const grout_soil;
-};
-
 inline ThermoMechanicalFlowProperties
 calculateThermoMechanicalFlowPropertiesPipe(Pipe const& pipe,
                                             double const length,
@@ -92,70 +72,6 @@ calculateThermoMechanicalFlowPropertiesAnnulus(
         nusseltNumberAnnulus(Re, Pr, diameter_ratio, pipe_aspect_ratio);
     return {velocity, nusselt_number};
 }
-
-inline AdvectiveThermalResistanceCoaxial calculateAdvectiveThermalResistance(
-    Pipe const& inner_pipe, Pipe const& outer_pipe,
-    RefrigerantProperties const& fluid, double const Nu_inner_pipe,
-    double const Nu_annulus)
-{
-    static constexpr double pi = boost::math::constants::pi<double>();
-
-    double const hydraulic_diameter_annulus = outer_pipe.diameter -
-                                              inner_pipe.diameter -
-                                              2 * inner_pipe.wall_thickness;
-    double const inner_pipe_outside_diameter =
-        PipeOutsideDiameter(inner_pipe.diameter, inner_pipe.wall_thickness);
-    double const inner_pipe_coaxial =
-        1.0 / (Nu_inner_pipe * fluid.thermal_conductivity * pi);
-    double const a_annulus =
-        1.0 / (Nu_annulus * fluid.thermal_conductivity * pi) *
-        (hydraulic_diameter_annulus / inner_pipe_outside_diameter);
-    double const b_annulus = 1.0 /
-                             (Nu_annulus * fluid.thermal_conductivity * pi) *
-                             (hydraulic_diameter_annulus / outer_pipe.diameter);
-    return {inner_pipe_coaxial, a_annulus, b_annulus};
-}
-
-inline PipeWallThermalResistanceCoaxial calculatePipeWallThermalResistance(
-    Pipe const& inner_pipe, Pipe const& outer_pipe)
-{
-    static constexpr double pi = boost::math::constants::pi<double>();
-
-    double const inner_pipe_outside_diameter =
-        PipeOutsideDiameter(inner_pipe.diameter, inner_pipe.wall_thickness);
-    double const outer_pipe_outside_diameter =
-        PipeOutsideDiameter(outer_pipe.diameter, outer_pipe.wall_thickness);
-    double const inner_pipe_coaxial =
-        std::log(inner_pipe_outside_diameter / inner_pipe.diameter) /
-        (2.0 * pi * inner_pipe.wall_thermal_conductivity);
-    double const Annulus =
-        std::log(outer_pipe_outside_diameter / outer_pipe.diameter) /
-        (2.0 * pi * outer_pipe.wall_thermal_conductivity);
-    return {inner_pipe_coaxial, Annulus};
-}
-
-inline GroutAndGroutSoilExchangeThermalResistanceCoaxial
-calculateGroutAndGroutSoilExchangeThermalResistance(
-    Pipe const& outer_pipe, GroutParameters const& grout_parameters,
-    double const borehole_diameter)
-{
-    static constexpr double pi = boost::math::constants::pi<double>();
-
-    double const outer_pipe_outside_diameter =
-        PipeOutsideDiameter(outer_pipe.diameter, outer_pipe.wall_thickness);
-    double const chi =
-        std::log(std::sqrt(borehole_diameter * borehole_diameter +
-                           outer_pipe_outside_diameter *
-                               outer_pipe_outside_diameter) /
-                 std::sqrt(2) / outer_pipe_outside_diameter) /
-        std::log(borehole_diameter / outer_pipe_outside_diameter);
-    double const R_g =
-        std::log(borehole_diameter / outer_pipe_outside_diameter) / 2 /
-        (pi * grout_parameters.lambda_g);
-    double const conductive_b = chi * R_g;
-    double const grout_soil = (1 - chi) * R_g;
-    return {conductive_b, grout_soil};
-}
 }  // namespace BHE
 }  // namespace HeatTransportBHE
 }  // namespace ProcessLib
diff --git a/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE-impl.h b/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE-impl.h
index 26955a42d9e..9715ed8edad 100644
--- a/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE-impl.h
+++ b/ProcessLib/HeatTransportBHE/LocalAssemblers/HeatTransportBHELocalAssemblerBHE-impl.h
@@ -119,7 +119,7 @@ void HeatTransportBHELocalAssemblerBHE<ShapeFunction, IntegrationMethod,
     auto const& pipe_heat_capacities = _bhe.pipeHeatCapacities();
     auto const& pipe_heat_conductions = _bhe.pipeHeatConductions();
     auto const& pipe_advection_vectors = _bhe.pipeAdvectionVectors();
-    auto const& cross_section_areas = _bhe.CrossSectionAreas();
+    auto const& cross_section_areas = _bhe.crossSectionAreas();
 
     // the mass and conductance matrix terms
     for (unsigned ip = 0; ip < n_integration_points; ip++)
-- 
GitLab