turboflow.axial_turbine.loss_model_benner module

turboflow.axial_turbine.loss_model_benner.F_t(BSx, beta_in, beta_out)[source]

Calculate the tangential loading coefficient according to the correlation proposed by [Benner et al., 2006].

\[F_t = 2\frac{s}{c_\mathrm{ax}}\cos^2(\beta_m)(\tan(\beta_\mathrm{in} - \beta_\mathrm{out}))\]

where:

  • \(s\) is the pitch.

  • \(c_\mathrm{ax}\) is the axial chord.

  • \(\beta_m = \tan^{-1}(0.5(\tan(\beta_\mathrm{in}) + \tan(\beta_\mathrm{out})))\) is the mean vector angle.

  • \(\beta_\mathrm{in}\) and \(\beta_\mathrm{out}\) is the inlet and outlet relative flow angle.

Parameters:
Bsxfloat

Blade solidity based on axial chord.

beta_infloat

Inlet relative flow angle (in degrees).

beta_outfloat

Exit relative flow angle (in degrees).

Returns:
float

Tangetnial loading parameter.

turboflow.axial_turbine.loss_model_benner.compute_losses(input_parameters)[source]

Evaluate loss coefficient according to [Benner et al., 1997], [Benner et al., 2006] and [Benner et al., 2006].

This model split the total loss coefficient into profile, secondary, trailing edge, tip clearance and incidence losses. The loss coefficient are combined through the following relation:

\[\mathrm{Y_{tot}} = (\mathrm{Y_{p}} + \mathrm{Y_{te}} + \mathrm{Y_{inc}})(1-Z/H) + \mathrm{Y_{s}} + \mathrm{Y_{cl}}\]

where \(Z\) is the penetration depth of the passage vortex separation line in spanwise direction, and \(H\) is the mean blade height. This quantity depend on the displacement thickness of the inlet endwall bounary layer, which is approximated from a reference value:

\[\frac{\delta}{H} = \frac{\delta}{H}_\mathrm{ref} \frac{\mathrm{Re_{in}}}{3\cdot10^5}^{-1/7}\]

The reference value may be specified by the user.

The function calls a function for each loss component:

  • \(\mathrm{Y_{p}}\) : get_profile_loss

  • \(\mathrm{Y_{te}}\) : get_trailing_edge_loss

  • \(\mathrm{Y_{s}}\) : get_secondary_loss

  • \(\mathrm{Y_{cl}}\) : get_tip_clearance_loss

  • \(\mathrm{Y_{inc}}\) : get_incidence_loss

  • \(Z/H\) : get_penetration_depth

Parameters:
input_parametersdict

A dictionary containing containing the keys, flow, geometry and options.

Returns:
dict

A dictionary with the loss components.

turboflow.axial_turbine.loss_model_benner.convert_kinetic_energy_coefficient(dPhi, gamma, Ma_rel_out)[source]

Convert the kinetic energy coefficient increment due to incidence to the total pressure loss coefficient according to the following correlation:

\[\mathrm{Y} = \frac{\left(1-\frac{\gamma -1}{2}\mathrm{Ma_{out}}^2(\frac{1}{(1-\Delta\phi^2_p)}-1)\right)^\frac{-\gamma}{\gamma - 1}-1}{1-\left(1 + \frac{\gamma - 1}{2}\mathrm{Ma_{out}}^2\right)^\frac{-\gamma}{\gamma - 1}}\]

where:

  • \(\gamma\) is the specific heat ratio.

  • \(\mathrm{Ma_{out}}\) is the cascade exit relative mach number.

  • \(\Delta\phi^2_p\) is the kinetic energy loss coefficient increment due to incidence.

Parameters:
dPhifloat

Kinetic energy coefficient increment.

gammafloat

Heat capacity ratio.

Ma_rel_outfloat

The cascade exit relative mach number.

Returns:
float

The total pressure loss coefficient.

Warning

This conversion assumes that the fluid is a perfect gas.

turboflow.axial_turbine.loss_model_benner.get_compressible_correction_factors(Ma_rel_in, Ma_rel_out)[source]

Compute compressible flow correction factor according to Kacker and Okapuu loss model [Kacker and Okapuu, 1982].

The correction factors \(\mathrm{K_1}\), \(\mathrm{K_2}\) and \(\mathrm{K_p}\) was introduced by [Kacker and Okapuu, 1982] to correct previous correlation ([Ainley and Mathieson, 1951]) for effect of higher mach number and channel acceleration. The correction factors reduces the losses at higher mach number. Their definition follows:

