Heat exchangers
Theory
📖 Theory - Tubular heat exchangers
Effectiveness–NTU method
There are many different heat exchanger (HX) topologies. The HX currently implemented in TASOPT consists of staggered tubes in a cross flow; this geometry was selected because it is simple to integrate into the space between two concentric cylinders. The HX is designed using the effectiveness–NTU method, described below [1].
Consider a heat exchanger in which a coolant gas is used to cool or heat gas. The minimum and maximum heat capacity rates are defined as
\[C_{\mathrm{min}} = \mathrm{min} (\dot{m}_c c_{p,c}, \dot{m}_p c_{p,p})\]
\[C_{\mathrm{max}} = \mathrm{max} (\dot{m}_c c_{p,c}, \dot{m}_p c_{p,p}),\]
where $\dot{m}$ is the mass flow rate, $c_p$ is the specific heat at constant pressure, and the subscripts $p$ and $c$ refer to the process-side and coolant streams. The capacity ratio is $C_r = \frac{C_{\mathrm{min}}}{C_{\mathrm{max}}}$.
A maximum heat transfer rate is defined as
\[\dot{Q}_{max} = C_{\mathrm{min}} (T_{i,p} - T_{i,c}),\]
where $T$ is the absolute temperature. A measure of the HX performance is the effectiveness, $\varepsilon$, defined as
\[\varepsilon = \frac{\dot{Q}}{\dot{Q}_{max}},\]
where $\dot{Q}$ is the actual heat transfer rate. The effectiveness can range between 0 and 1. A related quantity known as the number of transfer units (NTU) is defined as
\[\mathrm{NTU} = \frac{1}{C_{\mathrm{min}} R_o},\]
where $R_o$ is the overall thermal resistance. For any heat exchanger geometry, it can be shown that the effectiveness is a function of the NTU and the ratio $\frac{C_{\mathrm{min}}}{C_{\mathrm{max}}}$.
In the case of a cross flow heat exchanger, this functional relationship between $\varepsilon$ and NTU depends on whether there is internal mixing within the stream and on which stream has the minimum capacity rate. In a HX within a jet engine, it is reasonable to assume that the coolant stream has the minimum capacity rate as the fuel-air ratio is small. For tubular HX, the process stream is mixed but the coolant stream is unmixed as the tubes are independent. In this case, the relationship between $\varepsilon$ and NTU is[1]
\[\varepsilon = \frac{1}{C_{r}} [1 - \exp(-C_{r} (1 - \exp(-\mathrm{NTU})))],\]
or conversely
\[\mathrm{NTU} = -\ln\left(1 + \frac{\ln(1 - C_r\varepsilon)}{C_r}\right).\]
On the other hand, if the coolant stream has the maximum heat capacity rate, the effectiveness is given by
\[\varepsilon = 1 - \exp\left[-\frac{1}{C_{r}} (1 - \exp(-C_r \mathrm{NTU}))\right],\]
and the corresponding NTU is
\[\mathrm{NTU} = -\frac{1}{C_{r}} \ln\left[ 1 + C_r \ln(1 - \varepsilon)\right].\]
A notable property of these expressions is that there is a maximum effectiveness $\varepsilon_\mathrm{max} < 1$ as the NTU tends to infinity. In the code, there is a check to see if the desired effectiveness exceeds the maximum possible one, in which case there is no solution. The effectiveness is limited to 95% of $\varepsilon_\mathrm{max}$ to prevent a very large NTU.
Once the effectiveness is known, the outlet specific enthalpies can be computed using
\[h_{o,p} = h_{i,p} - \frac{\dot{Q}}{\dot{m}_p}\]
\[h_{o,c} = h_{i,c} + \frac{\dot{Q}}{\dot{m}_c},\]
where $h$ represents the specific enthalpy, and the outlet temperatures can be determined from these.
Recirculation
If the coolant is originally in liquid form, it needs to undergo a phase change at some point in the heat exchanger. For cryogenic liquids, such as hydrogen or methane, it is unadvisable to expose air to these cryogenic temperatures as it can result in freezing or liquefaction of some species in air. A possible approach to overcome this is to introduce recirculation in the heat exchanger: this increases the coolant mass flow rate and allows for a higher coolant temperature while still having the same heat transfer.
The way recirculation is currently modeled in TASOPT is via a virtual "mixing chamber", where the hot recirculating mass flow that comes of of the HX is mixed with the colder coolant (which may be liquid in general) and heats it up to a desired HX inlet temperature,$T_{i,c}$. Neglecting the kinetic energy in the fluids, conservation of energy requires that
\[\dot{m}_{c,\infty} (h_{c,\infty}-h_{lat}) + \dot{m}_{r} h_{o,c} = (\dot{m}_{c,\infty}+\dot{m}_{r})h_{i,c},\]
where $\dot{m}_r$ is the recirculating mass flow rate and $\dot{m}_{c,\infty}$ is the coolant mass flow rate before mixing with recirculation and, by mass conservation, the mass flow rate that leaves the system. The term $h_{lat}$ represents a latent heat and may account for vaporization or, in the case of hydrogen, the ortho- to parahydrogen conversion. The specific enthalpies into and out of the HX are related by
\[h_{o,c} = h_{i,c} + \frac{\dot{Q}}{\dot{m}_{c,\infty}+\dot{m}_{r}}.\]
As the heat transfer rate is given by $\dot{Q} = \varepsilon C_{\mathrm{min}} (T_{i,p} - T_{i,c})$, we can distinguish two cases depending on whether the coolant has the minimum or maximum heat capacity rate. If $C_{\mathrm{min}}=(\dot{m}_{c,\infty}+\dot{m}_{r}) c_{pi,c}$,
\[\dot{m}_r = \dot{m}_{c,\infty} \frac{h_{i,c} - h_{c,\infty} + h_{lat}}{\varepsilon c_{pi,c}(T_{i,p} - T_{i,c})},\]
and if $C_{\mathrm{max}}=(\dot{m}_{c,\infty}+\dot{m}_{r}) c_{pi,c}$,
\[\dot{m}_r = \dot{m}_{c,\infty}\frac{A}{1-A},\]
where
\[A = \dot{m}_{c,\infty}\frac{h_{i,c} -h_{c,\infty} + h_{lat}}{\varepsilon C_h (T_{i,p} - T_{i,c})}.\]
A failure case exists if $A\geq 1$: in this case, the hot stream does not have enough heat capacity to provide the heat needed to get the coolant to the desired $T_{i,c}$.
Heat exchanger geometry
Two HX cross-sections are currently supported: rectangular and concentric cylinders (e.g., for a jet engine core). If the geometry is rectangular, the length of the tubes dictates the width of the rectangle, but if it is concentric, the tubes could have any length greater or equal to the distance between the cylinders as involute tubes could be used. The heat exchanger is assumed to have $N_\mathrm{stages}$ different serial stages, with each stage containing $N_\mathrm{passes}$ tube rows, each corresponding to a coolant pass. For example, the HX in the figure above with 2 stages and 3 coolant passes has a total of $N_L=N_\mathrm{stages}N_\mathrm{passes}=6$ tube rows. The number of tubes at every row is $N_t$; this parameter can be calculated from the mass flow rate through the cold side or from the geometry of the stage
\[N_t = \frac{4 \dot{m}_c}{\rho_{c,i}V_{c,i} \pi D_{t,i}^2 N_\mathrm{stages}} = \frac{b}{\frac{x_t}{D} D_{t,o}},\]
where $b$ is length across which the tubes are distributed. If the cross-section is concentric, $b=\pi D_{c,i}$ with $D_{c,i}$ being the inner cylinder diameter; if it is rectangular, $b = \frac{A_{cs}}{l}$. In this expressions, $A_{cs}=\frac{\dot{m}_p}{\rho_{p,i}V_{p,i}}$ is the freestream cross-sectional area. Since the tube inner diameter can be expressed as $D_{t,i} = D_{t,o} - 2t$, this equation can be solved for the tube outer diameter
\[D_{t,o} = \frac{4 K t + \sqrt{8 K t + 1} + 1}{2 K},\]
with $K = \frac{\pi b N_\mathrm{stages} \rho_{c,i}V_{c,i}}{4 \frac{x_t}{D} \dot{m}_c}$.
The total length of the HX is simply $L = N_L \frac{x_l}{D} D_{t,o}$.
Some calculations rely on knowing the tangential pitch between tubes. This pitch may vary in the radial direction as the circumference changes but the tube diameter remains unchanged. In addition to this, the tubes are generally involute, which makes calculating this pitch even more challenging. In the code, a mean tangential pitch $x_{t,m}$ is used to compute parameters such as the pressure drop and the Nusselt number. This mean pitch is calculated as
\[x_{t,m} = \frac{A_{cs}}{N_t l},\]
where $l$ is the length of each involute tube. The mass flow rate per unit area at the minimum free flow area is
\[G = \frac{\dot{m}_p}{A_{cs} - N_t l D_{t,o}}.\]
Note that for this expression to be valid, it is sufficient that $x_l/D\geq 1$. If the general geometry and total hot-side heat transfer area are known (e.g., from the NTU), but the number of coolant passes has not been determined yet, this can be calculated as
\[N_\mathrm{passes} = \frac{A_h}{N_t N_\mathrm{stages} \pi D_{t,o} l}.\]
Heat transfer coefficients
The above analysis relies on being able to determine the overall thermal resistance. In general, the thermal resistance has five components: hot- and cold-side gas resistances, wall resistance, and hot- and cold-side fouling resistances. The gas resistances are the aerodynamic resistances due to the thermal boundary layers, the wall resistance depends on the material conductivity and thickness, and the fouling resistances account for buildup of dirt layers during operation. The product of thermal resistance and heat transfer area (thermal insulance) is in practice easier to compute
\[R_o A_p = \frac{1}{h_p} + \frac{1}{h_c \frac{A_c}{A_p}} + \frac{t}{k_w} + R_{f,p}A_p + R_{f,c}A_c \frac{A_p}{A_c},\]
where $h$ is the the aerodynamic heat transfer coefficient, $A$ is the heat transfer area, $t$ is the wall thickness, $k$ is the thermal conductivity, $w$ denotes the wall, and $R_fA$ is the fouling factor. A list of design fouling factors can be found in [2] and [3].
The heat transfer coefficients depend on the gas temperature, which changes as heat is added to the flows. A mean gas temperature, taken as the average between the inlet and outlet temperatures, is used to calculate the gas properties,
\[T_{p,m} = \frac{T_{p,o} - T_{p,i}}{2}\]
\[T_{c,m} = \frac{T_{c,o} - T_{c,i}}{2}.\]
Coolant-side heat transfer coefficient
The flow inside the tubes can be modeled by assuming that it is fully-developed turbulent flow in a smooth pipe. In this case, the 1913 Blasius correlation provides a method to calculate the skin-friction coefficient, $C_f$
\[C_f = \frac{\tau_w}{\frac{1}{2}\rho_{c,m} V_{c,m}^2} = 0.0791 \mathrm{Re}_{D,c}^{-1/4},\]
where $\tau_w$ is the wall shear stress, $\rho$ is the mass density, $V$ is the velocity and the cold-side diameter-based Reynolds number is defined as $\mathrm{Re}_{D,c}=\frac{V_{c,m}\rho_{c,m} D_{t,i}}{\mu_{c,m}}$, with $D_{t,i}$ being the tube inner diameter and $\mu$ being the viscosity.
When the skin-friction coefficient is known, the Colburn j-factor can be calculated using the Reynolds analogy
\[j = \mathrm{St} \mathrm{Pr}^{2/3} = \frac{C_f}{2},\]
where $\mathrm{St} = \frac{h}{\rho V c_p}$ is the Stanton number and $\mathrm{Pr} = \frac{c_p \mu}{k}$ is the Prandtl number. Once $j$ is determined, the heat transfer coefficient $h_c$ can be computed from the cold gas properties.
Process-side heat transfer coefficient
The flow past a set of staggered tubes is complex. Žkauskas[4] provides simplified correlations that can be used to model the heat transfer properties of these tubes. Generally, the Nusselt number can be expressed as
\[\mathrm{Nu} = C_1 C_2 \mathrm{Re}^m \mathrm{Pr}^n,\]
where the Reynolds number is defined as $\mathrm{Re}= \frac{G D_{t,o}}{\mu_{p,m}}$, $D_{t,o}$ is the tube outer diameter, and $G$ is the hot-side mass flow rate per unit area at the minimum free-flow area. Hence, this Reynolds number accounts for blockage effects due to the presence of the tubes.
The following table shows the value of the parameters $C_1$, $m$ and $n$ as a function of Reynolds number.
Re | $C_1$ | $m$ | $n$ |
---|---|---|---|
0–40 | 1.04 | 0.4 | 0.36 |
40–1000 | 0.71 | 0.5 | 0.36 |
1000–$2\times 10^5$ & $x_t/x_l<2$ | $0.35 (x_t / x_l) ^ {0.2}$ | 0.6 | 0.36 |
1000–$2\times 10^5$ & $x_t/x_l\geq 2$ | 0.4 | 0.6 | 0.36 |
$>2\times 10^5$ | $0.031 (x_t / x_l) ^ {0.2}$ | 0.8 | 0.4 |
The parameters in the table can be affected by the distances $x_t$ and $x_l$, which are the distances between tubes in the tangential and longitudinal directions. Note that the distance $x_{t}$ used in the calculations is $x_{t,m}$ as the pitch varies in the radial direction. The ratios of this distances to the tube outer diameter, $\frac{x_t}{D}$ and $\frac{x_t}{D}$, are design parameters.
The parameter $C_2$ is a correction that accounts for the number of rows, $N_L$, and tends to 1 as the number of rows goes to infinity. It can be approximated as
\[C_2 = 1-\exp(-N_L^{1 / \sqrt{3}})\]
if $Re>1000$ and otherwise as
\[C_2 = 1-\exp(-\sqrt{3 N_L^{1 / \sqrt{2}}}).\]
Once the Nusselt number is known, the hot-side heat transfer coefficient can be computed as $h_p = \frac{\mathrm{Nu} k_p}{D_{t,o}}$.
Pressure drops
The pressure drop in the hot-side (across the staggered tube bank) can be estimated using the method of Gunter and Shaw[5]. The first necessary parameter is the volumetric hydraulic diameter, defined as
\[D_v = \frac{4(\mathrm{Net\,free\,volume})}{\mathrm{Friction\,surface}} = \frac{4 L \frac{\dot{m}_p}{V_{p,i}\rho_{p,i}}-N_t N_\mathrm{passes} N_\mathrm{stages} \pi D_{t,o}^2 l}{A_p}.\]
From this, the pressure drop across the process side can be computed as
\[\Delta p_p = \frac{G^2 L }{D_v \rho_{p,m}} \frac{f}{2} \left(\frac{D_v}{x_t}\right)^{0.4}\left(\frac{x_l}{x_t}\right)^{0.6} \left(\frac{\mu}{\mu_w}\right)^{-0.14},\]
where $\frac{f}{2}$ is a friction factor that can be related to the Reynolds number, $Re_{D_v} = \frac{G D_v}{\mu_{p,m}}$, as $\frac{f}{2}= 90 / Re_{D_v}$ for $Re_{D_v}<200$ and $\frac{f}{2}= 0.96 Re_{D_v}^{-0.145}$ otherwise. As in the heat transfer coefficient case, note that the distance $x_{t}$ used in the calculations is $x_{t,m}$ since the pitch varies in the radial direction.
The cold-side pressure drop can be calculated from the skin-friction coefficient, ignoring the minor losses due to flow turning at each pass,
\[\Delta p_c = \frac{4 \tau_w N_\mathrm{passes} \pi D_{t,i} l}{\pi D_{t,i}^2}= \frac{4 \tau_w N_\mathrm{passes} l}{D_{t,i}},\]
with $\tau_w = C_f \frac{1}{2}\rho_{c,m} V_{c,m}^2$.
Correction for temperature changes across thermal boundary layer
Temperature changes across the thermal boundary layer in both the coolant and process streams. Identifying the temperature at which to evaluate the properties is not trivial. In the code, the method in Kays and London[1] is used: all properties are evaluated at the freestream temperatures ($T_{p,m}$ and $T_{c,m}$) and a correction is applied to the Nusselt number and the friction coefficient ($f$ in the process stream and $C_f$ for the coolant). These take the form
\[\mathrm{Nu} = \mathrm{Nu}_m\left(\frac{T_w}{T_m}\right)^n\]
\[f = f_m\left(\frac{T_w}{T_m}\right)^m\]
where the coefficients are $n=0.0$ and $m=0.0$ for the process-side properties and $n=-0.5$ and $m=-0.1$ for the coolant side[1]. The wall temperature is calculated from the overall thermal resistance and the thermal resistance of the coolant side,
\[T_w = T_{c,m} + \frac{T_{p,m}-T_{c,m}}{R_o A_p}\left(\frac{1}{h_c \frac{A_c}{A_p}} + R_{f,c}A_c \frac{A_p}{A_c}\right)\]
Structures
TASOPT.engine.HX_gas
— TypeHX_gas
Structure containing the gas properties of the process and coolant streams.
💾 Data fields
Inputs:
fluid_p::String
: process fluid namefluid_c::String
: coolant fluid namealpha_p::Vector{Float64}
: process gas compositionigas_c::Float64
: coolant gas index, if coolant is a gasmdot_p::Float64
: mass flow rate of process gas (kg/s)mdot_c::Float64
: mass flow rate of coolant gas (kg/s)Tp_in::Float64
: process gas inlet temperature (K)Tc_in::Float64
: coolant gas inlet temperature (K)pp_in::Float64
: process gas inlet pressure (Pa)pc_in::Float64
: coolant gas inlet pressure (Pa)Mp_in::Float64
: process gas inlet Mach numberMc_in::Float64
: coolant gas inlet Mach numberTp_out::Float64
: process gas outlet temperatureTc_out::Float64
: coolant gas outlet temperatureTw::Float64
: wall temperature (K)Δh_p::Float64
: enthalpy change across HX (J/kg)Δp_p::Float64
: pressure drop of process gas across heat exchanger (Pa)Δp_c::Float64
: pressure drop of coolant gas across tubes (Pa)Pl_p::Float64
: power loss due to pressure drop in process stream (W)Pl_c::Float64
: power loss due to pressure drop in coolant stream (W)ε::Float64
: desired heat exchanger effectivenessrecircT::Float64
: temperature of recirculating flow at HX inlet (K)mdot_r::Float64
: recirculating flow mass flow rate (kg/s)h_lat::Float64
: latent heat capacity in freestream coolant liquid (J/kg)
TASOPT.engine.HX_tubular
— TypeHX_tubular
Structure containing the heat exchanger geometric and material properties.
💾 Data fields
Inputs:
fconc::Bool
: flag for concentric geometry (true: concentric ; false: rectangular)frecirc::Bool
: flag for recirculation (true: recirculation ; false: no recirculation)fshaf::Bool
: flag for whether HX contains shaf(true: shaft ; false: no shaft)N_t::Float64
: number of tubes per rown_stages::Float64
: number of different coolant stages with different coolant flowsn_passes::Float64
: number of coolant passesA_cs::Float64
: process side freestream cross-sectional area (m^2)l::Float64
: length of tubes (m)t::Float64
: cooling tube wall thickness (m)tD_o::Float64
: tube outer diameter (m)xt_D::Float64
: circumferential pitch between tubes at the root over tube outer diameterxl_D::Float64
: longitudinal pitch between rows over tube outer diameterRfp::Float64
: process-side fouling factor (m^2 K/W)Rfc::Float64
: coolant-side fouling factor (m^2 K/W)D_i::Float64
: inner diameter of core (m)Δpdes::Float64
: design pressure difference between tube and outside (Pa)maxL::Float64
: maximum allowable HEX length (m)
TASOPT.engine.HX_struct
— TypeHX_struct
Structure containing all the heat exchanger geometry and operational information.
💾 Data fields
Inputs:
type::String
: type of heat exchanger ("PreC": precooler; "InterC": intercooler; "Regen": regenerative; "TurbC": turbine cooling)HXgeom::HX_tubular
: structure containing the HX geometric informationHXgas_mission::Array{Any}
: array containing the gas properties, of typeHX_gas
for each mission and segment
Functions
Heat exchanger sizing and off-design operations
TASOPT.engine.hxsize!
— Functionhxsize!(HXgas, HXgeom)
Sizes a crossflow heat exchanger and calculates the pressure drop. Uses the ε-NTU method to size the heat exchanger from a prescribed ε. For representative fouling factors see Standards of the Tubular Exchanger Manufacturers Association or https://powderprocess.net/Tools_html/Data_Diagrams/Heat_Exchanger_Fouling_Factor.html
🔃 Inputs and Outputs
Inputs:
HXgas::Struct
: structure of type HX_gas with the gas propertiesHXgeom::Struct
: structure of type HX_tubular with the HX geometric properties
Outputs: No direct outputs. Input structures are modified with outlet gas properties and HX design geometry.
TASOPT.engine.hxoper!
— Functionhxoper!(HXgas, HXgeom)
Evaluates crossflow heat exchanger performance for off-design operation. Uses the ε-NTU method to calculate effectiveness from prescribed geometry.
🔃 Inputs and Outputs
Inputs:
HXgas::Struct
: structure of type HX_gas with the gas propertiesHXgeom::Struct
: structure of type HX_tubular with the HX geometric properties
Outputs: No direct outputs. Input structures are modified with outlet gas properties.
Optimization
TASOPT.engine.hxoptim!
— Functionhxoptim!(HXgas, HXgeom, initial_x)
Optimizes heat exchanger design parameters for a given set of inputs. Uses the NLopt.jl package. The optimization variables are Mc_in
, n_stages
, xt_D
and l
. The length of initial_x
is the flag to determine how many parameters to optimize: if it is 4, all parameters are optimized; if it is 3, the tube length l
is assumed to be an input and is not optimized.
🔃 Inputs and Outputs
Inputs:
HXgas::Struct
: structure of type HX_gas with the gas propertiesHXgeom::Struct
: structure of type HX_tubular with the HX geometric propertiesinitial_x::Vector{Float64}
: vector with the initial guess for the optimization
Outputs: No direct outputs. Input structures are modified with HX design geometry.
TASOPT.engine.hxobjf
— Function hxobjf(x, HXgas, HXgeom)
Objective function for HX optimization in hxoptim!(). It returns the sum of the power dissipated due to pressure drops in the process and coolant streams.
🔃 Inputs and Outputs
Inputs:
x::Vector{Float64}
: state vector with [100 * Mc_in
,l
,n_stages
,xt_D
]HXgas::Struct
: structure of type HX_gas with the gas propertiesHXgeom::Struct
: structure of type HX_tubular with the HX geometric properties
Outputs:
Iobj::Float64
: objective function (W)
Overall design and analysis
TASOPT.engine.hxdesign!
— Function hxdesign!(pare, pari, ipdes, HXs_prev)
Heat exchanger design and operation function. It calls hxoptim!() to optimize the heat exchanger at the design point and then evaluates performance for all missions and points with hxoper!().
🔃 Inputs and Outputs
Inputs:
pare::Array{Float64 , 3}
: array with engine parameterspari::Vector{Int}
: vector with integer parametersipdes::Float64
: index for design mission segmentHXs_prev::Vector{Any}
: vector with heat exchanger data from the previous wsize iteration; elements areHX_struct
structuresrlx::Float64
: relaxation factor for pare update
Outputs:
HeatExchangers::Vector{Any}
: vector with heat exchanger data; elements areHX_struct
structures- Also modifies
pare
with the fuel temperature and the HX enthalpy and pressure changes
Heating and pressure calculations
TASOPT.engine.jcalc_pipe
— Functionjcalc_pipe(Re_D)
Calculates the Colburn j-factor and skin-friction coefficient for flow inside a circular pipe, assuming flow is fully developed and turbulent. Uses the 1913 Blasius correlation.
🔃 Inputs and Outputs
Inputs:
Re_D::Float64
: Reynolds number based on pipe diameter
Outputs:
j::Float64
: Colburn j-factor for heat calculationsCf::Float64
: skin-friction coefficient
TASOPT.engine.Nu_calc_staggered_cyl
— FunctionNu_calc_staggered_cyl(Re_D, Pr, N_L, xt_D, xl_D)
Calculates the Nusselt number for cross flow on a set of staggered circular cylinders. Based on the model in A. Žkauskas. Heat Transfer from Tubes in Crossflow. Advances in Heat Transfer v.18 (1987).
🔃 Inputs and Outputs
Inputs:
Re_D::Float64
: Reynolds number based on cylinder diameter with velocity at minimum free flow areaPr::Float64
: Prandtl numberN_L::Float64
: number of cylinder rowsn_stages::Float64
: number of different coolant stages with different coolant flowsxt_D::Float64
: circumferential pitch between tubes over tube outer diameterxl_D::Float64
: longitudinal pitch between rows over tube outer diameter
Outputs:
Nu::Float64
: Nusselt number based on cylinder diameter
TASOPT.engine.Δp_calc_staggered_cyl
— FunctionΔp_calc_staggered_cyl(Re, G, L, ρ, Dv, tD_o, xt_D, xl_D, μ_μw)
Calculates the pressure drop across a set of staggered cylinders in cross flow. Uses the method of Gunter and Shaw. A General Correlation of Friction Factors for Various Types of Surfaces in Crossflow. Journal of Fluids Engineering, 1945.
🔃 Inputs and Outputs
Inputs:
Re::Float64
: Reynolds number based on hydraulic diameter and minimum free flow area: Re = Dv G /μG::Float64
: mass flow rate divided by minimum free flow area.G = mdot / (A_min)
,A_min
is the minimum free-flow area (kg/s/m^2)L::Float64
: axial channel length (m)ρ::Float64
: density (kg/m^3)Dv::Float64
: volumetric hydraulic diameter. Dv = 4 * (Net free volume) / (Friction surface)tD_o::Float64
: cylinder outer diameter (m)xt_D::Float64
: circumferential pitch between tubes over tube outer diameterxl_D::Float64
: longitudinal pitch between rows over tube outer diameterμ_μw::Float64
: ratio of free flow viscosity to wall viscosity
Outputs:
Δp::Float64
: pressure drop across staggered cylinders (Pa)
Weight estimation
TASOPT.engine.hxweight
— Function hxweight(gee, HXgeom, fouter)
Calculates the weight of a heat exchanger with involute tubes.
🔃 Inputs and Outputs
Inputs:
gee::Float64
: gravitational acceleration (m/s^2)HXgeom::Struct
: structure of type HX_tubular with the HX geometric and material propertiesfouter::Float64
: ratio of HX external mass to tube mass
Outputs:
W_hx::Float64
: weight of heat exchanger (N)
- 1Kays, W. M., & London, A. L. (1984). Compact heat exchangers.
- 2Standards of the Tubular Exchanger Manufacturers Association
- 3Powder Process
- 4Žkauskas, A. (1987). Heat transfer from tubes in crossflow. In Advances in heat transfer (Vol. 18, pp. 87-159). Elsevier.
- 5Gunter, A. Y., & Shaw, W. A. (1945). A general correlation of friction factors for various types of surfaces in crossflow. Transactions of the American Society of Mechanical Engineers, 67(8), 643-656.