The regenerator enthalpy loss function 'regsim'
function qrloss = regsim(var)
% Evaluate the effectiveness and performance of the regenerator
% Israel Urieli, 7/23/2002 - Modified 2/15/2010
% modified 11/27/2010 to include 'no regenerator matrix'
% Arguments:
% var(22,37) array of variable values every 10 degrees (0 - 360)
% Returned value:
% qrloss - regenerator net enthalpy loss [J]
% Row indices of the var, array
TC = 1; % Compression space temperature (K)
TE = 2; % Expansion space temperature (K)
QK = 3; % Heat transferred to the cooler (J)
QR = 4; % Heat transferred to the regenerator (J)
QH = 5; % Heat transferred to the heater (J)
WC = 6; % Work done by the compression space (J)
WE = 7; % Work done by the expansion space (J)
W = 8; % Total work done (WC + WE) (J)
P = 9; % Pressure (Pa)
VC = 10; % Compression space volume (m^3)
VE = 11; % Expansion space volume (m^3)
MC = 12; % Mass of gas in the compression space (kg)
MK = 13; % Mass of gas in the cooler (kg)
MR = 14; % Mass of gas in the regenerator (kg)
MH = 15; % Mass of gas in the heater (kg)
ME = 16; % Mass of gas in the expansion space (kg)
TCK = 17; % Conditional temperature compression space / cooler (K)
THE = 18; % Conditional temeprature heater / expansion space (K)
GACK = 19; % Conditional mass flow compression space / cooler (kg/rad)
GAKR = 20; % Conditional mass flow cooler / regenerator (kg/rad)
GARH = 21; % Conditional mass flow regenerator / heater (kg/rad)
GAHE = 22; % Conditional mass flow heater / expansion space (kg/rad)
global matrix_type % m)esh or f)oil
global ar % regen internal free flow area [m^2]
global awgr % regen internal wetted area [m^2]
global dr % regen hydraulic diameter [m]
global tr % regen temperature [K]
global freq omega % cycle frequency [herz], [rads/s]
% Reynolds number over the cycle
for(i = 1:1:37)
gar(i) = (var(GAKR,i) + var(GARH,i))*omega/2;
gr = gar(i)/ar;
[mu,kgas,re(i)] = reynum(tr,gr,dr);
end
% average and maximum Reynolds number
sumre = 0;
remax = re(1);
for(i = 1:1:36)
sumre = sumre + re(i);
if (re(i) > remax)
remax = re(i);
end
end
reavg = sumre/36;
% Stanton number, number of transfer units, regenerator effectiveness
if (strncmp(matrix_type,'m',1))
[st,fr] = matrixfr(reavg);
elseif (strncmp(matrix_type,'f',1))
[st,ht,fr] = foilfr(dr,mu,reavg);
elseif (strncmp(matrix_type,'n',1))
[st,ht,fr] = foilfr(dr,mu,reavg);
end
ntu = st*awgr/(2*ar);
effect = ntu/(ntu + 1);
% Calculate qrloss
for (i=1:1:37)
qreg(i) = var(QR,i);
end
qrmin = min(qreg);
qrmax = max(qreg);
qrloss = (1 - effect)*(qrmax - qrmin);
% Regenerator simple analysis results:
fprintf('============ Regenerator Simple analysis =============\n')
fprintf('Average Reynolds number: %.1f\n', reavg);
fprintf('Maximum Reynolds number: %.1f\n', remax);
fprintf('Stanton number(Average Re): %.3f\n',st);
fprintf('Number of transfer units: %.1f\n',ntu);
fprintf('Regenerator effectiveness : %.3f\n',effect);
fprintf('Regenerator net enthalpy loss: %.1f[W]\n', qrloss*freq);
|
______________________________________________________________________________________
Stirling Cycle Machine Analysis by Israel
Urieli is licensed under a Creative
Commons Attribution-Noncommercial-Share Alike 3.0 United States
License