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=[], notch=[], 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, is_lam_only=False, sym=1, alpha=0, delta=0, is_edge_only=False, is_display=True, is_show=True)

Plot the Lamination in a matplotlib fig

Parameters:
  • self (LamSlotWind) – A LamSlotWind object
  • fig – if None, open a new fig and plot, else add to the current one (Default value = None)
  • 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 (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)

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)
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)

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)
Returns:

wf – Winding function Matrix (qs,Na)

Return type:

ndarray

plot_mmf_unit(Na=2048, fig=None)

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

comp_resistance_wind()

Compute the DC winding resistance per phase at 20°C without skin effect

Parameters:self (LamSlotWind) – a LamSlotWind object
Returns:R20 – DC winding resistance per phase at 20°C 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=2048, Nt=50)

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)
Returns:

mmf_unit – Unit magnetomotive force (Na)

Return type:

SciDataTool.Classes.DataND.DataND

comp_rot_dir()

Compute the rotation direction of the winding

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_sym()

Compute the symmetry factor of the lamination

Parameters:self (LamSlotWind) – A LamSlotWind object
Returns:
  • sym (int) – Number of symmetries of the Lamination
  • is_antisym (bool) – True if an anti-symmetry is possible after the symmetries
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()[source]

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 objet in a json seriable dict (can be use in __init__)

Ksfill

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

Type:float
Min:0
Max:1
winding

Lamination’s Winding

Type:Winding