2D Passage definition

class pyturbo.aero.passage2D(airfoil_array, spacing_array, periodicity_array)[source]

Passage2D fits 3D blades inside of a channel

add_endwalls(zhub: List[float], rhub: List[float], zshroud: List[float], rshroud: List[float], zhub_control: List[float] = [], rhub_control: List[float] = [], zshroud_control: List[float] = [], rshroud_control: List[float] = [])[source]

Adds the endwalls

Parameters:
  • zhub (List[float]) – points defining the hub axial coordinate

  • rhub (List[float]) – points defining the hub radial coordinate

  • zshroud (List[float]) – points defining the shroud axial coordinate

  • rshroud (List[float]) – points defining the shroud radial coordinate

  • zhub_control (List[float], optional) – bezier axial control points for the hub. Defaults to [].

  • rhub_control (List[float], optional) – bezier radial control points for the hub. Defaults to [].

  • zshroud_control (List[float], optional) – bezier axial control points for the shroud. Defaults to [].

  • rshroud_control (List[float], optional) – bezier radial control points for the shroud. Defaults to [].

blade_fit(xBladeStart: float)[source]

Fits the blade within the channel

Parameters:

xBladeStart (float) – axial location of where the leading edge of the first blade starts within the channel

curve_endwalls(curve_zr=[])[source]

Curves the endwalls in the merdional plane. This is used to create radial machines. Distance from shroud to hub will be maintained

Parameters:

curve_zr (List) – List of points [[1,2],[3,4]]

Currently not implemented

export_dat(nChannelPoints=200, xmin: float | None = None, xmax: float | None = None, scale: float = 1)[source]

Exports the channel to a dat file, we recommend using json.

Parameters:
  • nChannelPoints (int, optional) – number of points to define the channel. Defaults to 200.

  • xmin (float, optional) – minimum axial value. Defaults to None.

  • xmax (float, optional) – maximum axial value. Defaults to None.

  • scale (float, optional) – value to scale the geometry by. Defaults to 1

export_json(nChannelPoints: int = 200, xmin: float | None = None, xmax: float | None = None, scale: float = 1)[source]

Exports the design to a json file

Parameters:
  • nChannelPoints (int, optional) – Number of channel points. Defaults to 200.

  • xmin (float, optional) – minimum axial value before scale is applied. Defaults to None.

  • xmax (float, optional) – max axial value before scale is applied. Defaults to None.

  • scale (float, optional) – value to scale the geometry by. Defaults to 1

plot2D(fig_size=None)[source]

2D plot of the channel and blade using matplotlib

plot2D_channel()[source]

Plot the blades within the channel uses plotly

plot3D()[source]

3D plot of the channel and blade using matplotlib

plot3D_ly()[source]

Plot the blades within the channel uses plotly