\[\begin{split}&\mathrm{K_1} = \begin{cases} 1 & \text{if } \mathrm{Ma_{out}} < 0.2 \\ 1 - 1.25(\mathrm{Ma_{out}} - 0.2) & \text{if } \mathrm{Ma_{out}} \geq 0.2 \end{cases} \\ &\mathrm{K_2} = \left(\frac{\mathrm{Ma_{in}}}{\mathrm{Ma_{out}}}\right) \\ &\mathrm{K_p} = 1 - \mathrm{K_2}(1-\mathrm{K_1})\end{split}\]

where:

  • \(\mathrm{Ma_{in}}\) is the relative mach number at the cascade inlet.

  • \(\mathrm{Ma_{out}}\) is the relative mach number at the cascade exit.

Parameters:
Ma_rel_infloat

Inlet relative mach number.

Ma_rel_outfloat

Exit relative mach number.

Returns:
float

Correction factor \(\mathrm{K_p}\).

float

Correction factor \(\mathrm{K_2}\).

float

Correction factor \(\mathrm{K_1}\).

turboflow.axial_turbine.loss_model_benner.get_hub_to_mean_mach_ratio(r_ht, cascade_type)[source]

Compute the ratio between Mach at the hub and mean span at the inlet of the current cascade.

Due to radial variation in gas conditions, Mach at the hub will always be higher than at the mean. Thus, shock losses at the hub could occur even when the Mach is subsonic at the mean blade span.

Parameters:
r_htfloat

Hub to tip ratio at the inlet of the current cascade.

cascade_typestr

Type of the current cascade, either ‘stator’ or ‘rotor’.

Returns:
float

Ratio between Mach at the hub and mean span at the inlet of the current cascade.

turboflow.axial_turbine.loss_model_benner.get_incidence_loss(flow_parameters, geometry, beta_des)[source]

Calculate the incidence loss coefficient according to the correlation proposed by [Benner et al., 1997].

This model calculates the incidence loss parameter through the function get_incidence_parameter. The kinetic energu coefficient can be obtained from get_incidence_profile_loss_increment, which is a function of the incidence parameter. The kinetic energy loss coefficient is converted to the total pressure loss coefficient through convert_kinetic_energy_coefficient.

Parameters:
flow_parametersdict

Dictionary containing flow-related parameters.

geometrydict

Dictionary with geometric parameters.

beta_desfloat

Inlet flow angle for zero incidence losses (design).

Returns:
float

Incidence loss coefficient.

turboflow.axial_turbine.loss_model_benner.get_incidence_parameter(le, s, We, theta_in, theta_out, beta_in, beta_des, cascade_type)[source]

Calculate the incidence parameter according to the correlation proposed by [Benner et al., 1997].

The incidence parameter is used to calculate the increment in profile losses due to the effect of incidence according to function get_incidence_profile_loss_increment.

The quantity is calculated as:

\[\chi = \frac{\mathrm{d_{le}}}{s}^{-0.05}\mathrm{We_{le}}^{-0.2}\frac{\cos\theta_\mathrm{in}}{\cos\theta_\mathrm{out}}^{-1.4}(\beta_\mathrm{in} - \beta_\mathrm{des})\]

where:

  • \(\mathrm{d_{le}}\) is the leading edge diameter.

  • \(s\) is the pitch.

  • \(\mathrm{We_{le}}\) is the leading edge wedge angle.

  • \(\theta_\mathrm{in}\) and \(\theta_\mathrm{out}\) is the blade metal angle at the inlet and outlet respectively.

  • \(\beta_\mathrm{in}\) and \(\beta_\mathrm{des}\) is the inlet relative flow angle at given and design conditions respectively.

Parameters:
lefloat

Leading edge diameter.

sfloat

Pitch.

Wefloat

Leading edge wedge angle (in degrees).

theta_infloat

Leading edge metal angle (in degrees).

theta_outfloat

Trailing edge metal angle (in degrees).

beta_infloat

Inlet relative flow angle (in degrees).

beta_desfloat

Inlet relative flow angle at design condition (in degrees).

Returns:
float

Incidence parameter.

turboflow.axial_turbine.loss_model_benner.get_incidence_profile_loss_increment(chi, chi_extrapolation=5, loss_limit=0.5)[source]

Computes the increment in profile losses due to the effect of incidence according to the correlation proposed by [Benner et al., 1997].

The increment in profile losses due to incidence is based on the incidence parameter \(\chi\). The formula used to compute \(\chi\) is given by:

\[\chi = We^{-0.2}\left(\frac{d}{s}\right)^{-0.05} \left(\frac{\cos{\beta_1}}{\cos{\beta_2}} \right)^{-1.4} \left(\alpha_1 - \alpha_{1,\mathrm{des}}\right)\]

