pyleecan.Classes.LamSlotWind module¶
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, skew=None, bore=None, yoke=None, init_dict=None, init_str=None)[source]¶
Bases:
LamSlot
Lamination with Slot filled with winding
- VERSION = 1¶
- build_geometry(sym=1, alpha=0, delta=0, is_circular_radius=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_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
- check()¶
Check that the Lamination object is correct
- Parameters:
self – A LamSlotWind object
- 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 dictionary (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 dictionary (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 dictionary (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
- 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=True, is_show_fig=True, save_path=None, win_title=None, is_legend=True, is_clean_plot=False, is_winding_connection=False, is_winding_connection_phase_A=False)¶
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
edgecolor – Color of the edges if is_edge_only=True
is_display (bool) – False to return the patches
is_add_sign (bool) – True to Add + / - on the winding
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
win_title (str) – Title for the window
is_legend (bool) – True to add the legend
is_clean_plot (bool) – True to remove title, legend, axis (only machine on plot with white background)
is_winding_connection (bool) – True to display winding connections (plot based on plot_polar_layout method of swat-em)
is_winding_connection – True to display winding connections on phase A only
- Returns:
patches (list) – List of Patches
fig (Matplotlib.figure.Figure) – Figure containing the plot
ax (Matplotlib.axes.Axes object) – Axis containing the plot
- plot_winding(wind_mat=None, all_slot=False, is_show_fig=True, save_path=None, win_title=None)¶
Plot the Winding in a matplotlib fig
- Parameters:
self (LamSlotWind) – A: LamSlotWind object
wind_mat (numpy.ndarray) – Winding Matrix, if None will call get_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
save_path (str) – full path including folder, name and extension of the file to save if save_path is not None
win_title (str) – Window title
- Return type:
None
- comp_fill_factor()¶
Compute the fill factor of the winding
- Parameters:
self (LamSlotWind) – a LamSlotWind object
- Returns:
Kfill – fill factor of the winding
- Return type:
float
- comp_output_geo()¶
Compute the main geometry output
- Parameters:
self (Lamination) – A Lamination object
- Returns:
output – Main geometry output of the lamintion
- Return type:
- 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:
- 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(save_path=None, is_show_fig=False)¶
Plot the winding unit mmf as a function of space
- Parameters:
self (LamSlotWind) – an LamSlotWind object
save_path (str) – File path to save the figure
is_show_fig (bool) – To call show at the end of the method
- Returns:
fig – Figure containing the plot
- Return type:
Matplotlib.figure.Figure
- comp_resistance_wind(T=20)¶
Compute the DC winding resistance per phase without skin effect at average temperature T degC
- 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 [Ohm]
- Return type:
float
- 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 :param self: A LamSlotWind object :type self: LamSlotWind :param is_plot: True to plot d axis position regarding unit mmf :type is_plot: bool
- Returns:
d_angle – angle between the X axis and the first d+ axis
- Return type:
float
- comp_mmf_unit(Na=None, Nt=None, felec=1, current_dir=None, phase_dir=None)¶
Compute the winding unit magnetomotive force for given inputs
- Parameters:
self (LamSlotWind) – an LamSlotWind object
Na (int) – Space discretization for offline computation
Nt (int) – Time discretization for offline computation
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 (DataTime) – Unit magnetomotive force (Na,Nt)
WF (DataTime) – Winding functions (qs,Na)
- 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 (LamSlotWind) – A LamSlotWind object
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
- 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] :param self: a LamSlotWind object :type self: LamSlotWind
- Returns:
L_dict – Dictionary 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_spatial()¶
Compute the periodicity factor of the lamination
- Parameters:
self (LamSlotWind) – A LamSlotWind object
- Returns:
per_a (int) – Number of spatial periodicities of the lamination over 2*pi
is_antiper_a (bool) – True if an spatial anti-periodicity is possible after the periodicities
- set_pole_pair_number(p)¶
Set the number of pair of pole of the Lamination
- Parameters:
self (LamSlotWind) – A LamSlotWind object
p (int) – Number of pair of pole
- 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.
- 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