Professional Documents
Culture Documents
m 1 of 7
reynoldsNumberTubeSide = densityTube*velocityTube*dI/viscosityTube;
prantlNumberTube = heatCapacityTube*viscosityTube/thermalConductivityTube;
khtOneTube =1.86*thermalConductivityTube/dI*(densityTube*dI*prantlNumberTube*dI/
(viscosityTube*initialTubeLength))^(1/3);
tubeSideHeatTransferCoefficient = khtOneTube*velocityTube^(1/3);
%turbulent flow
khtOneTube = c*thermalConductivityTube/dI*prantlNumberTube^0.4*
(densityTube*dI/viscosityTube)^0.8;
tubeSideHeatTransferCoefficient = khtOneTube*velocityTube^0.8;
%transition flow
khtOneTube = 0.116*(thermalConductivityTube/dI)*((densityTube*dI/viscosityTube)^(2/3))*
(prantlNumberTube^(1/3))*(1+(dI/initialTubeLength)^(2/3));
khtTwoTube = 14.5*(thermalConductivityTube/dI)*(prantlNumberTube^(1/3))*(1+
(dI/initialTubeLength)^(2/3));
reynoldsNumberShell = densityShell*do*velocityShell/viscosityShell;
khsShell = 0.08747*fp*fL*js*(thermalConductivityShell^(2/3))*(heatCapacityShell^
(1/3))*densityShell^0.6633/((viscosityShell^(0.33))*((do^0.3367)*(bc^0.5053)));
shellSideHeatTransferCoefficient = khsShell*velocityShell^(0.6633);
khsOneShell = -3.722810^(-5)*fp*fL*js*thermalConductivityShell^(2/3)
*heatCapacityShell*(viscosityShell)^(1/3)/(viscosityShell^(2/3));
khsTwoShell = 0.03843*fp*fL*js*thermalConductivityShell^(2/3)*
(heatCapacityShell*viscosityShell)^(1/3)/(viscosityShell^(2/3));
khsThreeShell = 1.104*fp*fL*js*thermalConductivityShell^(2/3)*
(heatCapacityShell*viscosityShell)^(1/3)/do;
shellSideHeatTransferCoefficient = khsOneShell*velocityShell^2 +
khsTwoShell*velocityShell + khsThreeShell;
else
display('ERROR shell side reynolds number exceeds allowable values for heat transfer
calculations')
display('Please enter new values')
return
end
12/23/19 9:25 PM C:\Users\Morgan...\CME455Project3Part1.m 3 of 7
inverseOverallHeatTransferCoefficient = 1/shellSideHeatTransferCoefficient +
1/foulingCoeffShell + do/(2*thermalConductivityExchanger)*log(do/dI)+ (do/dI)*
(1/foulingCoeffTube + 1/tubeSideHeatTransferCoefficient);
overallHeatTransferCoefficient = 1/inverseOverallHeatTransferCoefficient;
%calculate ft
if runMethod == 1
tubeLength = initialTubeLength;
shadeArea = cl*pT^2;
ds =((4*ftc*fsc*pc*pT^2*areaEstimate)/(pi^2*do*tubeLength))^(1/2);
numberTubesPreliminary = ctp*(pi*ds^2/4)/shadeArea;
numberTubes = ceil(numberTubesPreliminary);
if isodd ~= 0
numberTubes = numberTubes + 1;
end
numberTubesPreliminary = flowrateTube*numberPassesTube/
(densityTube*pi*dI^2/4*velocityTube);
numberTubes = ceil(numberTubesPreliminary);
if isodd ~= 0
numberTubes = numberTubes + 1;
end
tubeLength = areaEstimate/(pi*do*numberTubes);
ds =((4*ftc*fsc*pc*pT^2*areaEstimate)/(pi^2*do*tubeLength))^(1/2);
else
display('ERROR: Please enter a valid method number')
return
end
calculation')
display('Please enter new values')
return
end
kptOneTube = 2*fc*(densityTube*dI/viscosityTube)^(mf)*densityTube/dI;
kptTwoTube = 0.5*ar*densityTube;
vtnInletTube = flowrateTube/(densityTube*(pi*dNTinlet^2/4));
vtnOutletTube = flowrateTube/(densityTube*(pi*dNToutlet^2/4));
pressureDropTubeSide = kptOneTube*numberPassesTube*tubeLength*velocityTube^(2+mf) +
kptTwoTube*velocityTube^(2) + kptThreeTube;
else
a = 0.01166;
b= 0.002935;
end
return
end
numberBafflesPreliminary = tubeLength/(baffleSpacing) - 1;
numberBaffles = ceil(numberBafflesPreliminary);
rs = (baffleSpacing/baffleSpacingIn)^(1.8) + (baffleSpacing/baffleSpacingOut)^(1.8);
de = cde*(pT^2/do) - do;
vnsInletShell = flowrateShell/(densityShell*pi*dNSinlet^2/4);
vnsOutletShell = flowrateShell/(densityShell*pi*dNSoutlet^2/4);
%create matrices
tubeSideHeatTransferCoefficientTable(n) = tubeSideHeatTransferCoefficient;
shellSideHeatTransferCoefficientTable(n) = shellSideHeatTransferCoefficient;
overallHeatTransferCoefficientTable(n) = overallHeatTransferCoefficient;
pressureDropShellSideTable(n) = pressureDropShellSide;
12/23/19 9:25 PM C:\Users\Morgan...\CME455Project3Part1.m 7 of 7
pressureDropTubeSideTable(n) = pressureDropTubeSide;
tubeLengthTable(n) = initialTubeLength;
initialTubeLength = tubeLength;
n = n + 1;
end
%% Function output
combinedResults = array2table(resultsPreliminary,'VariableNames',
{'Initial_Tube_Length_m',
'Tube_Side_Heat_Transfer_Coefficient_W_per_m2k','Shell_Side_Heat_Transfer_Coefficient_W_
per_m2k','Overall_Heat_Transfer_Coefficient_W_per_m2k','Pressure_Drop_Tube_Side_N_per_m2
','Pressure_Drop_Shell_Side_N_per_m2'});