modelSTHX_ShellSide_BellDelaware

Extends from Modelica.Fluid.Interfaces.PartialTwoPort (Partial component with two ports).

Information

Entry pipes (a/b) and nozzels do not participate in heat transfer in the shell.

Staic pressure head (elevation change) is assumed to be linear spaced between nozzles in the window sections.

Parameters

TypeNameDefaultDescription
RealnParallel1# of identical parallel shell-sides
BooleanisGasfalsetrue if Medium is a gas
Realnp0Gas specific exponential correction factor (e.g., air = 0; N2 = 0.12)
Realn_Tn_tubes + n_bsTotal # of tubes (including blind and support)
Realn_Wn_W_tubes + n_W_bsTotal # of tubes in both the upper and lower window (including blind and support)
IntegernNodes_intTotalnNodes_endCross + (nb - 1)*(nNodes_window + nNodes_centerCross) + nNodes_window + nNodes_endCrossTotal number of nodes internal to the shell (i.e., not including nozzles and entry pipes)
IntegernNodes_TotalnNodes_entryPipe_a + nNodes_nozzle + nNodes_intTotal + nNodes_nozzle + nNodes_entryPipe_bTotal number of nodes in the shell-side (i.e., including nozzles and entry pipes)
SI.Lengthdheight_windowsdheight_shell/nb
SI.Lengthheights_shell{if i == 1 then entryPipe_a.height_b else heights_shell[i - 1] + dheight_windows for i in 1:nb + 1}
SI.Lengthheights_shell_aheights_shell[1:nb]
SI.Lengthheights_shell_bheights_shell[2:nb + 1]
Realgamma2*Modelica.Math.acos(1 - 2*H/D_l)*180/pi
Realas1/d_o
Realbs2/d_o
Realc((a/2)^2 + b^2)^(0.5)
SI.Lengthe(if toggleStaggered then (if b >= 0.5*(2*a + 1)^(0.5) then (a - 1)*d_o else (c - 1)*d_o) else (a - 1)*d_o)
SI.LengthL_E2*e1 + e*nes
SI.AreaA_EcenterS*L_EApproximate flow area for centerCross region
SI.LengthU_Ecenter2*pi*D_i*(360 - gamma)/360 + 2*S*(nes + 1) + 2*L_EApproximate wetted perimeter for centerCross region
SI.AreaA_Eend_aS_E_a*L_EApproximate flow area for endCross region
SI.LengthU_Eend_a2*pi*D_i*(360 - gamma)/360 + 2*S_E_a*(nes + 1) + 2*L_EApproximate wetted perimeter for endCross region
SI.AreaA_Eend_bS_E_b*L_EApproximate flow area for endCross region
SI.LengthU_Eend_b2*pi*D_i*(360 - gamma)/360 + 2*S_E_b*(nes + 1) + 2*L_EApproximate wetted perimeter for endCross region
SI.AreaA_WTpi/4*D_i^2*gamma/360 - (D_l - 2*H)*D_l/4*Modelica.Math.sin(gamma/2*pi/180)
SI.AreaA_Tpi/4*d_o^2*n_W/2
SI.AreaA_WA_WT - A_TApproximate flow area for window region
SI.LengthU_Wpi*D_i*gamma/360 + pi*d_o*n_W/2Approximate wetted perimeter for window region
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)system.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
Static head
SI.Lengthheight_a0Elevation at port_a: Reference value only. No impact on calculations.
SI.Lengthdheight_entryPipe_a0Height(shell inlet nozzle midpoint) - Height(port_a)
SI.Lengthdheight_shell0Height(shell outlet nozzle midpoint) - Height(shell inlet nozzle midpoint)
SI.Lengthdheight_entryPipe_b0Height(port_b) - Height(shell outlet nozzle midpoint)
Shell Side Part 1 › General Shell Parameters
BooleantoggleStaggeredtruetrue = staggered grid type; false = in-line
Realn_tubesTotal # of heat transfer tubes (n_T = n_bs + n_tubes)
Realn_bs0Total # of blind and support rods
SI.LengthDBD_iTube bundle diameter
SI.LengthD_BEDBDiameter of circle that touches outermost tubes
SI.Lengthd_oOuter diameter of tubes
SI.Lengthe10Space between tubes and shell
Realnes# of shortest connections connecting neighboring tubes
Shell Side Part 1 › Cross Flow Section Parameters
SI.LengthD_iInside shell diameter
Realn_MR# of main resistances in cross flow path
Realn_MRE# of main resistances in end cross flow path
Shell Side Part 1 › Window Section Parameters
Realn_W_tubesTotal # of heat transfer tubes in both the upper and lower window
Realn_W_bs0Total # of blind and support rods in uppper and lower window
Realn_RW# of tube rows in a window section
Realn_s0# of pairs of sealing strips
Shell Side Part 2 › Baffle Parameters
Integernb2# of baffles
SI.LengthHD_i/5Height of baffle cut
SI.LengthD_lD_iBaffle Diameter
SI.Lengthd_Bd_oDiameter of holes in baffles
SI.Lengths1Tube to tube pitch parallel to baffel edge
SI.Lengths2Tube to tube pitch perpindicular to baffel edge
SI.LengthSBaffle spacing between baffles
SI.LengthS_E_aSport a baffle spacing between the heat exchanger sheets and adjacent baffles
SI.LengthS_E_bSport b baffle spacing between the heat exchanger sheets and adjacent baffles
SI.Lengthth_B0Baffle thickness
Shell Side Part 2 › Entry/Exit Region Parameters
SI.Lengthd_N_aNozzle a diameter
SI.Lengthd_N_bNozzle b diameter
SI.Lengthlength_entryPipe_a0.001Length of entryPipe_a
SI.Lengthlength_entryPipe_b0.001Length of entryPipe_b
SI.Heightroughness_entryPipe_a2.5e-5Avg. height of surface asperities
SI.Heightroughness_entryPipe_b2.5e-5Avg. height of surface asperities
Assumptions › Dynamics
Modelica.Fluid.Types.DynamicsenergyDynamicssystem.energyDynamicsFormulation of energy balances
Modelica.Fluid.Types.DynamicsmassDynamicssystem.massDynamicsFormulation of mass balances
Modelica.Fluid.Types.DynamicsmomentumDynamicssystem.momentumDynamicsFormulation of momentum balances
Initialization › Start Value: Absolute Pressure
Medium.AbsolutePressurep_a_startsystem.p_startPressure at port a
Medium.AbsolutePressurep_b_startp_a_startPressure at port b
Medium.AbsolutePressureps_startlinspace(p_a_start, p_b_start, nNodes_Total)Pressures {port_a,...,port_b}
Initialization › Start Value: Temperature
Booleanuse_Ts_starttrueUse T_start if true, otherwise h_start
Medium.TemperatureT_a_startsystem.T_startTemperature at port a
Medium.TemperatureT_b_startT_a_startTemperature at port b
Medium.TemperatureTs_startif use_Ts_start then cat(1, fill(T_a_start, nNodes_entryPipe_a + nNodes_nozzle), linspace(T_a_start, T_b_start, nNodes_intTotal), fill(T_b_start, nNodes_entryPipe_b + nNodes_nozzle)) else {Medium.temperature_phX(ps_start[i], hs_start[i], X_start) for i in 1:nNodes_Total}Temperatures {a,...,b}
Initialization › Start Value: Specific Enthalpy
Medium.SpecificEnthalpyh_a_startMedium.specificEnthalpy_pTX(p_a_start, T_a_start, X_start)Specific enthalpy at port a
Medium.SpecificEnthalpyh_b_startMedium.specificEnthalpy_pTX(p_b_start, T_b_start, X_start)Specific enthalpy at port b
Medium.SpecificEnthalpyhs_startif use_Ts_start then {Medium.specificEnthalpy_pTX(ps_start[i], Ts_start[i], X_start) for i in 1:nNodes_Total} else cat(1, fill(h_a_start, nNodes_entryPipe_a + nNodes_nozzle), linspace(h_a_start, h_b_start, nNodes_intTotal), fill(h_b_start, nNodes_entryPipe_b + nNodes_nozzle))Specific enthalpies {a,...,b}
Initialization › Start Value: Mass Fractions
Modelica.Media.Interfaces.Types.MassFraction[Medium.nX]X_startMedium.X_defaultMass fractions m_i/m
Initialization › Start Value: Trace Substances
Modelica.Media.Interfaces.Types.ExtraProperty[Medium.nC]C_startfill(0, Medium.nC)Trace substances
Initialization › Start Value: Mass Flow Rate
SI.MassFlowRatem_flow_startsystem.m_flow_startMass flow rate
Advanced
IntegernNodes_entryPipe_a1Number of discrete flow volumes in entryPipe_a
IntegernNodes_entryPipe_b1Number of discrete flow volumes in entryPipe_a
IntegernNodes_nozzle1Number of discrete flow volumes in each nozzle
IntegernNodes_endCross1Number of discrete flow volumes in each endCross segment
IntegernNodes_window1Number of discrete flow volumes in each window segment
IntegernNodes_centerCross1Number of discrete flow volumes in each centerCross segment
Modelica.Fluid.Types.ModelStructuremodelStructureModelica.Fluid.Types.ModelStructure.av_bDetermines whether flow or volume models are present at the ports

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.HeatPorts_aheatPorts_a

Components

TypeNameDefaultDescription
Modelica.Fluid.Systemsystem (from PartialTwoPort)System wide properties
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfaceentryPipe_aThis pipe serves to capture the pressure drop not captued by the nozzle dP (i.e., length and static dP), if any, for nozzle_a
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfacenozzle_a
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfaceendCross_a
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfacewindow
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfacecenterCross
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfacewindow_b
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfaceendCross_b
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfacenozzle_b
TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurfaceentryPipe_bThis pipe serves to capture the pressure drop not captued by the nozzle dP (i.e., length and static dP), if any, for nozzle_b
SI.AreasurfaceArea_total_outputTotal heat transfer surface area
SI.CoefficientOfHeatTransferalpha_avg_outputAverage heat transfer coefficient
SI.ThermalResistanceR_conv_outputAveragethermal resistance to convective heat transfer
SI.CoefficientOfHeatTransferalphas_outputVolume node heat transfer coefficient
SI.AreasurfaceAreas_outputHeat transfer surface area
SI.TemperatureTs_medium_outputMedium temperature
SI.TemperatureTs_wall_outputWall temperature