Source code for turbodesign.loss.turbine.fixedefficiency

from ...bladerow import BladeRow, sutherland
from ...enums import RowType, LossType
from ..losstype import LossBaseClass
import numpy.typing as npt 

[docs] class FixedEfficiency(LossBaseClass): efficiency:float def __init__(self,efficiency:float): """Fixed Efficiency Loss """ super().__init__(LossType.Enthalpy) self.efficiency = efficiency
[docs] def __call__(self,row:BladeRow, upstream:BladeRow) -> npt.NDArray: """Fixed efficiency loss Args: row (BladeRow): Blade row being evaluated. upstream (BladeRow): Upstream blade row (unused, kept for API parity). Returns: numpy.ndarray: Spanwise efficiency array; zeros for stators, fixed value for rotors. """ if row.row_type == RowType.Stator: return row.r*0 else: return self.efficiency + row.r*0