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
| Type | Name | Default | Description |
|---|---|---|---|
| Real | nParallel | 1 | # of identical parallel shell-sides |
| Boolean | isGas | false | true if Medium is a gas |
| Real | np | 0 | Gas specific exponential correction factor (e.g., air = 0; N2 = 0.12) |
| Real | n_T | n_tubes + n_bs | Total # of tubes (including blind and support) |
| Real | n_W | n_W_tubes + n_W_bs | Total # of tubes in both the upper and lower window (including blind and support) |
| Integer | nNodes_intTotal | nNodes_endCross + (nb - 1)*(nNodes_window + nNodes_centerCross) + nNodes_window + nNodes_endCross | Total number of nodes internal to the shell (i.e., not including nozzles and entry pipes) |
| Integer | nNodes_Total | nNodes_entryPipe_a + nNodes_nozzle + nNodes_intTotal + nNodes_nozzle + nNodes_entryPipe_b | Total number of nodes in the shell-side (i.e., including nozzles and entry pipes) |
| SI.Length | dheight_windows | dheight_shell/nb | |
| SI.Length | heights_shell | {if i == 1 then entryPipe_a.height_b else heights_shell[i - 1] + dheight_windows for i in 1:nb + 1} | |
| SI.Length | heights_shell_a | heights_shell[1:nb] | |
| SI.Length | heights_shell_b | heights_shell[2:nb + 1] | |
| Real | gamma | 2*Modelica.Math.acos(1 - 2*H/D_l)*180/pi | |
| Real | a | s1/d_o | |
| Real | b | s2/d_o | |
| Real | c | ((a/2)^2 + b^2)^(0.5) | |
| SI.Length | e | (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.Length | L_E | 2*e1 + e*nes | |
| SI.Area | A_Ecenter | S*L_E | Approximate flow area for centerCross region |
| SI.Length | U_Ecenter | 2*pi*D_i*(360 - gamma)/360 + 2*S*(nes + 1) + 2*L_E | Approximate wetted perimeter for centerCross region |
| SI.Area | A_Eend_a | S_E_a*L_E | Approximate flow area for endCross region |
| SI.Length | U_Eend_a | 2*pi*D_i*(360 - gamma)/360 + 2*S_E_a*(nes + 1) + 2*L_E | Approximate wetted perimeter for endCross region |
| SI.Area | A_Eend_b | S_E_b*L_E | Approximate flow area for endCross region |
| SI.Length | U_Eend_b | 2*pi*D_i*(360 - gamma)/360 + 2*S_E_b*(nes + 1) + 2*L_E | Approximate wetted perimeter for endCross region |
| SI.Area | A_WT | pi/4*D_i^2*gamma/360 - (D_l - 2*H)*D_l/4*Modelica.Math.sin(gamma/2*pi/180) | |
| SI.Area | A_T | pi/4*d_o^2*n_W/2 | |
| SI.Area | A_W | A_WT - A_T | Approximate flow area for window region |
| SI.Length | U_W | pi*D_i*gamma/360 + pi*d_o*n_W/2 | Approximate wetted perimeter for window region |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | system.allowFlowReversal | = true to allow flow reversal, false restricts to design direction (port_a -> port_b) |
| Static head | |||
| SI.Length | height_a | 0 | Elevation at port_a: Reference value only. No impact on calculations. |
| SI.Length | dheight_entryPipe_a | 0 | Height(shell inlet nozzle midpoint) - Height(port_a) |
| SI.Length | dheight_shell | 0 | Height(shell outlet nozzle midpoint) - Height(shell inlet nozzle midpoint) |
| SI.Length | dheight_entryPipe_b | 0 | Height(port_b) - Height(shell outlet nozzle midpoint) |
| Shell Side Part 1 › General Shell Parameters | |||
| Boolean | toggleStaggered | true | true = staggered grid type; false = in-line |
| Real | n_tubes | Total # of heat transfer tubes (n_T = n_bs + n_tubes) | |
| Real | n_bs | 0 | Total # of blind and support rods |
| SI.Length | DB | D_i | Tube bundle diameter |
| SI.Length | D_BE | DB | Diameter of circle that touches outermost tubes |
| SI.Length | d_o | Outer diameter of tubes | |
| SI.Length | e1 | 0 | Space between tubes and shell |
| Real | nes | # of shortest connections connecting neighboring tubes | |
| Shell Side Part 1 › Cross Flow Section Parameters | |||
| SI.Length | D_i | Inside shell diameter | |
| Real | n_MR | # of main resistances in cross flow path | |
| Real | n_MRE | # of main resistances in end cross flow path | |
| Shell Side Part 1 › Window Section Parameters | |||
| Real | n_W_tubes | Total # of heat transfer tubes in both the upper and lower window | |
| Real | n_W_bs | 0 | Total # of blind and support rods in uppper and lower window |
| Real | n_RW | # of tube rows in a window section | |
| Real | n_s | 0 | # of pairs of sealing strips |
| Shell Side Part 2 › Baffle Parameters | |||
| Integer | nb | 2 | # of baffles |
| SI.Length | H | D_i/5 | Height of baffle cut |
| SI.Length | D_l | D_i | Baffle Diameter |
| SI.Length | d_B | d_o | Diameter of holes in baffles |
| SI.Length | s1 | Tube to tube pitch parallel to baffel edge | |
| SI.Length | s2 | Tube to tube pitch perpindicular to baffel edge | |
| SI.Length | S | Baffle spacing between baffles | |
| SI.Length | S_E_a | S | port a baffle spacing between the heat exchanger sheets and adjacent baffles |
| SI.Length | S_E_b | S | port b baffle spacing between the heat exchanger sheets and adjacent baffles |
| SI.Length | th_B | 0 | Baffle thickness |
| Shell Side Part 2 › Entry/Exit Region Parameters | |||
| SI.Length | d_N_a | Nozzle a diameter | |
| SI.Length | d_N_b | Nozzle b diameter | |
| SI.Length | length_entryPipe_a | 0.001 | Length of entryPipe_a |
| SI.Length | length_entryPipe_b | 0.001 | Length of entryPipe_b |
| SI.Height | roughness_entryPipe_a | 2.5e-5 | Avg. height of surface asperities |
| SI.Height | roughness_entryPipe_b | 2.5e-5 | Avg. height of surface asperities |
| Assumptions › Dynamics | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics | system.energyDynamics | Formulation of energy balances |
| Modelica.Fluid.Types.Dynamics | massDynamics | system.massDynamics | Formulation of mass balances |
| Modelica.Fluid.Types.Dynamics | momentumDynamics | system.momentumDynamics | Formulation of momentum balances |
| Initialization › Start Value: Absolute Pressure | |||
| Medium.AbsolutePressure | p_a_start | system.p_start | Pressure at port a |
| Medium.AbsolutePressure | p_b_start | p_a_start | Pressure at port b |
| Medium.AbsolutePressure | ps_start | linspace(p_a_start, p_b_start, nNodes_Total) | Pressures {port_a,...,port_b} |
| Initialization › Start Value: Temperature | |||
| Boolean | use_Ts_start | true | Use T_start if true, otherwise h_start |
| Medium.Temperature | T_a_start | system.T_start | Temperature at port a |
| Medium.Temperature | T_b_start | T_a_start | Temperature at port b |
| Medium.Temperature | Ts_start | if 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.SpecificEnthalpy | h_a_start | Medium.specificEnthalpy_pTX(p_a_start, T_a_start, X_start) | Specific enthalpy at port a |
| Medium.SpecificEnthalpy | h_b_start | Medium.specificEnthalpy_pTX(p_b_start, T_b_start, X_start) | Specific enthalpy at port b |
| Medium.SpecificEnthalpy | hs_start | if 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_start | Medium.X_default | Mass fractions m_i/m |
| Initialization › Start Value: Trace Substances | |||
| Modelica.Media.Interfaces.Types.ExtraProperty[Medium.nC] | C_start | fill(0, Medium.nC) | Trace substances |
| Initialization › Start Value: Mass Flow Rate | |||
| SI.MassFlowRate | m_flow_start | system.m_flow_start | Mass flow rate |
| Advanced | |||
| Integer | nNodes_entryPipe_a | 1 | Number of discrete flow volumes in entryPipe_a |
| Integer | nNodes_entryPipe_b | 1 | Number of discrete flow volumes in entryPipe_a |
| Integer | nNodes_nozzle | 1 | Number of discrete flow volumes in each nozzle |
| Integer | nNodes_endCross | 1 | Number of discrete flow volumes in each endCross segment |
| Integer | nNodes_window | 1 | Number of discrete flow volumes in each window segment |
| Integer | nNodes_centerCross | 1 | Number of discrete flow volumes in each centerCross segment |
| Modelica.Fluid.Types.ModelStructure | modelStructure | Modelica.Fluid.Types.ModelStructure.av_b | Determines whether flow or volume models are present at the ports |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.HeatPorts_a | heatPorts_a |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.System | system (from PartialTwoPort) | System wide properties | |
| TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurface | entryPipe_a | This 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_MultiTransferSurface | nozzle_a | ||
| TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurface | endCross_a | ||
| TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurface | window | ||
| TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurface | centerCross | ||
| TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurface | window_b | ||
| TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurface | endCross_b | ||
| TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurface | nozzle_b | ||
| TRANSFORM.Fluid.Pipes.GenericPipe_MultiTransferSurface | entryPipe_b | This 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.Area | surfaceArea_total_output | Total heat transfer surface area | |
| SI.CoefficientOfHeatTransfer | alpha_avg_output | Average heat transfer coefficient | |
| SI.ThermalResistance | R_conv_output | Averagethermal resistance to convective heat transfer | |
| SI.CoefficientOfHeatTransfer | alphas_output | Volume node heat transfer coefficient | |
| SI.Area | surfaceAreas_output | Heat transfer surface area | |
| SI.Temperature | Ts_medium_output | Medium temperature | |
| SI.Temperature | Ts_wall_output | Wall temperature |