pyleecan.Classes.Shaft module

Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Machine/Shaft

class Shaft(Lshaft=0.442, mat_type=- 1, Drsh=0.045, init_dict=None, init_str=None)[source]

Bases: FrozenClass

machine shaft

VERSION = 1
build_geometry(sym=1, alpha=0, delta=0)

Build the geometry of the shaft

Parameters:
  • self (Shaft) – Shaft Object

  • sym (int) – Symmetry factor (1= full machine, 2= half of the machine…)

  • alpha (float) – Angle for rotation [rad]

  • delta (complex) – Complex value for translation

Returns:

surf_list – list of surfaces needed to draw the lamination

Return type:

list

comp_mass()

Computation of the Shaft mass

Parameters:

self (Shaft) – A Shaft object

Returns:

M_shaft – Mass of the Shaft [kg]

Return type:

float

plot(fig=None, ax=None, sym=1, alpha=0, delta=0, is_edge_only=False, edgecolor=None, is_show_fig=True)

Plot the Shaft in a matplotlib fig

Parameters:
  • self (Shaft) – A Shaft object

  • fig (Matplotlib.figure.Figure) – existing figure to use if None create a new one

  • ax (Matplotlib.axes.Axes object) – Axis on which to plot the data

  • sym (int) – Symmetry factor (1= full machine, 2= half of the machine…)

  • alpha (float) – Angle for rotation [rad]

  • delta (complex) – Complex value for translation

  • is_edge_only (bool) – To plot transparent Patches

  • edgecolor – Color of the edges if is_edge_only=True

  • is_show_fig (bool) – To call show at the end of the method

Returns:

  • fig (Matplotlib.figure.Figure) – Figure containing the plot

  • ax (Matplotlib.axes.Axes object) – Axis containing the plot

save(save_path='', is_folder=False, type_handle_old=2, type_compression=0)

Save the object to the save_path

Parameters:
  • self – A pyleecan object

  • save_path (str) – path to the folder to save the object

  • is_folder (bool) – to split the object in different files: separate simulation machine and materials (json only)

  • type_handle_old (int) – How to handle old file in folder mode (0:Nothing, 1:Delete, 2:Move to “Backup” folder)

  • type_compression (int) – Available only for json, 0: no compression, 1: gzip

get_logger()

Get the object logger or its parent’s one

Parameters:

obj – A pyleecan object

Returns:

logger – Pyleecan object dedicated logger

Return type:

logging.Logger

compare(other, name='self', ignore_list=None, is_add_value=False)[source]

Compare two objects and return list of differences

as_dict(type_handle_ndarray=0, keep_function=False, **kwargs)[source]

Convert this object in a json serializable dict (can be use in __init__). type_handle_ndarray: int

How to handle ndarray (0: tolist, 1: copy, 2: nothing)

keep_functionbool

True to keep the function object, else return str

Optional keyword input parameter is for internal use only and may prevent json serializability.

copy()[source]

Creates a deepcopy of the object

property Lshaft

length of the rotor shaft [m] (used for weight & cost estimation only)

Type:

float

Min:

0

property mat_type

Shaft’s Material

Type:

Material

property Drsh

diameter of the rotor shaft [m], used to estimate bearing diameter for friction losses

Type:

float

Min:

0