|
MEASUR-Tools-Suite v1.0.11
The MEASUR Tools Suite is a collection of industrial efficiency calculations written in C++ and with bindings for compilation to WebAssembly.
|
This calculator estimates how much heat a hot pipe loses to the surrounding air or how much heat infiltrates a cold pipe from the surrounding air, per unit length and over a full operating year. Two cases are supported:
Both cases use an iterative convergence loop that updates the outer surface temperature and (for the insulated case) the pipe-insulation interface temperature on each pass until the change in heat loss per unit length is less than 0.0001 W/m, or 30 iterations are exceeded.
The calculation follows these steps on each iteration:
Annual heat loss or gain is obtained by multiplying the converged per-length value by pipe length, annual operating hours, and the reciprocal of system efficiency.
Relevant formulas and symbol definitions are documented below.
Thermal resistance per unit length of a cylindrical shell.
The resistance to heat flow through a hollow cylinder (pipe wall or insulation annulus) depends on the ratio of its outer to inner radius and on the thermal conductivity of the material. The formula accounts for the geometry of radial heat conduction through a cylindrical shell.
\begin{equation}\label{eq:insulated-pipe-thermal-resistance} R = \frac{d_a \ln\!\left(\frac{d_b}{d_c}\right)}{2 k}\end{equation}
| \(R\) | Thermal resistance per unit length \([\unit{ \meter\kelvin\per\watt}]\) |
| \(d_a\) | Outer diameter of the shell \([\unit{ \meter}]\) |
| \(d_b\) | Outer boundary diameter of the conductive layer \([\unit{ \meter}]\) |
| \(d_c\) | Inner boundary diameter of the conductive layer \([\unit{ \meter}]\) |
| \(k\) | Thermal conductivity of the shell material \([\unit{ \watt\per\meter\per\kelvin}]\) |
Reynolds number for external cross-flow over a cylinder.
The Reynolds number characterizes the flow regime (laminar vs. turbulent) of the wind passing over the pipe or insulation jacket. It is used to determine the forced-convection Nusselt number.
\begin{equation}\label{eq:insulated-pipe-reynolds} \mathrm{Re} = \frac{d \cdot v}{\nu}\end{equation}
| \(\mathrm{Re}\) | Reynolds number \([\unit{ \unitless}]\) |
| \(d\) | Outer diameter of the surface (pipe or insulation jacket) \([\unit{ \meter}]\) |
| \(v\) | Free-stream wind velocity \([\unit{ \meter\per\second}]\) |
| \(\nu\) | Kinematic viscosity of air at the film temperature \([\unit{ \meter\squared\per\second}]\) |
Rayleigh number for natural convection from a horizontal cylinder.
The Rayleigh number drives the free-convection heat transfer. It combines the buoyancy force (from the temperature difference between surface and air) with the fluid's resistance to motion (viscosity) and heat diffusion (thermal diffusivity).
\begin{equation}\label{eq:insulated-pipe-rayleigh} \mathrm{Ra} = \frac{g \beta \left|T_s - T_\infty\right| d^3}{\nu \alpha}\end{equation}
| \(\mathrm{Ra}\) | Rayleigh number \([\unit{ \unitless}]\) |
| \(g\) | Gravitational acceleration (9.81) \([\unit{ \meter\per\second\squared}]\) |
| \(\beta\) | Volumetric thermal expansion coefficient of air (1/ \(T_{film}\)) \([\unit{ \per\kelvin}]\) |
| \(T_s\) | Outer surface temperature \([\unit{ \kelvin}]\) |
| \(T_\infty\) | Ambient air temperature \([\unit{ \kelvin}]\) |
| \(d\) | Outer diameter of the surface \([\unit{ \meter}]\) |
| \(\nu\) | Kinematic viscosity of air at the film temperature \([\unit{ \meter\squared\per\second}]\) |
| \(\alpha\) | Thermal diffusivity of air at the film temperature \([\unit{ \meter\squared\per\second}]\) |
Churchill–Bernstein correlation for forced convection over a cylinder in cross-flow.
This empirical correlation is valid over a wide range of Reynolds and Prandtl numbers and is recommended for external flow over cylinders.
\begin{equation}\label{eq:insulated-pipe-nusselt-forced} \mathrm{Nu}_{forced} = 0.3 + \frac{0.62\,\mathrm{Re}^{1/2}\,\mathrm{Pr}^{1/3}} {\left[1+\left(\frac{0.4}{\mathrm{Pr}}\right)^{2/3}\right]^{1/4}} \left[1+\left(\frac{\mathrm{Re}}{282000}\right)^{5/8}\right]^{4/5} \end{equation}
| \(\mathrm{Nu}_{forced}\) | Forced-convection Nusselt number \([\unit{ \unitless}]\) |
| \(\mathrm{Re}\) | Reynolds number \([\unit{ \unitless}]\) |
| \(\mathrm{Pr}\) | Prandtl number of air at the film temperature \([\unit{ \unitless}]\) |
Churchill–Chu correlation for free convection from a horizontal cylinder.
This correlation is recommended for natural convection from long horizontal cylinders over the full range of Rayleigh numbers.
\begin{equation}\label{eq:insulated-pipe-nusselt-free} \mathrm{Nu}_{free} = \left[0.6 + \frac{0.387\,\mathrm{Ra}^{1/6}} {\left[1+\left(\frac{0.559}{\mathrm{Pr}}\right)^{9/16}\right]^{8/27}} \right]^2 \end{equation}
| \(\mathrm{Nu}_{free}\) | Free-convection Nusselt number \([\unit{ \unitless}]\) |
| \(\mathrm{Ra}\) | Rayleigh number \([\unit{ \unitless}]\) |
| \(\mathrm{Pr}\) | Prandtl number of air at the film temperature \([\unit{ \unitless}]\) |
Power-sum combination of forced and free convection Nusselt numbers.
When both forced and free convection are present simultaneously, the two contributions are combined using a fourth-power sum rule. The exponent of four gives a smooth transition between forced-dominated and buoyancy-dominated regimes.
\begin{equation}\label{eq:insulated-pipe-nusselt-combined} \mathrm{Nu} = \left(\mathrm{Nu}_{forced}^4 + \mathrm{Nu}_{free}^4\right)^{1/4} \end{equation}
| \(\mathrm{Nu}\) | Combined Nusselt number \([\unit{ \unitless}]\) |
| \(\mathrm{Nu}_{forced}\) | Forced-convection Nusselt number \([\unit{ \unitless}]\) |
| \(\mathrm{Nu}_{free}\) | Free-convection Nusselt number \([\unit{ \unitless}]\) |
Convective heat transfer coefficient from the Nusselt number definition.
The Nusselt number is the ratio of convective to conductive heat transfer at the surface, so rearranging its definition gives the convective heat transfer coefficient directly.
\begin{equation}\label{eq:insulated-pipe-convection} h_{conv} = \frac{\mathrm{Nu} \cdot k_{air}}{d}\end{equation}
| \(h_{conv}\) | Convective heat transfer coefficient \([\unit{ \watt\per\meter\squared\per\kelvin}]\) |
| \(\mathrm{Nu}\) | Combined Nusselt number \([\unit{ \unitless}]\) |
| \(k_{air}\) | Thermal conductivity of air at the film temperature \([\unit{ \watt\per\meter\per\kelvin}]\) |
| \(d\) | Outer diameter of the surface \([\unit{ \meter}]\) |
Linearized radiative heat transfer coefficient from the Stefan–Boltzmann law.
The full Stefan–Boltzmann radiation term is divided by the temperature difference to produce a linearized coefficient that can be added directly to the convective coefficient. This linearization is valid when the temperature difference is small relative to the absolute temperatures involved.
\begin{equation}\label{eq:insulated-pipe-radiation} h_{rad} = \frac{\sigma \varepsilon \left(T_s^4 - T_\infty^4\right)}{T_s - T_\infty} \end{equation}
| \(h_{rad}\) | Radiative heat transfer coefficient \([\unit{ \watt\per\meter\squared\per\kelvin}]\) |
| \(\sigma\) | Stefan–Boltzmann constant (5.670373 × 10⁻⁸) \([\unit{ \watt\per\meter\squared\per\kelvin\tothe{4}}]\) |
| \(\varepsilon\) | Surface emissivity (0–1) \([\unit{ \unitless}]\) |
| \(T_s\) | Outer surface temperature \([\unit{ \kelvin}]\) |
| \(T_\infty\) | Ambient air temperature \([\unit{ \kelvin}]\) |
Heat loss per unit length for an insulated pipe.
The pipe inner surface (fluid) temperature drives heat through three resistances in series: the pipe wall, the insulation annulus, and the combined air-film resistance at the jacket outer surface. The air-film resistance is the reciprocal of the sum of convective and radiative heat transfer coefficients. All resistances are per unit length.
\begin{equation}\label{eq:insulated-pipe-insulated-resistance} R_{total} = R_{pipe} + R_{ins} + \frac{1}{h_{air}}\end{equation}
\begin{equation}\label{eq:insulated-pipe-insulated-heat-flow} q = \frac{T_{pipe} - T_\infty}{R_{total}}\end{equation}
\begin{equation}\label{eq:insulated-pipe-insulated-heat-length} q_L = q \cdot \pi \cdot d_{ins,outer}\end{equation}
| \(R_{total}\) | Total thermal resistance per unit length \([\unit{ \meter\kelvin\per\watt}]\) |
| \(R_{pipe}\) | Pipe wall thermal resistance per unit length \([\unit{ \meter\kelvin\per\watt}]\) |
| \(R_{ins}\) | Insulation thermal resistance per unit length \([\unit{ \meter\kelvin\per\watt}]\) |
| \(h_{air}\) | Combined air-film heat transfer coefficient ( \(h_{conv}\) + \(h_{rad}\)) \([\unit{ \watt\per\meter\squared\per\kelvin}]\) |
| \(q\) | Heat flow per unit area \([\unit{ \watt\per\meter\squared}]\) |
| \(T_{pipe}\) | Pipe inner surface (fluid) temperature \([\unit{ \kelvin}]\) |
| \(T_\infty\) | Ambient air temperature \([\unit{ \kelvin}]\) |
| \(q_L\) | Heat loss per unit length \([\unit{ \watt\per\meter}]\) |
| \(d_{ins,outer}\) | Insulation jacket outer diameter \([\unit{ \meter}]\) |
| \(\pi\) | Mathematical constant pi \([\unit{ \unitless}]\) |
Heat loss per unit length for a bare (uninsulated) pipe.
Without insulation, heat conducts through the pipe wall only before being dissipated from the bare outer surface. The formula is identical to the insulated case except that the insulation resistance is absent and the air-film resistance acts directly on the pipe outer surface.
\begin{equation}\label{eq:insulated-pipe-bare-resistance} R_{total} = R_{pipe} + \frac{1}{h_{air}}\end{equation}
\begin{equation}\label{eq:insulated-pipe-bare-heat-flow} q = \frac{T_{pipe} - T_\infty}{R_{total}}\end{equation}
\begin{equation}\label{eq:insulated-pipe-bare-heat-length} q_L = q \cdot \pi \cdot d_{pipe}\end{equation}
| \(R_{total}\) | Total thermal resistance per unit length \([\unit{ \meter\kelvin\per\watt}]\) |
| \(R_{pipe}\) | Pipe wall thermal resistance per unit length \([\unit{ \meter\kelvin\per\watt}]\) |
| \(h_{air}\) | Combined air-film heat transfer coefficient ( \(h_{conv}\) + \(h_{rad}\)) \([\unit{ \watt\per\meter\squared\per\kelvin}]\) |
| \(q\) | Heat flow per unit area \([\unit{ \watt\per\meter\squared}]\) |
| \(T_{pipe}\) | Pipe inner surface (fluid) temperature \([\unit{ \kelvin}]\) |
| \(T_\infty\) | Ambient air temperature \([\unit{ \kelvin}]\) |
| \(q_L\) | Heat loss per unit length \([\unit{ \watt\per\meter}]\) |
| \(d_{pipe}\) | Pipe outer diameter \([\unit{ \meter}]\) |
| \(\pi\) | Mathematical constant pi \([\unit{ \unitless}]\) |
Annual heat loss for the full pipe length.
The converged heat loss per unit length is scaled by pipe length and annual operating time. Dividing by system efficiency converts heat loss at the pipe surface to the equivalent heat input required from the heating system.
\begin{equation}\label{eq:insulated-pipe-annual} Q_{annual} = \frac{q_L \cdot L \cdot t_{op}}{\eta}\end{equation}
| \(Q_{annual}\) | Annual heat loss \([\unit{ \watt\hour\per\year}]\) |
| \(q_L\) | Converged heat loss per unit length \([\unit{ \watt\per\meter}]\) |
| \(L\) | Total pipe length \([\unit{ \meter}]\) |
| \(t_{op}\) | Annual operating hours \([\unit{ \hour\per\year}]\) |
| \(\eta\) | Heating system efficiency (0–1) \([\unit{ \unitless}]\) |
Modules | |
| Thermal Resistance Formula | |
| Thermal resistance per unit length of a cylindrical shell. | |
| Reynolds Number Formula | |
| Reynolds number for external cross-flow over a cylinder. | |
| Rayleigh Number Formula | |
| Rayleigh number for natural convection from a horizontal cylinder. | |
| Forced-Convection Nusselt Number Formula | |
| Churchill–Bernstein correlation for forced convection over a cylinder in cross-flow. | |
| Free-Convection Nusselt Number Formula | |
| Churchill–Chu correlation for free convection from a horizontal cylinder. | |
| Combined Nusselt Number Formula | |
| Power-sum combination of forced and free convection Nusselt numbers. | |
| Convective Heat Transfer Coefficient Formula | |
| Convective heat transfer coefficient from the Nusselt number definition. | |
| Radiative Heat Transfer Coefficient Formula | |
| Linearized radiative heat transfer coefficient from the Stefan–Boltzmann law. | |
| Insulated Pipe Heat Loss Formula | |
| Heat loss per unit length for an insulated pipe. | |
| Bare Pipe Heat Loss Formula | |
| Heat loss per unit length for a bare (uninsulated) pipe. | |
| Annual Heat Loss Formula | |
| Annual heat loss for the full pipe length. | |
Files | |
| file | insulated_pipe_reduction.h |
| Declares structs and functions for the Insulated Pipe Reduction Calculator.Calculates heat loss per unit length and annual heat loss from a hot pipe, with or without thermal insulation. | |
Namespaces | |
| namespace | insulated_pipe_reduction |
| Insulated pipe heat loss calculations for treasure hunt measures. | |
Classes | |
| struct | insulated_pipe_reduction::InsulatedPipeInput |
| Input parameters for the insulated pipe heat loss calculation. More... | |
| struct | insulated_pipe_reduction::InsulatedPipeOutput |
| Output results for the insulated pipe heat loss calculation. More... | |
Functions | |
| InsulatedPipeOutput | insulated_pipe_reduction::calculate (const InsulatedPipeInput &input) |
| Calculates heat loss per unit length and annual heat loss for a pipe. | |
| InsulatedPipeOutput | insulated_pipe_reduction::insulatedPipeHeatLoss (const InsulatedPipeInput &input) |
| Calculates heat loss per unit length for a pipe with insulation. | |
| InsulatedPipeOutput | insulated_pipe_reduction::bareInsulatedPipeHeatLoss (const InsulatedPipeInput &input) |
| Calculates heat loss per unit length for an uninsulated (bare) pipe. | |
| double | insulated_pipe_reduction::thermalResistance (double diameter_a, double diameter_b, double diameter_c, double thermal_conductivity) |
| Computes the thermal resistance of a cylindrical shell. | |
| double | insulated_pipe_reduction::reynoldsNumber (double diameter, double wind_velocity, double kinematic_viscosity) |
| Computes the Reynolds number for external cross-flow over a cylinder. | |
| double | insulated_pipe_reduction::rayleighNumber (double expansion_coefficient, double surface_temperature, double ambient_temperature, double diameter, double kinematic_viscosity, double alpha) |
| Computes the Rayleigh number for natural convection from a horizontal cylinder. | |
| double | insulated_pipe_reduction::nusseltNumber (double nusselt_forced, double nusselt_free) |
| Combines forced and free convection Nusselt numbers using the Churchill–Bernstein power-sum rule. | |
| double | insulated_pipe_reduction::nusseltForcedConvection (double reynolds, double prandtl) |
| Computes the forced-convection Nusselt number for external flow over a cylinder using the Churchill–Bernstein correlation. | |
| double | insulated_pipe_reduction::nusseltFreeConvection (double rayleigh, double prandtl) |
| Computes the free-convection Nusselt number for a horizontal cylinder using the Churchill–Chu correlation. | |
| double | insulated_pipe_reduction::radiativeHeatTransferCoefficient (double emissivity, double surface_temperature, double ambient_temperature) |
| Computes the linearized radiative heat transfer coefficient. | |
| double | insulated_pipe_reduction::convectiveHeatTransferCoefficient (double nusselt, double air_conductivity, double diameter) |
| Computes the convective heat transfer coefficient from a Nusselt number. | |
| InsulatedPipeOutput insulated_pipe_reduction::bareInsulatedPipeHeatLoss | ( | const InsulatedPipeInput & | input | ) |
Iteratively solves for surface temperature using convection and radiation directly on the bare pipe outer surface. No insulation resistance is included.
| [in] | input | InsulatedPipeInput describing the bare pipe system (insulation_thickness is ignored). |
| InsulatedPipeOutput insulated_pipe_reduction::calculate | ( | const InsulatedPipeInput & | input | ) |
Dispatches to insulatedPipeHeatLoss or bareInsulatedPipeHeatLoss based on whether insulation thickness is positive. The iterative solver (max 30 iterations) converges when the change in heat loss per unit length is less than 0.0001 W/m.
| [in] | input | InsulatedPipeInput with all pipe and insulation geometry, material properties, and environmental conditions. |
| double insulated_pipe_reduction::convectiveHeatTransferCoefficient | ( | double | nusselt, |
| double | air_conductivity, | ||
| double | diameter | ||
| ) |
| [in] | nusselt | Combined Nusselt number \([\unit{\unitless}]\) |
| [in] | air_conductivity | Thermal conductivity of air at film temperature \([\unit{\watt\per(\meter\kelvin)}]\) |
| [in] | diameter | Outer diameter of the surface \([\unit{\meter}]\) |
| InsulatedPipeOutput insulated_pipe_reduction::insulatedPipeHeatLoss | ( | const InsulatedPipeInput & | input | ) |
Iteratively solves for surface temperature and pipe-insulation interface temperature using forced and free convection and radiation on the insulation jacket outer surface.
| [in] | input | InsulatedPipeInput describing the insulated pipe system. |
| double insulated_pipe_reduction::nusseltForcedConvection | ( | double | reynolds, |
| double | prandtl | ||
| ) |
| [in] | reynolds | Reynolds number \([\unit{\unitless}]\) |
| [in] | prandtl | Prandtl number of air at film temperature \([\unit{\unitless}]\) |
| double insulated_pipe_reduction::nusseltFreeConvection | ( | double | rayleigh, |
| double | prandtl | ||
| ) |
| [in] | rayleigh | Rayleigh number \([\unit{\unitless}]\) |
| [in] | prandtl | Prandtl number of air at film temperature \([\unit{\unitless}]\) |
| double insulated_pipe_reduction::nusseltNumber | ( | double | nusselt_forced, |
| double | nusselt_free | ||
| ) |
Uses the rule Nu = (Nu_forced^4 + Nu_free^4)^(1/4) to combine the two contributions.
| [in] | nusselt_forced | Forced-convection Nusselt number \([\unit{\unitless}]\) |
| [in] | nusselt_free | Free-convection Nusselt number \([\unit{\unitless}]\) |
| double insulated_pipe_reduction::radiativeHeatTransferCoefficient | ( | double | emissivity, |
| double | surface_temperature, | ||
| double | ambient_temperature | ||
| ) |
| [in] | emissivity | Surface emissivity (0–1) \([\unit{\unitless}]\) |
| [in] | surface_temperature | Outer surface temperature \([\unit{\kelvin}]\) |
| [in] | ambient_temperature | Ambient air temperature \([\unit{\kelvin}]\) |
| double insulated_pipe_reduction::rayleighNumber | ( | double | expansion_coefficient, |
| double | surface_temperature, | ||
| double | ambient_temperature, | ||
| double | diameter, | ||
| double | kinematic_viscosity, | ||
| double | alpha | ||
| ) |
| [in] | expansion_coefficient | Volumetric thermal expansion coefficient of air \([\unit{\per\kelvin}]\) |
| [in] | surface_temperature | Outer surface temperature \([\unit{\kelvin}]\) |
| [in] | ambient_temperature | Ambient air temperature \([\unit{\kelvin}]\) |
| [in] | diameter | Outer diameter of the cylinder \([\unit{\meter}]\) |
| [in] | kinematic_viscosity | Kinematic viscosity of air at the film temperature \([\unit{\meter\squared\per\second}]\) |
| [in] | alpha | Thermal diffusivity of air at the film temperature \([\unit{\meter\squared\per\second}]\) |
| double insulated_pipe_reduction::reynoldsNumber | ( | double | diameter, |
| double | wind_velocity, | ||
| double | kinematic_viscosity | ||
| ) |
| [in] | diameter | Outer diameter of the cylinder \([\unit{\meter}]\) |
| [in] | wind_velocity | Free-stream wind velocity \([\unit{\meter\per\second}]\) |
| [in] | kinematic_viscosity | Kinematic viscosity of air at the film temperature \([\unit{\meter\squared\per\second}]\) |
| double insulated_pipe_reduction::thermalResistance | ( | double | diameter_a, |
| double | diameter_b, | ||
| double | diameter_c, | ||
| double | thermal_conductivity | ||
| ) |
| [in] | diameter_a | Outer diameter of the shell \([\unit{\meter}]\) |
| [in] | diameter_b | Outer diameter used in the logarithm (numerator) \([\unit{\meter}]\) |
| [in] | diameter_c | Inner diameter used in the logarithm (denominator) \([\unit{\meter}]\) |
| [in] | thermal_conductivity | Thermal conductivity of the shell material \([\unit{\watt\per(\meter\kelvin)}]\) |