CodeCogs
HomeForumsCart
Login



Forgotten Password?

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com
COST (GBP)
this unit 3.74
sub units 0.00
+
0

nhm plane

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

Interface

C++

Nhm Plane

 
std::vector<double>nhm_planeintn
doublet1
doublet2
double*delta
double*lambda )
For a planar non-homogeneous wall, formed by n layers of various thicknesses \inline \delta_1, \delta_2, \ldots, \delta_n and thermal conductivities \inline \lambda_1, \lambda_2, \ldots, \lambda_n, 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 \inline \lambda_i at any of its points.

The temperature at the contact surface between layer \inline i and layer \inline i + 1 is denoted by \inline tw_i, for any value of \inline i between 1 and \inline n-1. 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 \inline q 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.

1/nhmplane-378.jpg
+

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 \inline t_1 > t_2 must always hold when passing values to the function.

References

Dan Stefanescu, Mircea Marinescu - "Termotehnica"

Parameters

nthe number of layers
t1the temperature of the heat flow at the entry surface (<i>degrees Celsius</i>)
t2the temperature of the heat flow at the exit surface (<i>degrees Celsius</i>)
deltaan array with the thicknesses of the layers (<i>meters</i>)
lambdaan array with the thermal conductivities of the layers (<i>Watts per meter Celsius</i>)

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.


Last Modified: 18 Oct 07 @ 17:07     Page Rendered: 2022-03-19 21:41:25