pyleecan.Classes.HoleM52R module¶
Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Slot/HoleM52R
- class HoleM52R(H0=0.003, W0=0.003, H1=0, W1=0.001, H2=0.02, magnet_0=- 1, R0=0, Zh=36, mat_void=- 1, magnetization_dict_offset=None, Alpha0=0, init_dict=None, init_str=None)[source]¶
Bases:
HoleMag
Rectangular slot for buried magnet
- VERSION = 1¶
- IS_SYMMETRICAL = 1¶
- build_geometry(alpha=0, delta=0, is_simplified=False)¶
Compute the curve (Line) needed to plot the Slot. The ending point of a curve is the starting point of the next curve in the list
- Parameters:
self (HoleM52) – A HoleM52 object
alpha (float) – Angle to rotate the slot (Default value = 0) [rad]
delta (complex) – Complex to translate the slot (Default value = 0)
is_simplified (bool) – True to avoid line superposition
- Returns:
surf_list – List of SurfLine needed to draw the HoleM51
- Return type:
list
- check()¶
Check that the HoleM52 object is correct
- Parameters:
self (HoleM52R) – A HoleM52R object
- Return type:
None
- Raises:
S52R_H12CheckError – You must have H2 < H1
S52R_alphaCheckError – The teeth are too wide for the lamination (reduce W3 or H0)
S52R_W1CheckError – W1 is <=0, you must reduce W0 or W3
- comp_alpha()¶
The opening angle incl. W1 width and a Rext - H0 radius
- Parameters:
self (HoleM52) – A HoleM52 object
- Returns:
alpha – Angle between P1 and P9 (cf schematics) [rad]
- Return type:
float
- comp_magnetization_dict(is_north=True)¶
Compute the dictionary of the magnetization direction of the magnets (key=magnet_X, value=angle[rad]) Mangetization angle with Hole centered on Ox axis
- Parameters:
self (HoleM52R) – a HoleM52R object
is_north (True) – True: comp north magnetization, else add pi [rad]
- Returns:
mag_dict – magnetization dictionary (key=magnet_X, value=angle[rad])
- Return type:
dict
- comp_radius()¶
Compute the radius of the min and max circle that contains the hole
- Parameters:
self (HoleM52) – A HoleM52R object
- Returns:
(Rmin,Rmax) – Radius of the circle that contains the hole [m]
- Return type:
tuple
- comp_surface()¶
Compute the surface of the Hole
- Parameters:
self (HoleM52R) – A HoleM52R object
- Returns:
S – Surface of the Hole. [m**2]
- Return type:
float
- comp_surface_magnet_id(index)¶
Compute the surface of the hole magnet of the corresponding index
- Parameters:
self (HoleM52R) – A HoleM52R object
index (int) – Index of the magnet to compute the surface
- Returns:
Smag – Surface of the Magnet [m**2]
- Return type:
float
- has_magnet()¶
Return if the Hole has magnets
- Parameters:
self (HoleM52R) – A HoleM52R object
- Returns:
has_magnet – True if the magnets are not None
- Return type:
bool
- plot_schematics(is_default=False, is_add_point_label=False, is_add_schematics=True, is_add_main_line=True, type_add_active=True, save_path=None, is_show_fig=True)¶
Plot the schematics of the slot
- Parameters:
self (HoleM51) – A HoleM51 object
is_default (bool) – True: plot default schematics, else use current slot values
is_add_point_label (bool) – True to display the name of the points (Z1, Z2….)
is_add_schematics (bool) – True to display the schematics information (W0, H0…)
is_add_main_line (bool) – True to display “main lines” (slot opening and 0x axis)
type_add_active (int) – 0: No active surface, 1: active surface as winding, 2: active surface as magnet
save_path (str) – full path including folder, name and extension of the file to save if save_path is not None
is_show_fig (bool) – To call show at the end of the method
- remove_magnet()¶
Remove the magnet (set to None) of the Hole
- Parameters:
self (HoleM52R) – a HoleM52R object
- get_height_magnet_id(index)¶
Get the height of the hole magnet of the corresponding index
- Parameters:
self (HoleM52R) – A HoleM52R object
index (int) – Index of the magnet to get the height
- Returns:
Hmag – Height of the Magnet [m]
- Return type:
float
- 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 H0¶
Slot depth
- Type:
float
- Min:
0
- property W0¶
Magnet width
- Type:
float
- Min:
0
- property H1¶
Magnet height
- Type:
float
- Min:
0
- property W1¶
Void width
- Type:
float
- Min:
0
- property H2¶
Additional depth for the magnet
- Type:
float
- Min:
0
- property magnet_0¶
Magnet of the hole
- Type:
Magnet
- property R0¶
Void corner radius
- Type:
float
- Min:
0