Depending on the value of \(\chi\), two equations are used for computing the increment in profile losses:

  1. For \(\chi \geq 0\):

\[\Delta \phi_{p}^2 = \sum_{i=1}^{8} a_i \, \chi^i\]

with coefficients:

\[\begin{split}a_1 = -6.149 \times 10^{-5} \\ a_2 = +1.327 \times 10^{-3} \\ a_3 = -2.506 \times 10^{-4} \\ a_4 = -1.542 \times 10^{-4} \\ a_5 = +9.017 \times 10^{-5} \\ a_6 = +1.106 \times 10^{-5} \\ a_7 = -5.318 \times 10^{-6} \\ a_8 = +3.711 \times 10^{-7}\end{split}\]
  1. For \(\chi < 0\):

\[\Delta \phi_{p}^2 = \sum_{i=1}^{2} b_i \, \chi^i\]

with coefficients:

\[\begin{split}b_1 = -8.720e-4 \times 10^{-4} \\ b_2 = +1.358e-4 \times 10^{-4}\end{split}\]

This function also implements two safeguard methods to prevent unrealistic values of the pressure loss increment when the value of \(\chi\) is outside the range of validity of the correlation

  1. Linear extrapolation beyond a certain \(\chi\):

    Beyond a certain value of the distance parameter \(\hat{\chi}\) the function linearly extrapolates based on the slope of the polynomial.

  2. Loss Limiting:

    The profile loss increment is limited to a maximum value \(\Delta \hat{\phi}_{p}^2\) to prevent potential over-predictions. The limiting mechanism is smooth to ensure that the function is differentiable.

The final expression for the loss coefficient increment can be summarized as:

\[\begin{split}\begin{align} \Delta \phi_{p}^2 = \begin{cases} \sum_{i=1}^{2} b_i \, \chi^i & \text{for } \chi < 0 \\ \sum_{i=1}^{8} a_i \, \chi^i & \text{for } 0 \leq \chi \leq \hat{\chi} \\ \Delta\phi_{p}^2(\hat{\chi}) + \mathrm{slope}(\hat{\chi}) \cdot(\chi - \hat{\chi}) & \text{for } \chi > \hat{\chi} \end{cases} \end{align}\end{split}\]
\[\Delta \phi_{p}^2 = \mathrm{smooth\,min}(\Delta \phi_{p}^2, \Delta \hat{\phi}_{p}^2)\]
Parameters:
chiarray-like

The distance parameter, \(\chi\), used to compute the profile losses increment.

chi_extrapolationfloat, optional

The value of \(\chi\) beyond which linear extrapolation is applied. Default is 5.

loss_limitfloat, optional

The upper limit to which the profile loss increment is smoothly constrained. Default is 0.5.

Returns:
array-like

Increment in profile losses due to the effect of incidence.

turboflow.axial_turbine.loss_model_benner.get_penetration_depth(flow_parameters, geometry, delta_height)[source]

Calculated the penetration depth of the passage vortex separation line relative to the blade span.

The endwall inlet boundary layer generate a vortex which propagtes through the cascade section, and the spanwise penetration of this vortex affect the magnutude of the secondary loss coefficient. This function approximate the vortex penetration depth to the blade span by the correlation developed by [Benner et al., 2006].

The quantity is calculated as:

\[\frac{\mathrm{Z_{te}}}{H} = \frac{0.10F_t^{0.79}}{\sqrt{CR}\left(\frac{H}{c}\right)^{0.55}} + 32.70\frac{\delta^*}{H}^2\]

where:

  • \(CR = \frac{\cos(\beta_\mathrm{in})}{\cos(\beta_\mathrm{out})}\) is the convergence ratio.

  • \(H\) is the mean height.

  • \(c\) is the chord.

  • \(\delta^*\) is the inlet endwall boundary layer displacement thickness.

  • \(\beta_\mathrm{out}\) is the exit relative flow angle.

  • \(F_t\) is the tangential loading coefficient.

The tangiential loading coefficient is calculated by a separate function (F_t).

Parameters:
flow_parametersdict

Dictionary containing flow-related parameters.

geometrydict

Dictionary with geometric parameters.

delta_heightfloat

The inlet endwall boundary layer displacement thickness relative to the mean blade height.

Returns:
float

Spanwise penetration depth of the passage vortex relative to the mean blade height.

turboflow.axial_turbine.loss_model_benner.get_profile_loss(flow_parameters, geometry)[source]

Calculate the profile loss coefficient for the current cascade using the Kacker and Okapuu loss model. The equation for \(\mathrm{Y_p}\) is given by:

