Computes the temperature inside a thin homogeneous cylindrical wall.

View versions (1)

Interface

#include <codecogs/engineering/thermodynamics/conduction/hm_cylinder.h>

using namespace Engineering::Thermodynamics::Conduction;

Consider the case of a thin homogeneous cylindrical wall with internal diameter d_1, external diameter d_2, length L, satisfying the inequalities:

\frac{d_1}{d_2} \approx 1
\qquad\qquad
\frac{L}{d_1} \gg 1
(1)

and having constant thermal conductivity \lambda at any of its points.

The conductive heat flow may be thought of as radial, thus by the law of conduction we have the following equation using cylindrical coordinates:

\frac{\mathrm{d}t}{\mathrm{d}x} = a \left(
\frac{\partial^2 t}{\partial r^2} + \frac{1}{r} \frac{\partial t}{\partial r} + \frac{1}{r^2} \frac{\partial^2 t}{\partial \varphi^2} + 
\frac{\partial^2 t}{\partial z^2}\right).
(2)

where a is the thermal diffusivity and r, z, \varphi are cylindrical coordinates.

For a radial heat flow and considering the x-axis along the length of the wall, the next equalities hold:

\frac{\partial t}{\partial r} = \frac{\mathrm{d}t}{\mathrm{d}r}, \qquad
\frac{\partial t}{\partial z} = \frac{\partial^2 t}{\partial z^2} = 0, \qquad
\frac{\partial t}{\partial \varphi} = \frac{\partial^2 t}{\partial \varphi^2} = 0.
(3)

Hence it is true that:

\frac{\mathrm{d}^2 t}{\mathrm{d}r^2} + \frac{1}{r} \frac{\mathrm{d}t}{\mathrm{d}r} = 0
(4)

which by integration and considering appropriate limit conditions, gives the formula for the temperature inside the cylindrical wall at a radius of r:

t(r) = t_1 - (t_1 - t_2) \frac{\mathrm{ln}\left(\frac{2r}{d_1}\right)}{\mathrm{ln}\left(\frac{d_2}{d_1}\right)}.
(5)

In the diagram below the value of the function t(r) is shown for a particular value of r.

1/hm_cylinder-378.jpg

Example 1

#include <codecogs/engineering/heat_transfer/conduction/hm_cylinder.h>
#include <stdio.h>
 
int main()
{
  // input data
  double r = 0.28, d1 = 0.5, d2 = 0.6,
        t1 = 45.7, t2 = 20.8;
 
  // display the various input data
  printf("Input data:\n\n");
  printf(" r = %.2lf\n", r);
  printf("d1 = %.2lf\nd2 = %.2lf\n", d1, d2);
  printf("t1 = %.2lf\nt2 = %.2lf\n\n", t1, t2);
 
  // compute the temperature inside the cylindrical wall
  double t = Engineering::Heat_Transfer::Conduction::hm_cylinder
  (r, d1, d2, t1, t2);
 
  // display the result
  printf("The temperature inside the cylindrical wall is:\n\n");
  printf("%.10lf\n\n", t);
 
  return 0;
}

Output:

Input data:

 r = 0.28
d1 = 0.50
d2 = 0.60
t1 = 45.70
t2 = 20.80

The temperature inside the cylindrical wall is:

30.2224870072

Parameters

r
the given radius (<i>meters</i>)
d1
the internal diameter of the cylindrical wall (<i>meters</i>)
d2
the external diameter of the cylindrical wall (<i>meters</i>)
t1
the temperature of the heat flow at the entry surface (<i>degrees Celsius</i>)
t2
the temperature of the heat flow at the exit surface (<i>degrees Celsius</i>)

Returns

The temperature at radius r within the cylindrical wall (<i>degrees Celsius</i>).

The following inequalities must always hold when passing various values to the function:

d_2 > d_1 > 0, \qquad
t_1 > t_2, \qquad
d_1 \leq 2r \leq d_2.
(6)

References

Dan Stefanescu, Mircea Marinescu - "Termotehnica"

GPL Licence — free for non commercial use. See Licence details.

Interactive Calculator

r
d1
d2
t1
t2
Result