The regenerator connects the heater and cooler, hence in addition to evaluating the heat transfer from the regenerator matrix to the working gas, it is necessary to determine the conduction heat leakage through the regenerator housing. The housing can either be tubular or annular, and this learning resource includes two regenerator matrix types, either wire mesh matrix (as in the Ford-Philips 4-215 engine) or a wrapped foil matrix (as in the D-90 Ross Yoke-drive engine). We also consider the case of no regenerator matrix, in which the wetted area of the housing takes the role of the regenerator matrix (as in the Lehmann engine analyzed by Schmidt). The purpose of the regenerator functions is to specify values for the global variables subsequently used in the Schmidt analysis, Ideal Adiabatic or Simple simulations. Each global variable has the subscript r for heater and k for cooler (subscript c is used for compression space in the engine routines). The variables are defined as follows:
vr = void
volume (cu.m) - used only in the Schmidt and Ideal Adiabatic
functions
The following variables are used only in the Simple
simulation.
lr = regenerator effective length (m)
cqwr =
regenerator housing thermal conductance (W/K)
ar = regenerator
internal free flow area (sq.m)
awgr0 = no matrix regenerator
wetted area (sq.m)
awgr = regenerator wetted area (sq.m)
dr =
regenerator hydraulic diameter (m) – refer to Chapter
5a - Scaling Parameters
The following five MATLAB functions in the regen.m function module specify all the above global variable values.
function regen % Specifies regenerator geometric and thermal properties % Israel Urieli 04/20/02 (modified 12/01/03) % modified 2/12/2010 to include awgr0 (wetted area) % modified 11/27/2010 to include 'no regenerator matrix' global lr % regenerator effective length [m] global awgr0 % no matrix regenerator wetted area [m^2] global cqwr % regenerator housing thermal conductance [W/K] global new fid % new data file regen_type = 'u'; while(strncmp(regen_type,'u',1)) if(strncmp(new,'y',1)) fprintf('Available regenerator configurations are:\n') fprintf(' t, for tubular regenerator set\n') fprintf(' a, for annular regenerator\n') regen_type = input('enter regenerator configuration ','s'); fprintf(fid, '%c\n', regen_type(1)); else fscanf(fid, '%c',1); % bypass the previous newline character regen_type = fscanf(fid, '%c',1); end if(strncmp(regen_type,'t',1)) printf('tubular regenerator housing\n') if(strncmp(new,'y',1)) dout = input('enter tube housing external diameter [m] : '); domat = input('enter tube housing internal diameter [m] : '); lr = input('enter regenerator length [m] : '); num = input('enter number of tubes : '); fprintf(fid, '%.3e\n', dout); fprintf(fid, '%.3e\n', domat); fprintf(fid, '%.3e\n', lr); fprintf(fid, '%d\n', num); else dout = fscanf(fid, '%e',1); domat = fscanf(fid, '%e',1); lr = fscanf(fid, '%e',1); num = fscanf(fid, '%d',1); end dimat = 0; awgr0 = num*pi*domat*lr; elseif(strncmp(regen_type,'a',1)) fprintf('annular regenerator housing\n') if(strncmp(new,'y',1)) dout = input('enter housing external diameter [m] : '); domat = input('enter housing internal diameter [m] : '); dimat = input('enter matrix internal diameter [m] : '); lr = input('enter regenerator length [m] : '); fprintf(fid, '%.3e\n', dout); fprintf(fid, '%.3e\n', domat); fprintf(fid, '%.3e\n', dimat); fprintf(fid, '%.3e\n', lr); else dout = fscanf(fid, '%e',1); domat = fscanf(fid, '%e',1); dimat = fscanf(fid, '%e',1); lr = fscanf(fid, '%e',1); end num = 1; awgr0 = pi*(dimat + domat)*lr; else fprintf('regenerator configuration is undefined\n') regen_type = 'u'; end end amat = num*pi*(domat*domat - dimat*dimat)/4; % regen matrix area awr = num*pi*(dout*dout - domat*domat)/4; % regen housing wall area %########temporary fix (4/20/02): kwr = 25; % thermal conductivity [W/m/K] % note that stainless steel thermal conductivity is temp dependent % 25 W/m/K for normal engine conditions, % 6 W/m/K for cryogenic coolers. cqwr = kwr*awr/lr; % regen wall thermal conductance [W/K] matrix(amat); %=============================================================== |
______________________________________________________________________________________
Stirling Cycle Machine Analysis by
Israel
Urieli is licensed under a Creative
Commons Attribution-Noncommercial-Share Alike 3.0 United States
License