Thermal Conductivities with ktcalc, ktpcalc and mixkt

The ktcalc function has limited use since it is accurate only for monatomic gases.

function KT = ktcalc (T,index)

% Chapman-Enskog formula for thermal conductivity of monatomic gas at low
%   density
%
% function K = ktcalc(T,index)
%
% Argument List:
%   T     [=] temperature in the units of Tdeg
%   index [=] index of compounds in cnms whose coefficients are to be found
%              (If this argument is omitted, all coefficients will be found.)
% Returns:
%   K     [=] heat transfer coefficient in units of W/m/K
%
% Ex:  >> clear
%      >> start402
%      >> kt = ktcalc(298, 1)
%      kt =
%          0.0197         Created 3/21/95-2 Jim Lee

global mw lenjones
M = mw';

lj = checklj;

T=at(T);
if nargin==1
  [mu omega_k D] = omegacalc(T./lj(:,2));
  KT = 1.9891e-4 * sqrt(T./M) ./ (lj(:,1).^2.*omega_k) * 418.3925;
else
  [mu omega_k D] = omegacalc(T./lj(index,2));
  KT = 1.9891e-4 * sqrt(T./M(index)) ./ (lj(index,1).^2.*omega_k) * 418.3925;
end

% This file was created by m2html.

Here is an execution of that program after loading the t402 workspace so we can compare our results with BS&L: 

>>load t402
>>ktcalc(373.2,4)
ans =
    0.0562  <-- Conductivity of Ne at 373.4 in W/m/K

BS&L calculated 1.338e-04 cal/cm/s/K and said this compared well with the experimental value: 1.35e-04 cal/cm/s/K. Changing units with convu shows a good agreement with the program.


0.5620000E-01W/(m*K) = 0.1343236E-03cal/(cm*s*K)

If we try the same program for a polyatomic gas even at low densities, we may find poor correlation with experiment. For example oxygen at 300K is reported to have an experimental value of 6.35e-05 cal/cm/s/K or:


0.6350000E-04cal/(cm*s*K) = 0.2656793E-01W/(m*K)

We would find with ktcalc:

>>ktcalc(300,2)
ans =
    0.0201  <-- Compared to .0266 as the experimental value

The program ktpcalc agrees better with experiment for polyatomic gases:

function KTP = ktpcalc (T,index)

% Eucken formula for thermal conductivity of polyatomic gas at low density
%
% function K = ktpcalc(T,index)
%
% Argument List:
%   T     [=] temperature in the units of Tdeg
%   index [=] index of compounds in cnms whose coefficients are to be found
%              (If this argument is omitted, all coefficients will be found.)
% Returns:
%   K     [=] heat transfer coefficient in units of W/m/K
%
% Ex:  >> clear
%      >> start402
%      >> ktp = ktpcalc(298, 1)
%      ktp =
%           0.0197               Created 3/21/95-2 Jim Lee, corrected 3/16/99 by SHD

global mw lenjones cpv cnms
M = mw';
mu = mucalc(T);
T=at(T);
[row col] = size(cpv);
for counter=1:row
  if cpv(counter,:) == [0 0 0 0 0]
    fprintf('Heat capacity data for compound *%s* is not available.\n',cnms(counter,:))
    disp('Taking heat capacity as 33.314 J/mol/K...')
    Cp(counter,1) = 33;
  else
    Cp(counter,1) = polyval(cpv(counter,col:-1:1),T);
  end
end

R = 8.3145;

if nargin==1
  KTP = (Cp+1.25*R).*mu./M*1000;
else
  KTP = (Cp(index)+1.25*R).*mu(index)./M(index)*1000;
end

% This file was created by m2html.

 

It gives for oxygen at 300K: 

>>ktpcalc(300,2)
ans =
    0.0257  <-- Closer to 0.266E-01W/(m*K) from experiments.

The program mixkt is similar to mixmu:

function kt=mixkt(zs,T,j)
% mixmu(zs,T,j) finds the thermal conductivity of a 
% low density gas mixture
% zs gives the mol fraction of each compound
% T gives the temperature in the units of Tdeg
% j gives the indices of the compounds (if missing it includes
%   all compounds.)  zs must be consistent with j.
% Based on equations 8.3-17 & 18 in BS&L
% The thermal conductivity is given in W/m/K
global mw
if nargin<3
   j=1:length(mw);
end
phi=mixphi(T,j);
kts=ktpcalc(T,j);
den=phi*zs';
kt=zs*(kts./den);

% This file was created by m2html.

>>mixkt([0.133 0.039 0.828],293,1:3)
ans =
    0.0231
0.2310000E-01W/(m*K) = 0.5521130E-04cal/(cm*s*K)

BS&L calculated 0.584e-04 cal/(cm*s*K).