Passage

class turbodesign.passage.Passage[source]
get_area(t_hub: float) float[source]

Get Area

Parameters:

t_hub (float) – Percent arc length along the hub

Returns:

Area

Return type:

float

get_cutting_line(t_hub: float, t_shroud: float | None = None) <lambda>, float, float][source]

Gets the cutting line perpendicular to hub and shroud

Parameters:

t_hub (float) – percentage along the axial direction

Returns:

cut (line2D): line from hub to shroud t_hub (float): Percentage along hub arc length t_shroud (Optional[float]): t corresponding to intersection of bisector of hub. Defaults to None

Return type:

(Tuple) containing

get_dm(t_span: float, location: float, resolution: int = 1000) float[source]

return the derivative in the meridional direction at a particular point

Parameters:
  • t_span (float) – percent span

  • location (float) – hub location of the blade

  • resolution (int, optional) – number of points to represent the hub curve. Defaults to 1000.

Returns:

returns the derivative

Return type:

(float)

get_m(t_span: float, resolution: int = 100) ndarray[tuple[Any, ...], dtype[_ScalarT]][source]

Meridional cooridnates

Parameters:
  • t_span (float) – _description_

  • resolution (int, optional) – _description_. Defaults to 100.

Returns:

_description_

Return type:

npt.NDArray

get_streamline(t_radial: float) Tuple[ndarray[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]]][source]

Gets the streamline at a certain percent radius

Parameters:

t_radial (float) – percent between hub and shroud

Returns:

t_streamline (npt.NDArray): Non dimensional length of the streamline x_streamline (npt.NDArray): x-coordinate along the streamline r_streamline (npt.NDArray): r-coordinate along the streamline

Return type:

Tuple containing

get_xr_slice(t_span: float, percent_hub: Tuple[float, float], percent_shroud: Tuple[float, float] | None = None, resolution: int = 100) ndarray[tuple[Any, ...], dtype[float64]][source]

Return the (x, r) coordinates of a straight streamline segment that connects corresponding hub and shroud points, sampled uniformly along each surface between the given percent limits.

The point returned on each connecting line is at parametric position t_span in [0, 1], where 0 = hub point and 1 = shroud point.

Parameters:
  • t_span – Interpolation parameter along each hub→shroud connector (0..1).

  • percent_hub – (start, end) fractional arc-length positions along the hub (0..1).

  • percent_shroud – Optional (start, end) along the shroud (0..1). If None, the shroud uses the same normalized range as percent_hub.

  • resolution – Number of sample points along the streamwise direction.

Returns:

(resolution, 2) array of [x, r] coordinates.

property hub_length

returns the computed length of the hub :returns: _description_ :rtype: _type_

plot_cuts(percent_axial: List[float] = [])[source]

_summary_

Parameters:

percent_axial (List[float], optional) – _description_. Defaults to [].

property shroud_length

returns the computed length of the shroud :returns: _description_ :rtype: _type_

streamline_curvature(x_streamline: ndarray[tuple[Any, ...], dtype[_ScalarT]], r_streamline: ndarray[tuple[Any, ...], dtype[_ScalarT]]) Tuple[ndarray[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]]][source]

Hub and casing values of streamline angles of inclination and curvature

x_streamline[axial,radial] r_streamline[axial,radial]

Parameters:
  • x_streamline (np.ndarray) – Axial position as a matrix with shape [number of stations, number of x-positions]

  • r_streamline (np.ndarray) – Annulus Radii of streamlines arranged with shape [number of stations, number of x-positions]

Returns:

containing

phi (np.ndarray): Array containing angles of inclination for each radi at each station. Rows = radius, columns = station rm (np.ndarray): Array containing the curvature for each station and streamline r (np.ndarray): Annulus radius

Return type:

Tuple

References

https://stackoverflow.com/questions/28269379/curve-curvature-in-numpy