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, yoke_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, save_path=None)

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

  • save_path (str) – full path including folder, name and extension of the file to save if save_path is not None

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(**kwargs)

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

compare(other, name='self')[source]

Compare two objects and return list of differences

as_dict(**kwargs)[source]

Convert this object in a json serializable dict (can be use in __init__). Optional keyword input parameter is for internal use only and may prevent json serializability.

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