turboflow.axial_turbine.loss_model_moustapha module

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

Evaluate loss coefficient according to [Kacker and Okapuu, 1982] and [Moustapha et al., 1990].

This model split the total loss coefficient into profile, secondary, trailing edge, tip clearance and incidence. The model adopt the incidence loss coefficient proposed by [Moustapha et al., 1990], but is otherwise similar to the model proposed by [Kacker and Okapuu, 1982]. The loss coefficient are combined through the following relation:

\[\mathrm{Y_{tot}} = \mathrm{Y_{p}} + \mathrm{Y_{te}} + \mathrm{Y_{corr}}\mathrm{Y_{s}} + \mathrm{Y_{cl}} + \mathrm{Y_{inc}}\]

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

  • \(\mathrm{Y_{corr}}\) : get_secondary_loss_correction_factor

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_moustapha.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_moustapha.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_moustapha.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_moustapha.get_incidence_loss(flow_parameters, geometry, beta_des)[source]

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

The model first computes the incidence parameter, \(\chi\). Based on this parameter, the kinetic-energy incidence loss coefficient is calculated to match experimental data.

\[\begin{split}\Delta\phi^2_p = \begin{cases} -5.1734e^{-6}\chi + 7.6902e^{-9}\chi^2 & \text{if } -800 \leq \chi \leq 0 \\ 0.778e^{-5}\chi + 0.56e^{-7}\chi^2 + 0.4e^{-10}\chi^3 + 2.054e^{-19}\chi^6 & \text{if } 0 \leq \chi \leq 800 \end{cases}\end{split}\]

The kinetic-energy coefficient is converted to total pressure loss coefficient through the convert_kinetic_energy_coefficient function.

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.

Raises:
Warning

If incidence parameter (\(chi\)) is out of range.

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

Calculate the incidence parameter according to the correlation proposed by [Moustapha et al., 1990].

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

The quantity is calculated as:

\[\chi = \left(\frac{\mathrm{d_{le}}}{s}\right)^{-1.6}\left(\frac{\cos{\theta_\mathrm{in}}}{\cos{\theta_\mathrm{out}}}\right)^{-2}(\beta_\mathrm{in} - \beta_\mathrm{des})\]

where:

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

  • \(s\) is the pitch.

  • \(\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.

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_moustapha.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_moustapha.get_secondary_loss(flow_parameters, geometry)[source]

The function calculates the secondary loss coefficient using the Kacker-Okapuu model. The main equation for \(\mathrm{Y_s}\) is given by:

\[\mathrm{Y_s} = 1.2 \cdot \mathrm{K_s} \cdot 0.0334 \cdot far \cdot Z \cdot \frac{\cos(\beta_{out})}{\cos(\theta_{in})}\]

where:

  • \(K_s\) is a correction factor accounting for compressible flow effects.

  • \(far\) is a factor that account for the aspect ratio of the current cascade.

  • \(Z\) is a blade loading parameter.

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

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

The correction factor \(\mathrm{K_s}\) from a separate correction factor given from get_compressible_correction_factors. get_compressible_correction_factors returns \(\mathrm{K_s}\), which is used to calculate \(\mathrm{K_s}\):

\[\mathrm{K_s} = 1 - \left(\frac{b}{H}\right)^2 (1-\mathrm{K_p})\]

where:

  • \(b\) is the axial chord.

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

The aspect ratio factor is calculated from the following correlation:

\[\begin{split}far = \begin{cases} 1 - \frac{0.25 \sqrt{|2-H/c|}}{H/c} & \text{if } H/c < 2.0 \\ c/H & \text{if } H/c \geq 2.0 \end{cases}\end{split}\]

where \(c\) is the blade chord.

The loading parameters is caclualated from the following correlation:

\[Z = 4 (\tan(\beta_\mathrm{in}) - \tan(\beta_\mathrm{out}))^2\frac{\cos^2(\beta_\mathrm{out})}{\cos(\beta_m)} \]

where:

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

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

Parameters:
flow_parametersdict

Dictionary containing flow-related parameters.

geometrydict

Dictionary with geometric parameters.

Returns:
float

Secondary loss coefficient.

turboflow.axial_turbine.loss_model_moustapha.get_secondary_loss_correction_factor(flow_parameters, geometry)[source]

Calculate the correction factor for the secondary loss coefficient to account for incidence losses.

The correction factor is calculated based on the secondary flow incidence parameter (\(\chi\)), which is determined using geometrical and flow parameters.

The correction factor (\(Y_\mathrm{corr}\)) is given by:

\[\begin{split}Y_\mathrm{corr} = \begin{cases} e^{0.9\chi} + 13\chi^2 + 400\chi^4 & \text{if } \chi \geq 0 \\ e^{0.9\chi} & \text{if } \chi < 0 \end{cases}\end{split}\]

and the incidence paramter is calculated as:

\[\chi = \frac{\beta_\mathrm{in} - \theta_\mathrm{in}}{180 - (\theta_\mathrm{in} + \theta_\mathrm{out})}\left(\frac{\cos(\theta_\mathrm{in})}{\cos(\theta_\mathrm{out})}\right)^{-1.5}\left(\frac{\mathrm{d_{le}}}{c}\right)^{-0.3}\]

where:

  • \(\chi\) is the secondary flow incidence parameter.

  • \(c\) is the chord length.

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

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

  • \(\theta_\mathrm{out}\) is the exit metal angle.

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

The function also checks if the secondary incidence parameter falls within the range of the experimental data used to determine the correction factor.

Parameters:
flow_parametersdict

Dictionary containing flow-related parameters.

geometrydict

Dictionary with geometric parameters.

Returns:
float

Secondary loss correction factor.

turboflow.axial_turbine.loss_model_moustapha.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_moustapha.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_moustapha.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_moustapha.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.