Lamination (class)

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

class Lamination(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._frozen.FrozenClass

abstract class for lamination

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

Build the geometry of the Lamination

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

  • Returns

  • surf_list (list) – list of surfaces needed to draw the lamination

check()

Check that the Lamination object is correct

Parameters

self – A Lamination object

Returns

Return type

None

Raises
  • LC_VentYokeIn – The ventilation ducts cross the yoke internal radius

  • LC_VentYokeOut – The ventilation ducts cross the yoke external radius

  • LC_RadiusError – The internal radius is greater than the external one

comp_length()

Compute the total length of the Lamination (including radial ventilations duct)

Parameters

self (Lamination) – A Lamination object

Returns

Lt – Total Lenght of the Lamination [m]

Return type

float

comp_masses()

Compute the masses of the Lamination

Parameters

self (Lamination) – A Lamination object

Returns

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

Return type

dict

comp_radius_mec()

Compute the mechanical radius of the Lamination [m]

Parameters

self (Lamination) – A Lamination object

Returns

Rmec – Mechanical radius [m]

Return type

float

comp_surface_axial_vent()

Compute the Lamination axial vent

Parameters

self (Lamination) – A Lamination object

Returns

Svent – Surface of the Lamination’s axial ventilation [m**2]

Return type

float

comp_surfaces()

Compute the Lamination surface (Total, Vent).

Parameters

self (Lamination) – A Lamination object

Returns

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

Return type

dict

comp_volumes()

Compute the volumes of the Lamination

Parameters

self (Lamination) – A Lamination object

Returns

V_dict – Volume of the Lamination (Vlam, Vvent, Vyoke, Vteeth) [m**3]

Return type

dict

get_bore_line(alpha1, alpha2, label='', ignore_notches=False)
Parameters
  • self (Lamination) – a Lamination object

  • alpha1 (float) – Starting angle [rad]

  • alpha2 (float) – Ending angle [rad]

  • label (str) – the label of the bore line

Returns

bore_line – list of bore line

Return type

list

get_Rbo()

Return the bore lamination radius

Parameters

self (Lamination) – A Lamination object

Returns

Rbo – The lamination bore radius [m]

Return type

float

get_Ryoke()

Return the yoke lamination radius

Parameters

self (Lamination) – A Lamination object

Returns

Ryoke – The lamination yoke radius [m]

Return type

float

get_name_phase()

Return the name of the winding phases

Parameters

self (Lamination) – A Lamination object

Returns

name_phase – Empty list

Return type

list

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

Plot the Lamination in a matplotlib fig

Parameters
  • self (Lamination) – A Lamination 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 (no effect for Lamination 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_edge_only (bool) – To plot transparent Patches

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

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 (Lamination) – Lamination object

Returns

polar_eq – The polar equivalent of the lamination

Return type

Lamination

is_outwards()

Return if the slot is outwards (on an external lamination) or inwards (on an internal lamination)

Parameters

self (Slot) – A Slot object

Returns

is_outwards – True if the Lamination is not internal and false if not

Return type

bool

comp_height_yoke()

Compute the yoke height

Parameters

self (Lamination) – A Lamination object

Returns

Hy – yoke height [m]

Return type

float

get_notch_list(sym=1)

Returns an ordered description of the notches

Parameters
  • self (Lamination) – A Lamination object

  • sym (int) – Number of symmetry

Returns

notch_list – list of dictionary with key: “begin_angle”, “end_angle”, “obj”

Return type

list

comp_angle_q_axis()

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

Parameters

self (Lamination) – A Lamination object

Returns

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

Return type

float

comp_radius_mid_yoke()

Compute the Lamination middle of the yoke radius

Parameters

self (Lamination) – A Lamination object

Returns

Ry – middle of the yoke radius [m]

Return type

float

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 L1

Lamination stack active length [m] without radial ventilation airducts but including insulation layers between lamination sheets

Type

float

Min

0

Max

100

property mat_type

Lamination’s material

Type

Material

property Nrvd

number of radial air ventilation ducts in lamination

Type

int

Min

0

property Wrvd

axial width of ventilation ducts in lamination

Type

float

Min

0

property Kf1

lamination stacking / packing factor

Type

float

Min

0

Max

1

property is_internal

1 for internal lamination topology, 0 for external lamination

Type

bool

property Rint

To fill

Type

float

Min

0

property Rext

To fill

Type

float

Min

0

property is_stator

To fill

Type

bool

property axial_vent

Axial ventilation ducts

Type

[Hole]

property notch

Lamination bore notches

Type

[Notch]