\[\mathrm{Y_p} = \mathrm{Y_{reaction}} - \left|\frac{\theta_\mathrm{in}}{\beta_\mathrm{out}}\right| \cdot \left(\frac{\theta_\mathrm{in}}{\beta_\mathrm{out}}\right) \cdot (\mathrm{Y_{impulse}} - \mathrm{Y_{reaction}})\]

where:

  • \(\mathrm{Y_{reaction}}\) is the reaction loss coefficient computed using Aungier correlation.

  • \(\mathrm{Y_{impulse}}\) is the impulse loss coefficient computed using Aungier correlation.

  • \(\theta_\mathrm{in}\) is the inlet metal angle.

  • \(\beta_\mathrm{out}\) is the exit flow angle.

The function also applies various corrections based on flow parameters and geometry factors.

Parameters:
flow_parametersdict

Dictionary containing flow-related parameters.

geometrydict

Dictionary with geometric parameters.

Returns:
float

Profile loss coefficient.

turboflow.axial_turbine.loss_model_benner.get_secondary_loss(flow_parameters, geometry, delta_height)[source]

Calculate the secondary loss coefficient.

The correlation takes two different forms depending on the aspect ratio:

If aspect ratio \(\leq 2.0\)

\[\mathrm{Y_{s}} = \frac{0.038 + 0.41 \tanh(1.20\delta^*/H)}{\sqrt{\cos(\xi)}CR(H/c)^{0.55}\frac{\cos(\beta_\mathrm{out})}{\cos(\xi)}^{0.55}}\]

wheras if aspect ratio \(>2.0\)

\[\mathrm{Y_{s}} = \frac{0.052 + 0.56 \tanh(1.20\delta^*/H)}{\sqrt{\cos(\xi)}CR(H/c)\frac{\cos(\beta_\mathrm{out})}{\cos(\xi)}^{0.55}}\]

where:

  • \(CR = \frac{\cos(\beta_\mathrm{in})}{\cos(\beta_\mathrm{out})}\) is the convergence ratio.

  • \(H\) is the mean height.

  • \(c\) is the chord.

  • \(\delta^*\) is the inlet endwall boundary layer displacement thickness.

  • \(\xi\) is the stagger angle.

  • \(\beta_\mathrm{out}\) is the exit relative flow angle.

Parameters:
flow_parametersdict

Dictionary containing flow-related parameters.

geometrydict

Dictionary with geometric parameters.

Returns:
float

Secondary loss coefficient.

turboflow.axial_turbine.loss_model_benner.get_tip_clearance_loss(flow_parameters, geometry)[source]

Calculate the tip clearance loss coefficient for the current cascade using the Kacker and Okapuu loss model. The equation for the tip clearance loss coefficent is given by:

\[\mathrm{Y_{cl}} = B \cdot Z \cdot \frac{c}{H} \cdot \left(\frac{t_\mathrm{cl}}{H}\right)^{0.78}\]

where:

  • \(B\) is an empirical parameter that depends on the type of cascade (0 for stator, 0.37 for shrouded rotor).

  • \(Z\) is a blade loading parameter

  • \(c\) is the chord.

  • \(H\) is the mean blade height.

  • \(t_\mathrm{cl}\) is the tip clearance.

Parameters:
flow_parametersdict

Dictionary containing flow-related parameters.

geometrydict

Dictionary with geometric parameters.

Returns:
float

Tip clearance loss coefficient.

turboflow.axial_turbine.loss_model_benner.get_trailing_edge_loss(flow_parameters, geometry)[source]

Calculate the trailing edge loss coefficient using the Kacker-Okapuu model. The main equation for the kinetic-energy coefficient is given by:

\[d_{\phi^2} = d_{\phi^2_\mathrm{reaction}} - \left|\frac{\theta_\mathrm{in}}{\beta_\mathrm{out}}\right| \cdot \left(\frac{\theta_\mathrm{in}}{\beta_\mathrm{out}}\right) \cdot (d_{\phi^2_\mathrm{impulse}} - d_{\phi^2_\mathrm{reaction}})\]

The kinetic-energy coefficient is converted to the total pressure loss coefficient by:

\[\mathrm{Y_{te}} = \frac{1}{{1 - \phi^2}} - 1\]

where:

  • \(d_{\phi^2_\mathrm{reaction}}\) and \(d_{\phi^2_\mathrm{impulse}}\) are coefficients related to kinetic energy loss for reaction and impulse blades respectively, and are interpolated based on trailing edge to throat opening ratio.

  • \(\beta_\mathrm{out}\) is the exit flow angle.

  • \(\theta_\mathrm{in}\) is the inlet metal angle.

