engineeringheat_transferconduction

nhm sphere

Only available under a commercial licence
COST (GBP)
this unit 2.56
sub units 0.00
add a commercial licence to your cart
0
viewed 696 times
www.codecogs.com/d-ox/engineering/heat_transfer/conduction/nhm_sphere.php
Controller: CodeCogs    Contact Controller

Interface

#include <codecogs/engineering/heat_transfer/conduction/nhm_sphere.h>

using namespace Engineering::Heat_Transfer::Conduction;

std::vector<double> nhm_sphere (int n, double t1, double t2, double *d, double *lambda)
Computes the temperatures at contact surfaces between the layers of a spherical non-homogeneous wall.

Function Documentation

 
std::vector<double>nhm_sphereintn
doublet1
doublet2
double*d
double*lambda )
For a spherical non-homogeneous wall, formed by n layers of various diameters d_1, d_2, \ldots, d_n and thermal conductivities \lambda_1, \lambda_2, \ldots, \lambda_n the total conductive heat flow is unidirectional and is given by the following formula:

(1)
\displaystyle Q = 2\pi (t_1 - t_2) \left[ \sum_{i=1}^n \frac{1}{\lambda_i} 
\left( \frac{1}{d_{i-1}} - \frac{1}{d_i} \right) \right]^{-1}

where d_0 is the internal diameter of the spherical wall.

It is assumed that the i-th layer has constant thermal conductivity \lambda_i at any of its points.

The temperature at the contact surface between layer i and layer i + 1 will be denoted by ts_i, for any value of i between 1 and n-1. The value of these temperatures are obtained by considering the following equality relation between the total conductive heat flows which pass through each layer and the value of Q given above:

(2)
\displaystyle Q_1 = Q_2 = \ldots = Q_n = Q

where:

(3)
\displaystyle Q_k = 2 \pi (t_1 - ts_k) 
\left[ \sum_{i=1}^k \frac{1}{\lambda_i} 
\left( \frac{1}{d_{i-1}} - \frac{1}{d_i} \right) \right]^{-1}.

Hence we obtain the following formula:

(4)
\displaystyle ts_k = t_1 - \frac{Q}{2 \pi} \left[ \sum_{i=1}^k \frac{1}{\lambda_i} 
\left( \frac{1}{d_{i-1}} - \frac{1}{d_i} \right) \right]^{-1}
\qquad i = \overline{1, n-1}.

In the diagram below you may notice the temperatures t_1, ts_1, ts_2, \ldots, ts_{n-1}, t_2 which decrease while the heat flow passes through layers of increasing diameters and various thermal conductivities.

1/nhm_sphere0-378.jpg
Example:
#include <codecogs/engineering/heat_transfer/conduction/nhm_sphere.h>
#include <stdio.h>
 
int main()
{
  // input data
  int n = 4;
  double t1 = 75.0, t2 = 20.0,
  d[5] = {0.1, 0.15, 0.2,  0.25, 0.35},
  lambda[4] = {0.75, 0.95, 1.2,  1.0};
 
  // display the various input data
  printf("Input values:\n\n");
  printf(" n = %d\nt1 = %.2lf\nt2 = %.2lf\n\n", n, t1, t2);
  printf("diameters:\n(");
  int i;
  for (i = 0; i < n; i++)
    printf("%.2lf, ", d[i]);
  printf("%.2lf)\n\n", d[n]);
  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_sphere
  (4, t1, t2, d, 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 = 4
t1 = 75.00
t2 = 20.00
 
diameters:
(0.10, 0.15, 0.20, 0.25, 0.35)
 
lambda:
(0.75, 0.95, 1.20, 1.00)
 
 
The temperatures at contact surfaces between layers are:
 
(45.09862, 33.29544, 27.68893)
Parameters:
nthe number of layers
t1the temperature of the heat flow at the entry surface (degrees Celsius)
t2the temperature of the heat flow at the exit surface (degrees Celsius)
dan array with the diameters of the layers (meters)
lambdaan 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).
Note:
The inequality t_1 > t_2 must always hold when passing values to the function. Also the diameters array must be given in increasing order, thus:
(5)
\displaystyle d_0 < d_1 < d_2 < \ldots < d_n.
References:
Dan Stefanescu, Mircea Marinescu - "Termotehnica"
Authors:
Grigore Bentea, Lucian Bentea (October 2006)
Source Code:
Register

- To get code register with CodeCogs. Already a Member, then Login.


Last Modified: 18 Oct 07 @ 17:07     Page Rendered: 2008-05-08 13:52:33

Page Comments

  You must login to leave a messge


Valid CSS!   Valid XHTML 1.0 Transitional