pyleecan.Classes.LamSlotMultiWind module

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

class LamSlotMultiWind(Ksfill=None, winding=- 1, slot_list=- 1, alpha=None, sym_dict_enforced=None, L1=0.35, mat_type=- 1, Nrvd=0, Wrvd=0, Kf1=0.95, is_internal=True, Rint=0, Rext=1, is_stator=True, axial_vent=- 1, notch=- 1, skew=None, bore=None, yoke=None, init_dict=None, init_str=None)[source]

Bases: LamSlotMulti

Lamination with list of Slot filled with winding

VERSION = 1
plot(fig=None, ax=None, is_lam_only=False, sym=1, alpha=0, delta=0, is_edge_only=False, edgecolor=None, is_add_arrow=False, is_display=True, is_add_sign=False, is_show_fig=True, save_path=None, win_title=None, is_winding_connection=False)

Plot the Lamination with empty Slots in a matplotlib fig

Parameters:
  • self (LamSlotMulti) – A LamSlotMulti 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

  • is_lam_only (bool) – True to plot only the lamination

  • 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_display (bool) – False to return the patches

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

  • is_winding_connection (bool) – True to display winding connections (not used)

Returns:

  • patches (list) – List of Patches

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

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

build_geometry(sym=1, alpha=0, delta=0, is_circular_radius=False)

Build the geometry of the LamSlotMulti with winding in slots

Parameters:
  • self (LamSlotMultiWind) – A LamSlotMultiWind object

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

  • delta (complex) – Complex value for translation

  • is_circular_radius (bool) – True to add surfaces to “close” the Lamination radii

Returns:

surf_list – list of surfaces needed to draw the lamination

Return type:

list

get_pole_pair_number()

Return the number of pair of pole of the Lamination

Parameters:

self (LamSlotMultiWind) – A LamSlotMultiWind object

Returns:

p – Number of pair of pole

Return type:

int

comp_mmf_dir(current_dir=None, phase_dir=None, is_plot=False)

Compute the rotation direction of the fundamental magnetomotive force induced by the winding

Parameters:
  • self (LamSlotMultiWind) – A LamSlotMultiWind object

  • felec (float) – Stator current frequency to consider

  • current_dir (int) – Stator current rotation direction +/-1

  • phase_dir (int) – Stator winding phasor rotation direction +/-1

  • is_plot (bool) – True to plot fft2 of stator MMF

Returns:

mmf_dir – -1 or +1

Return type:

int

plot_mmf_unit(r_max=100, fig=None, save_path=None, is_show_fig=True)

Plot the winding unit mmf as a function of space :param self: an LamSlotMultiWind object :type self: LamSlotMultiWind :param Na: Space discretization :type Na: int :param fig: existing figure to use if None create a new one :type fig: Matplotlib.figure.Figure :param is_show_fig: To call show at the end of the method :type is_show_fig: bool

comp_mmf_unit(Na, Nt, felec=1, current_dir=None, phase_dir=None)

Compute the winding Unit magnetomotive force

Parameters:
  • self (LamSlotMultiWind) – an LamSlotMultiWind object

  • Na (int) – Space discretization for offline computation (otherwise use out.elec.angle)

  • Nt (int) – Time discretization for offline computation (otherwise use out.elec.time)

  • felec (float) – Stator current frequency to consider

  • current_dir (int) – Stator current rotation direction +/-1

  • phase_dir (int) – Stator winding phasor rotation direction +/-1

Returns:

  • MMF_U (SciDataTool.Classes.DataND.DataND) – Unit magnetomotive force (Na,Nt)

  • WF (SciDataTool.Classes.DataND.DataND) – Winding functions (qs,Na)

comp_wind_function(angle=None, Na=2048, alpha_mmf0=0, per_a=1)

Computation of the winding function for the lamination. By convention a tooth is centered on the X axis

Parameters:
  • self (LamSlotMultiWind) – A LamSlotMultiWind object

  • angle (ndarray) – Space discretization to compute the winding functions

  • Na (int) – Number of angular points for the winding function (not used if angle is set)

  • alpha_mmf0 (float) – Angle to shift the winding function (Default value = 0)

  • per_a (int) – Spatial periodicity factor

Returns:

wf – Winding function Matrix (qs,Na)

Return type:

ndarray

comp_angle_d_axis(is_plot=False)

Compute the angle between the X axis and the first d+ axis By convention a “Tooth” is centered on the X axis

Parameters:
  • self (LamSlotWind) – A LamSlotWind object

  • is_plot (bool) – True to plot d axis position regarding unit mmf

Returns:

d_angle – angle between the X axis and the first d+ axis

Return type:

float

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 Ksfill

Imposed Slot Fill factor (if None, will be computed according to the winding and the slot)

Type:

float

Min:

0

Max:

1

property winding

Lamination’s Winding

Type:

Winding