Computes the temperatures at contact surfaces between the layers of a planar non-homogeneous wall.
View version details
Contents  |
|
Interface
#include <codecogs/engineering/heat_transfer/conduction/nhm_plane.h>
using namespace Engineering::Heat_Transfer::Conduction;
| std::vector<double> | nhm_plane (int n, double t1, double t2, double *delta, double *lambda) Computes the temperatures at contact surfaces between the layers of a planar non-homogeneous wall. |
Function Documentation
For a planar non-homogeneous wall, formed by
n layers of various thicknesses

and thermal conductivities

, the conductive heat flow per unit area is unidirectional and is given by the following formula:
It is assumed that the
i-th layer has constant thermal conductivity

at any of its points.
The temperature at the contact surface between layer

and layer

is denoted by

, for any value of

between 1 and

. The value of these temperatures are obtained by considering the following equality relation between the conductive heat flows per unit area which pass through each layer and the value of

given above:
where:
Hence we obtain the following formula:
In the diagram below you may notice that the temperature decreases linearly while the heat flow passes through layers of various thicknesses and thermal conductivities.
Example 1:
#include <codecogs/engineering/heat_transfer/conduction/nhm_plane.h>
#include <stdio.h>
int main()
{
// input data
int n = 3;
double t1 = 22.73, t2 = -15.4,
delta[3] = { 0.1, 0.15, 0.2},
lambda[3] = {0.75, 0.95, 1.2};
// display the various input data
printf("Input values:\n\n");
printf(" n = %d\nt1 = %.2lf\nt2 = %.2lf\n\n", n, t1, t2);
printf("delta:\n(");
int i;
for (i = 0; i < n - 1; i++)
printf("%.2lf, ", delta[i]);
printf("%.2lf)\n\n", delta[n - 1]);
printf("lambda:\n(");
for (i = 0; i < n - 1; i++)
printf("%.2lf, ", lambda[i]);
printf("%.2lf)\n\n", lambda[n - 1]);
// compute the temperatures at the contact surfaces between all layers
std::vector<double> result =
Engineering::Heat_Transfer::Conduction::nhm_plane
(3, t1, t2, delta, lambda);
// display the results
printf("\nThe temperatures at contact surfaces between layers are:\n\n");
printf("(");
for (i = 0; i < result.size() - 1; i++)
printf("%.5lf, ", result[i]);
printf("%.5lf)\n\n", result[result.size() - 1]);
return 0;
}
Output:
Input values:
n = 3
t1 = 22.73
t2 = -15.40
delta:
(0.10, 0.15, 0.20)
lambda:
(0.75, 0.95, 1.20)
The temperatures at contact surfaces between layers are:
(11.62701, -1.52126)
Note:
- The inequality
must always hold when passing values to the function.
References:
- Dan Stefanescu, Mircea Marinescu - "Termotehnica"
Parameters:
| n | the number of layers |
| t1 | the temperature of the heat flow at the entry surface (degrees Celsius) |
| t2 | the temperature of the heat flow at the exit surface (degrees Celsius) |
| delta | an array with the thicknesses of the layers (meters) |
| lambda | an array with the thermal conductivities of the layers (Watts per meter Celsius) |
Returns:
- A vector containing the temperatures at the contact surfaces between all layers (degrees Celsius).
Authors:
- Grigore Bentea, Lucian Bentea (October 2006)
Page Comments
You must login to leave a messge
Last Modified: 18 Oct 07 @ 17:07 Page Rendered: 2010-03-11 21:39:32