diff --git a/ProcessLib/HeatTransportBHE/BHE/Physics.h b/ProcessLib/HeatTransportBHE/BHE/Physics.h
index 446543da84e625198a131991709079b91cb00d3a..8f5295e7fe94644ba734eba7b5e7b80cae4cb9a3 100644
--- a/ProcessLib/HeatTransportBHE/BHE/Physics.h
+++ b/ProcessLib/HeatTransportBHE/BHE/Physics.h
@@ -59,6 +59,43 @@ inline double nusseltNumber(double const reynolds_number,
                       (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
            (1.0 + std::pow(pipe_diameter / pipe_length, 2.0 / 3.0));
 }
+
+// Pipe aspect ratio is the pipe's diameter equivalent over pipe's length.
+inline double nusseltNumberAnnulus(double const reynolds_number,
+                                   double const prandtl_number,
+                                   double const diameter_ratio,
+                                   double const pipe_aspect_ratio)
+{
+    if (reynolds_number < 2300.0)
+    {
+        return 3.66 + (4.0 - 0.102 / (diameter_ratio + 0.02)) *
+                          std::pow(diameter_ratio, 0.04);
+    }
+    if (reynolds_number < 10000.0)
+    {
+        double const gamma = (reynolds_number - 2300) / (10000 - 2300);
+
+        return (1.0 - gamma) *
+                   (3.66 + (4.0 - 0.102 / (diameter_ratio + 0.02))) *
+                   std::pow(diameter_ratio, 0.04) +
+               gamma *
+                   ((0.0308 / 8.0 * 1.0e4 * prandtl_number) /
+                    (1.0 + 12.7 * std::sqrt(0.0308 / 8.0) *
+                               (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
+                    (1.0 + std::pow(pipe_aspect_ratio, 2.0 / 3.0)) *
+                    ((0.86 * std::pow(diameter_ratio, 0.84) + 1.0 -
+                      0.14 * std::pow(diameter_ratio, 0.6)) /
+                     (1.0 + diameter_ratio)));
+    }
+    double const xi = std::pow(1.8 * std::log10(reynolds_number) - 1.5, -2.0);
+    return (xi / 8.0 * reynolds_number * prandtl_number) /
+           (1.0 + 12.7 * std::sqrt(xi / 8.0) *
+                      (std::pow(prandtl_number, 2.0 / 3.0) - 1.0)) *
+           (1.0 + std::pow(pipe_aspect_ratio, 2.0 / 3.0)) *
+           ((0.86 * std::pow(diameter_ratio, 0.84) + 1.0 -
+             0.14 * std::pow(diameter_ratio, 0.6)) /
+            (1.0 + diameter_ratio));
+}
 }  // end of namespace BHE
 }  // end of namespace HeatTransportBHE
 }  // end of namespace ProcessLib
diff --git a/ProcessLib/HeatTransportBHE/BHE/Pipe.h b/ProcessLib/HeatTransportBHE/BHE/Pipe.h
index 1eed3b501879818ac38405940ab68b375882c287..c35306fc18605a13301f10d8a29033242ecd296b 100644
--- a/ProcessLib/HeatTransportBHE/BHE/Pipe.h
+++ b/ProcessLib/HeatTransportBHE/BHE/Pipe.h
@@ -29,11 +29,20 @@ struct Pipe
     double const wall_thickness;
     double const wall_thermal_conductivity;
 
+    /// Area of the pipe's inside without the wall.
     double area() const
     {
         constexpr double pi = boost::math::constants::pi<double>();
         return pi * diameter * diameter / 4;
     }
+
+    /// Area of the pipe's outside including the wall thickness.
+    double outsideArea() const
+    {
+        constexpr double pi = boost::math::constants::pi<double>();
+        double const d = diameter + 2 * wall_thickness;
+        return pi * d * d / 4;
+    }
 };
 
 Pipe createPipe(BaseLib::ConfigTree const& config);
diff --git a/ProcessLib/HeatTransportBHE/BHE/ThermoMechanicalFlowProperties.h b/ProcessLib/HeatTransportBHE/BHE/ThermoMechanicalFlowProperties.h
index 4f0f98082548543ed20654e8acf8aef82b9abef1..043363a0fd53577be264a418a74cedaf5aff00b0 100644
--- a/ProcessLib/HeatTransportBHE/BHE/ThermoMechanicalFlowProperties.h
+++ b/ProcessLib/HeatTransportBHE/BHE/ThermoMechanicalFlowProperties.h
@@ -46,22 +46,28 @@ calculateThermoMechanicalFlowPropertiesPipe(Pipe const& pipe,
 
 inline ThermoMechanicalFlowProperties
 calculateThermoMechanicalFlowPropertiesAnnulus(
-    PipeParameters const& pipe, double const length,
+    Pipe const& inner_pipe, Pipe const& outer_pipe, double const length,
     RefrigerantProperties const& fluid, double const flow_rate)
 {
     double const Pr =
-        prandtlNumber(fluid.mu_r, fluid.specific_heat_capacity, fluid.lambda_r);
+        prandtlNumber(fluid.dynamic_viscosity, fluid.specific_heat_capacity,
+                      fluid.thermal_conductivity);
+
+    double const inner_pipe_outside_diameter =
+        inner_pipe.diameter + 2. * inner_pipe.wall_thickness;
 
+    // Velocity between the outer pipe and inner pipe.
     double const velocity =
-        annulusFlowVelocity(flow_rate, pipe.r_outer, pipe.r_inner + pipe.b_in);
+        flow_rate / (outer_pipe.area() - inner_pipe.outsideArea());
 
     double const Re = reynoldsNumber(
-        velocity, 2.0 * (pipe.r_outer - (pipe.r_inner + pipe.b_in)), fluid.mu_r,
-        fluid.density);
+        velocity, outer_pipe.diameter - inner_pipe_outside_diameter,
+        fluid.dynamic_viscosity, fluid.density);
 
-    double const diameter_ratio = (pipe.r_inner + pipe.b_in) / pipe.r_outer;
+    double const diameter_ratio =
+        inner_pipe_outside_diameter / outer_pipe.diameter;
     double const pipe_aspect_ratio =
-        (2 * pipe.r_outer - 2 * (pipe.r_inner + pipe.b_in)) / length;
+        (outer_pipe.diameter - inner_pipe_outside_diameter) / length;
     double const nusselt_number =
         nusseltNumberAnnulus(Re, Pr, diameter_ratio, pipe_aspect_ratio);
     return {velocity, nusselt_number};