pyleecan.Classes.WindingUD module

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

class WindingUD(is_reverse_wind=False, Nslot_shift_wind=0, qs=3, Ntcoil=7, Npcp=2, type_connection=0, p=3, Lewout=0.015, conductor=- 1, coil_pitch=1, wind_mat=None, Nlayer=1, per_a=None, is_aper_a=None, end_winding=- 1, is_reverse_layer=False, is_change_layer=False, is_permute_B_C=False, init_dict=None, init_str=None)[source]

Bases: Winding

User defined winding

VERSION = 1
NAME = 'User defined'
init_as_CW1L(Zs=None)

Compute the Winding Matrix (for winding type 2) type 2 : TOOTH WINDING, SINGLE LAYER ALTERNATE TEETH WOUND (Nlay_rad=1,Nlay_tan=1)

Parameters:
  • self (WindingUD) – A: WindingUD object

  • Zs (int) – Number of Slot (Integer >0)

Raises:

WindingT2DefNtError – Zs/qs/2 must be an integer

init_as_CW2LR(Zs=None)

Compute the Winding Matrix (for winding type 5) (Nlay_rad=1,Nlay_tan=1) type 5 : TOOTH WINDING, DOUBLE LAYER ALL TEETH WOUND, RADIAL SUPERPOSITION

Parameters:
  • self (WindingUD) – A: WindingUD object

  • Zs (int) – Number of Slot (Integer >0)

Raises:

WindingT5DefMsError – You must have 0.25< Zs/2/p/qs <= 0.5

init_as_CW2LT(Zs=None)

Compute the Winding Matrix (for winding type 1) type 1 : TOOTH WINDING, DOUBLE LAYER ALL TEETH WOUND, ORTHORADIAL SUPERPOSITION (Nlay_rad=1,Nlay_tan=2)

Parameters:
  • self (WindingUD) – A: WindingUD object

  • Zs (int) – Number of Slot (Integer >0)

Raises:

WindingT1DefMsError – You must have 0.25< Zs/2/p/qs <= 0.5

init_as_DWL(Zs=None, nlay=1)

Compute the Winding Matrix (for winding type 3 or 4) (Nlay_rad=1 or 2,Nlay_tan=1) type 3 or 4 : DISTRIBUTED SHORTED PITCH INTEGRAL WINDING

Parameters:
  • self (WindingUD) – A: WindingUD object

  • Zs (int) – Number of Slot (Integer >0)

  • nlay (int) – Number of layers

Raises:

WindingDefMsError – Zs/2/p/qs must be an integer

import_from_csv(file_path=None)

Import the winding matrix from a csv file. One matrix for each phase Column Slot id, Ntcoil, Rad id, Tan id

Parameters:
  • self (WindingUD) – A: WindingUD object

  • file_path (str) – Path to the file to load

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.

copy()[source]

Creates a deepcopy of the object