BladeRow
- class turbodesign.bladerow.BladeRow[source]
A single blade row (stator or rotor) in a turbomachine stage.
- \*\*Core Configuration**
- id
Row identifier.
- Type:
int
- stage_id
Stage identifier.
- Type:
int
- loss_function
Loss model applied to this row.
- Type:
LossBaseClass, optional
- deviation_function
Deviation model applied to this row.
- Type:
DeviationBaseClass, optional
- cutting_line
Line perpendicular to the streamline.
- Type:
line2D, optional
- rp
Degree of reaction.
- Type:
float
- hub_location
Hub axial location.
- Type:
float
- shroud_location
Shroud axial location.
- Type:
float
- \*\*Fluid Properties**
- R
Ideal gas constant, J/(kg K). Default 287.15.
- Type:
float
- gamma
Ratio of specific heats Cp/Cv. Default 1.33.
- Type:
float
- Cp
Specific heat at constant pressure, J/(kg K). Default 1019.
- Type:
float
- Cv
Specific heat at constant volume, J/(kg K).
- Type:
float
- mu
Dynamic viscosity, Pa s.
- Type:
float
- \*\*Mass Flow**
- total_massflow
Total mass flow including upstream cooling, kg/s.
- Type:
float
- massflow
Mass flow distribution per radial station.
- Type:
ndarray
- total_massflow_no_coolant
Inlet mass flow without coolant, kg/s.
- Type:
float
- massflow_target
Custom mass flow distribution for angle matching, kg/s.
- Type:
ndarray, optional
- \*\*Streamline Geometry**
- percent_hub
Where blade row is defined along the hub (0-1).
- Type:
float
- percent_hub_shroud
Percent streamline length from hub to shroud.
- Type:
ndarray
- x
Axial coordinates.
- Type:
ndarray
- r
Radial coordinates.
- Type:
ndarray
- m
Meridional coordinates.
- Type:
ndarray
- total_area
Total annular flow area.
- Type:
float
- area
Flow area per streamline.
- Type:
ndarray
- \*\*Row Efficiency**
- eta_total
Total-to-total isentropic efficiency.
- Type:
float
- eta_static
Total-to-static isentropic efficiency.
- Type:
float
- eta_poly
Polytropic efficiency.
- Type:
float
- stage_loading
Stage loading coefficient (work per stage).
- Type:
float
- \*\*Flow Angles** *(radians)*
- alpha1, alpha2
Absolute flow angles at inlet and exit.
- Type:
ndarray
- beta1, beta2
Relative flow angles at inlet and exit.
- Type:
ndarray
- deviation
Flow deviation from metal angle.
- Type:
ndarray
- beta1_fixed, beta2_fixed
Whether inlet/exit geometry is already defined.
- Type:
bool
- \*\*Velocities**
- Vm
Meridional velocity.
- Type:
ndarray
- Vx
Axial velocity.
- Type:
ndarray
- Vt
Tangential (swirl) velocity.
- Type:
ndarray
- Vr
Radial velocity.
- Type:
ndarray
- V
Absolute velocity magnitude.
- Type:
ndarray
- U
Blade peripheral velocity.
- Type:
ndarray
- W
Relative velocity magnitude.
- Type:
ndarray
- Wt
Relative tangential velocity.
- Type:
ndarray
- M
Absolute Mach number.
- Type:
ndarray
- M_rel
Relative Mach number.
- Type:
ndarray
- omega
Angular velocity, rad/s.
- Type:
float
- \*\*Thermodynamic Quantities**
- P0
Total pressure, Pa.
- Type:
ndarray
- T0
Total temperature, K.
- Type:
ndarray
- P
Static pressure, Pa.
- Type:
ndarray
- T
Static temperature, K.
- Type:
ndarray
- rho
Density, kg/m^3.
- Type:
ndarray
- P0R
Relative total pressure, Pa.
- Type:
ndarray
- T0R
Relative total temperature, K.
- Type:
ndarray
- entropy_rise
Entropy rise across row.
- Type:
ndarray
- \*\*Performance**
- power
Power, W.
- Type:
float
- P0_P
Total-to-static pressure ratio.
- Type:
float
- P0_ratio
Total-to-total pressure ratio.
- Type:
float
- flow_coefficient
Flow coefficient (Vm/U).
- Type:
float
- Reynolds
Reynolds number.
- Type:
float
- Yp
Pressure loss coefficient.
- Type:
ndarray
- \*\*Blade Geometry** *(set via properties)*
- axial_chord
Axial chord length. Set via property.
- Type:
float
- aspect_ratio
Height-to-chord ratio. Set via property.
- Type:
float
- pitch_to_chord
Pitch-to-chord ratio. Set via property.
- Type:
float
- stagger
Stagger angle, degrees. Set via property.
- Type:
float
- num_blades
Blade count. Set via property.
- Type:
int
- tip_clearance
Clearance as fraction of span. Set via property.
- Type:
float
- te_pitch
Trailing-edge-to-pitch ratio. Set via property.
- Type:
float
- blade_to_blade_gap
Inter-row gap as fraction of chord. Set via property.
- Type:
float
- Cp: float = 1019
- Cv: float = 893.8596491228071
- M: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- M_rel: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- P: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- P0: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- P0R: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- P0R_is: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- P0_P: float = 0
- P0_is: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- P0_ratio: float = 0
- P0_ratio_target: float = 0
- P0_stator_inlet: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- R: float = 287.15
- Reynolds: float = 0
- T: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- T0: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- T0R: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- T0_is: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- T0_stator_inlet: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- T_is: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- U: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- V: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- V2: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- Vm: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- Vr: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- Vt: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- Vx: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- W: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- Wt: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- Yp: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- alpha1: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- alpha2: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- area: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- property aspect_ratio
- property axial_chord: float
Returns the mean axial chord defined in the x-direction
- Returns:
Axial Chord
- Return type:
float
- beta1: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- beta1_fixed: bool = False
- property beta1_metal: ndarray[tuple[Any, ...], dtype[_ScalarT]]
Backward-compatible alias for metal_inlet_angle.
- beta1_metal_radii: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- beta2: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- beta2_fixed: bool = False
- property beta2_metal: ndarray[tuple[Any, ...], dtype[_ScalarT]]
Backward-compatible alias for metal_exit_angle.
- beta2_metal_radii: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- property blade_to_blade_gap: float
Returns the blade to blade gap value
- Returns:
_description_
- Return type:
float
- blockage: float = 0
- calculated_massflow: float = 0
- property camber: float
Estimates the camber of the blade using a bezier curve. This is not as accurate because thickness is not defined on suction and pressure sides.
- Returns:
camber length
- Return type:
float
- property chord: ndarray[tuple[Any, ...], dtype[_ScalarT]]
Chord defined at mean radius
- Returns:
axial chord
- Return type:
float
- property coolant
- cutting_line: <lambda> | None = None
- deviation: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- deviation_function: DeviationBaseClass | None = None
- entropy_rise: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- eta_poly: float = 0.0
- eta_static: float = 0
- eta_total: float = 0
- euler_power: float = 0
- flow_coefficient: float = 0
- gamma: float = 1.33
- hub_location: float = 0.0
- id: int = 0
- incli_curve_radii: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- property inlet_to_outlet_pratio: Tuple[float, float]
This is what is varied by the optimization. The range is between [0 and 1] but you should
- Returns:
_description_
- Return type:
List[float]
- property location: float
- loss_function: LossBaseClass | None = None
- property loss_model
- m: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- massflow: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- massflow_target: ndarray[tuple[Any, ...], dtype[_ScalarT]] | None = None
- property metal_exit_angle: ndarray[tuple[Any, ...], dtype[_ScalarT]]
Blade metal exit angle (degrees).
- property metal_inlet_angle: ndarray[tuple[Any, ...], dtype[_ScalarT]]
Blade metal inlet angle (degrees).
- mprime: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- mu: float = 0
- property num_blades: float
Configured number of blades (set during design/initialization).
- omega: float = 0
- percent_hub: float = 0
- percent_hub_shroud: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- phi: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- property pitch: float
Returns the pitch which is the distance from blade to blade
- Returns:
pitch
- Return type:
float
- property pitch_to_chord: ndarray[tuple[Any, ...], dtype[_ScalarT]]
Gets the pitch to chord ratio
- Returns:
pitch to chord ratio
- Return type:
float
- power: float = 0
- power_distribution: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- power_mean: float = 0
- r: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- rho: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- rm: ndarray[tuple[Any, ...], dtype[_ScalarT]]
- rp: float = 0.4
- property rpm
- shroud_location: float = 0.0
- property solidity: ndarray[tuple[Any, ...], dtype[_ScalarT]]
Inverse of pitch to chord ratio
- Returns:
solidity value
- Return type:
float
- stage_id: int = 0
- stage_loading: float = 0
- property stagger: float
Average stagger angle
- Returns:
stagger angle
- Return type:
float
- synchronize_blade_geometry() None[source]
Couple num_blades, pitch-to-chord/solidity, chord, and stagger.
Uses mean radius from interpolated streamlines to derive pitch, chord, and stagger (axial chord / chord).
- property te_pitch
Trailing edge to pitch ratio
- Returns:
trailing edge to pitch ratio
- Return type:
float
- property throat: float
Throat distance
- Returns:
throat
- Return type:
float
- property tip_clearance
Tip clearance as a percentage of annulus height
- total_area: float = 0
- total_massflow: float = 0
- total_massflow_no_coolant: float = 0
- x: ndarray[tuple[Any, ...], dtype[_ScalarT]]
Module Functions
- turbodesign.bladerow.interpolate_streamline_quantities(row: BladeRow, passage: Passage, num_streamlines: int = 3)[source]
Interpolate all quantities onto the streamline and allocates variables. Run this after setting some initial conditions
- turbodesign.bladerow.sutherland(T: float | ndarray[tuple[Any, ...], dtype[_ScalarT]]) float | ndarray[tuple[Any, ...], dtype[_ScalarT]][source]
Sutherland viscosity calculation used for reynolds number
- Parameters:
T (float) – Temperature in Kelvin
- Returns:
Dynamic Viscosity (mu) in Pa*s
- Return type:
float