Turbine Loss

Loss Type

class turbodesign.loss.LossBaseClass[source]
abstractmethod __call__(row: Any, upstream: Any) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Evaluate the loss for the supplied blade row.

Ainley Mathieson

class turbodesign.loss.turbine.ainleymathieson.AinleyMathieson[source]
__call__(row: BladeRow, upstream: BladeRow) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Ainley Mathieson predicts the pressure loss of a turbine nozzle or rotor. Since these correlations are from Cascade experiments, the user should be familar with the reynolds and mach number requirements for each equation and figure. Using something outside the bounds can give inaccuare approximations of loss. Additionally these correlations were done on unoptimized blades so efficiencies maybe lower than what’s attainable. Massflow can also be affected because exit P0 is affected.

This code will attempt use the correct equations and warn the user if mach number is out of range.

Note

alpha: gas flow angle relative to axial direction beta: blade angle relative to axial direction

Parameters:
  • row (BladeRow) – Blade row being evaluated.

  • upstream (BladeRow) – Upstream blade row providing inlet conditions.

Returns:

Pressure loss at zero incidence matching row.r.

Return type:

numpy.ndarray

Traupel

class turbodesign.loss.turbine.traupel.Traupel[source]
__call__(row: BladeRow, upstream: BladeRow) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Compute Traupel stage enthalpy efficiency from an upstream/downstream pair.

Parameters:
  • row (BladeRow) – Blade row being evaluated (stator or rotor).

  • upstream (BladeRow) – Upstream blade row supplying inlet conditions.

Returns:

Spanwise efficiency array matching row.r.

Return type:

numpy.ndarray

Craig Cox

class turbodesign.loss.turbine.CraigCox[source]
__call__(row: BladeRow, upstream: BladeRow) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Craig and Cox uses the enthalpy definition of loss to calculate the loss of a turbine stage.

Note

Losses are organized as Group 1 which include profile losses and secondary flows. Group 2 losses include rotor tip leakage, balance losses, guide gland losses, lacing wire losses.

All equation numbers are from the craig cox paper Craig, H. R. M., and H. J. A. Cox. “Performance estimation of axial flow turbines.” Proceedings of the Institution of Mechanical Engineers 185.1 (1970): 407-424.

Equations:

Eta_t = (Work done - Group 2 losses) / (Work done + Group 1 Losses)

Group1 Losses = (Xp + Xs + Xa)*C1**2/(200gJ) + (Xp + Xs + Xa)*W2**2/(200gJ) Group1 Losses = Stator Component + Rotor Component where C1 and W2 are exit velocities for stator and rotor

i+i_stall = (i+i_stall)_basic + (delta i + stall)_sb + (delta i + stall)_cb

(i+i_stall)_basic from Figure 11 (delta incidence + stall)_sb + (delta incidence + stall)_cb from Figure 12

Profile Loss Xp = x_pb N_pr N_pi N_pt + (delta x_p)_t + (delta x_p)_s/e + (delta x_p)_m

  • x_pb from Figure 5 but use Figure 4 to calculate Fl. Fl*x*s/b is the x axis for Figure 5

  • N_pr from figure 3

  • N_pi from Figure 10

  • N_pt from Figure 6

  • (delta x_p)_t

  • (delta x_p)_s/e from Figure 9

  • (delta x_p)_m from Figure 8

Parameters:
  • row (BladeRow) – Downstream blade row being evaluated.

  • upstream (BladeRow) – Upstream blade row providing inlet conditions.

Returns:

Stage efficiency; returns 0 for stators, spanwise array for rotors.

Return type:

numpy.ndarray | int

Kacker Okapuu

class turbodesign.loss.turbine.kackerokapuu.KackerOkapuu[source]
__call__(row: BladeRow, upstream: BladeRow) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Kacker Okapuu is an updated version of Ainley Mathieson and Dunham Came. This tool uses the pressure loss definition.

Note

All equation numbers are from the Kacker Okapuu paper

Reference:

Kacker, S. C., and U. Okapuu. “A mean line prediction method for axial flow turbine efficiency.” (1982): 111-119.

Parameters:
  • row (BladeRow) – Blade row being evaluated.

  • upstream (BladeRow) – Upstream blade row providing inlet conditions.

Returns:

Pressure loss coefficient array matching row.r.

Return type:

numpy.ndarray

Turbine Design (Default)

class turbodesign.loss.turbine.TD2.TD2[source]
__call__(row: BladeRow, upstream: BladeRow) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

TD2-2 manual equations 12a/12b for total pressure loss coefficient.

The implementation mirrors the original TD2 code path, which differs from the textbook definition but preserves legacy behavior. Use primarily for initial estimates.

Assumptions:
  1. Rotor and stator loss coefficients are equal when design requirements match.

  2. Stage reaction at meanline is 50%.

  3. Axial velocity is constant through the stage.

  4. Stator exit Mach number is 0.8.

Parameters:
  • row (BladeRow) – Blade row being evaluated.

  • upstream (BladeRow) – Upstream blade row supplying inlet conditions.

Returns:

Total pressure loss coefficient repeated across row.r.

Return type:

numpy.ndarray

class turbodesign.loss.turbine.TD2.TD2_Reynolds_Correction[source]
__call__(upstream: BladeRow, row: BladeRow) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Apply TD2 Reynolds correction (NASA SP-290 Vol.1, p.62).

The correction follows td2-2.f line 2771: WYECOR = WYECOR*(0.35+0.65*18.21)/(0.35+0.65*(FLWP/VISC/RST(MEAN))**0.2)

Parameters:
  • upstream (BladeRow) – Upstream blade row supplying inlet conditions.

  • row (BladeRow) – Blade row receiving the correction.

Returns:

Reynolds-corrected total pressure loss coefficient.

Return type:

numpy.ndarray

Fixed Pressure Loss

class turbodesign.loss.fixedpressureloss.FixedPressureLoss[source]

Fixed pressure loss coefficient (scalar or spanwise array).

__call__(row: BladeRow, upstream: BladeRow) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Outputs the fixed pressure loss.

Fixed Efficiency Loss

class turbodesign.loss.turbine.fixedefficiency.FixedEfficiency[source]
__call__(row: BladeRow, upstream: BladeRow) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Fixed efficiency loss

Parameters:
  • row (BladeRow) – Blade row being evaluated.

  • upstream (BladeRow) – Upstream blade row (unused, kept for API parity).

Returns:

Spanwise efficiency array; zeros for stators, fixed value for rotors.

Return type:

numpy.ndarray