I have forgotten

• https://me.yahoo.com
COST (GBP)
3.74
0.00
0

# nhm plane

Computes the temperatures at contact surfaces between the layers of a planar non-homogeneous wall.
Controller: CodeCogs
Contents

C++

## Nhm Plane

 std::vectornhm_plane( int n double t1 double t2 double* delta double* lambda )
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>i</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 (<i>degrees Celsius</i>).

### Authors

Grigore Bentea, Lucian Bentea (October 2006)
##### Source Code

Source code is available when you buy a Commercial licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.