The function also applies various interpolations and computations based on flow parameters and geometry factors.

Parameters:
flow_parametersdict

Dictionary containing flow-related parameters.

geometrydict

Dictionary with geometric parameters.

Returns:
float

Trailing edge loss coefficient.

turboflow.axial_turbine.loss_model_benner.impulse_blades(r_sc, angle_out)[source]

Use Aungier correlation to compute the pressure loss coefficient for impulse blades [Aungier, 2006].

This correlation is a formula that reproduces the figures from the Ainley and Mathieson original figures [Ainley and Mathieson, 1951], and is a function of the pitch-to-chord ratio and exit relative flow angle.

The correlation uses the following equations:

\[\begin{split}& \beta_\mathrm{tan} = 90 - \beta_\mathrm{ax} \\ & \left(\frac{s}{c}\right)_\mathrm{min} = 0.224 + 1.575\left(\frac{\beta_\mathrm{tan}}{90}\right) - \left(\frac{\beta_\mathrm{tan}}{90}\right)^2 \\ & X = \left(\frac{s}{c}\right) - \left(\frac{s}{c}\right)_\mathrm{min} \\ & A = 0.242 - \frac{\beta_\mathrm{tan}}{151} + \left(\frac{\beta_\mathrm{tan}}{127}\right)^2 \\ & B = \begin{cases} 0.3 + \frac{30 - \beta_\mathrm{tan}}{50} && \text{if } \beta_\mathrm{tan} < 30 \\ 0.3 + \frac{30 - \beta_\mathrm{tan}}{275} && \text{if } \beta_\mathrm{tan} \geq 30 \end{cases} \\ & C = 0.88 - \frac{\beta_\mathrm{tan}}{42.4} + \left(\frac{\beta_\mathrm{tan}}{72.8}\right)^2 \\ & \mathrm{Y_{p,impulse}} = A + BX^2 - CX^3 \end{split}\]

where:

  • \(s\) is the pitch

  • \(c\) is the chord

  • \(\beta_\mathrm{tan}\) and \(\beta_\mathrm{ax}\) is the exit relative flow angle with respect to tangential and axial direction.

Parameters:
r_scfloat

Pitch-to-chord ratio.

angle_outfloat

Exit relative flow angle (in degrees).

Returns:
float

Pressure loss coefficient for impulse blades.

turboflow.axial_turbine.loss_model_benner.nozzle_blades(r_sc, angle_out)[source]

Use Aungier correlation to compute the pressure loss coefficient for nozzle blades [Aungier, 2006].

This correlation is a formula that reproduces the figures from the Ainley and Mathieson original figures [Ainley and Mathieson, 1951], and is a function of the pitch-to-chord ratio and exit relative flow angle.

The correlation uses the following equations:

\[\begin{split}& \beta_\mathrm{tan} = 90 - \beta_\mathrm{ax} \\ & \left(\frac{s}{c}\right)_\mathrm{min} = \begin{cases} 0.46 + \frac{\beta_\mathrm{tan}}{77} && \text{if } \beta_\mathrm{tan} < 30 \\ 0.614 + \frac{\beta_\mathrm{tan}}{130} && \text{if } \beta_\mathrm{tan} \geq 30 \end{cases} \\ & X = \left(\frac{s}{c}\right) - \left(\frac{s}{c}\right)_\mathrm{min} \\ & A = \begin{cases} 0.025 + \frac{27 - \beta_\mathrm{tan}}{530} && \text{if } \beta_\mathrm{tan} < 27 \\ 0.025 + \frac{27 - \beta_\mathrm{tan}}{3085} && \text{if } \beta_\mathrm{tan} \geq 27 \end{cases} \\ & B = 0.1583 - \frac{\beta_\mathrm{tan}}{1640} \\ & C = 0.08\left(\frac{\beta_\mathrm{tan}}{30}\right)^2 -1 \\ & n = 1 + \frac{\beta_\mathrm{tan}}{30} \\ & \mathrm{Y_{p,reaction}} = \begin{cases} A + BX^2 + CX^3 && \text{if } \beta_\mathrm{tan} < 30 \\ A + B |X|^n && \text{if } \beta_\mathrm{tan} \geq 30 \end{cases} \end{split}\]

where:

  • \(s\) is the pitch

  • \(c\) is the chord

  • \(\beta_\mathrm{tan}\) and \(\beta_\mathrm{ax}\) is the exit relative flow angle with respect to tangential and axial direction.

Parameters:
r_scfloat

Pitch-to-chord ratio.

angle_outfloat

Exit relative flow angle (in degrees).

Returns:
float

Pressure loss coefficient for impulse blades.