Computes the temperature inside a thin homogeneous cylindrical wall.

View versions (2)

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{\partial t}{\partial \tau} = 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)

Also, assuming steady-state conditions, the temperature does not vary with time, so $\frac{\partial t}{\partial \tau} = 0$. 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/thermodynamics/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::Thermodynamics::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