LamSlotWind (class)

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

class LamSlotWind(Ksfill=None, winding=-1, slot=-1, 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, init_dict=None, init_str=None)[source]

Bases: pyleecan.Classes.LamSlot.LamSlot

Lamination with Slot filled with winding

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

Build the geometry of the Lamination with winding in slots

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

  • is_simplified (bool) – True to avoid line superposition

Returns

surf_list – list of surfaces needed to draw the lamination

Return type

list

check()

Check that the Lamination object is correct

Parameters

self – A LamSlotWind object

Returns

Return type

None

Raises
  • LWC_SlotTooLong – The Slot is too long for the lamination (HYoke <0)

  • LWC_MismatchPhase – The Winding and the Converter don’t have the same number of phase

  • LWC_OverlappingSlot – The Lamination has overlapping slot

comp_masses()

Compute the Lamination masses

Parameters

self (LamSlotWind) – A LamSlotWind object

Returns

M_dict – Lamination mass dictionnary (Mtot, Mlam, Mwind) [kg]

Return type

dict

comp_surfaces()

Compute the Lamination surfaces (Slam, Svent, Sslot, Swind)

Parameters

self (LamSlotWind) – A LamSlotWind object

Returns

S_dict – Lamination surface dictionnary (Slam, Svent, Sslot, Swind) [m**2]

Return type

dict

comp_volumes()

Compute the Lamination volumes (Vlam, Vvent, Vslot, Vwind)

Parameters

self (LamSlotWind) – A LamSlotWind object

Returns

V_dict – Lamination volume dictionnary (Vlam, Vvent, Vslot, Vwind) [m**3]

Return type

dict

get_pole_pair_number()

Return the number of pair of pole of the Lamination

Parameters

self (LamSlotWind) – A LamSlotWind object

Returns

p – Number of pair of pole

Return type

int

get_name_phase()

Return the name of the winding phases

Parameters

self (LamSlotWind) – A LamSlotWind object

Returns

name_phase – List with the phase names

Return type

list

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

Plot the Lamination in a matplotlib fig

Parameters
  • self (LamSlotWind) – A LamSlotWind 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 (remove the Winding)

  • 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

  • is_display (bool) – False to return the patches

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

Returns

patches – List of Patches

Return type

list

plot_winding(wind_mat=None, all_slot=False, is_show_fig=True)

Plot the Winding in a matplotlib fig

Parameters
  • self (LamSlotWind) – A: LamSlotWind object

  • wind_mat (numpy.ndarray) – Winding Matrix, if None will call comp_connection_mat (Default value = None)

  • all_slot (bool) – True if we plot all slot and false when plotting only needed one(sym)

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

Returns

Return type

None

comp_fill_factor()

Compute the fill factor of the winding

comp_output_geo()

Compute the main geometry output

Parameters

self (Lamination) – A Lamination object

Returns

output – Main geometry output of the lamintion

Return type

OutGeoLam

get_polar_eq()

Returns a polar equivalent of the lamination

Parameters

self (LamSlotWind) – A LamSlotWind object to convert to polar

Returns

polar_eq – The polar equivalent of the lamination

Return type

LamSlotWind

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 (LamSlotWind) – A LamSlotWind 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

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

Plot the winding unit mmf as a function of space :param self: an LamSlotWind object :type self: LamSlotWind :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_resistance_wind(T=20)

Compute the DC winding resistance per phase without skin effect

Parameters
  • self (LamSlotWind) – a LamSlotWind object

  • T (float) – mean winding temperature [°C], default value is 20°C

Returns

R – DC winding resistance per phase without skin effect

Return type

float

comp_angle_d_axis()

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

Returns

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

Return type

float

comp_mmf_unit(Na=None, Nt=None, freq=1)

Compute the winding Unit magnetomotive force

Parameters
  • self (LamSlotWind) – an LamSlotWind 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)

  • freq (float) – Stator current frequency to consider

Returns

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

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

comp_rot_dir()

Compute the rotation direction of the fundamental magnetic field induced by the winding WARNING: rot_dir = -1 to have positive rotor rotating direction, i.e. rotor position moves towards positive angle

Parameters

self (LamSlotWind) – A LamSlotWind object

Returns

rot_dir – -1 or +1

Return type

int

comp_lengths_winding()

Compute the lengths of the Lamination’s Winding. - Lwtot : total length of lamination winding incl. end-windings and radial ventilation ducts [m]. - Lwact : active length of lamination winding excl. end-windings and radial ventilation ducts [m]. - Lewt : total end-winding length [m]. - Lew : end-winding length on one side for a half-turn - Lwvent : length of lamination winding in the radial ventilation ducts [m]

Parameters

self (LamSlotWind) – a LamSlotWind object

Returns

L_dict – Dictionnary of the length (Lwtot, Lwact, Lew, Lwvent)

Return type

dict

comp_number_phase_eq()

Compute the equivalent number of phase

Parameters

self (LamSlotWind) – A LamSlotWind object

Returns

qb – Number of winding phase

Return type

float

comp_periodicity()

Compute the periodicity factor of the lamination

Parameters

self (LamSlotWind) – A LamSlotWind object

Returns

  • per_a (int) – Number of spatial periodicities of the lamination

  • is_antiper_a (bool) – True if an spatial anti-periodicity is possible after the periodicities

  • per_t (int) – Number of time periodicities of the lamination

  • is_antiper_t (bool) – True if an time anti-periodicity is possible after the periodicities

save(save_path='', is_folder=False)

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

copy()

Return a copy of the class

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

as_dict()[source]

Convert this object in a json seriable dict (can be use in __init__)

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