pyleecan.Classes.ElecLUTdq module

Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Simulation/ElecLUTdq

class ElecLUTdq(n_interp=10, Id_min=None, Id_max=None, Iq_min=None, Iq_max=None, n_Id=1, n_Iq=1, LUT_simu=None, is_grid_dq=True, Urms_max=None, Jrms_max=None, Irms_max=None, load_rate=1, eec=None, logger_name='Pyleecan.Electrical', freq_max=40000, LUT_enforced=None, Tsta=20, Trot=20, type_skin_effect=1, is_skin_effect_inductance=True, init_dict=None, init_str=None)[source]

Bases: Electrical

Electric module object for electrical equivalent circuit simulation

VERSION = 1
run()

Run the ElecLUTdq module

comp_LUTdq()

Compute Look up table function of Id / Iq

Parameters:

self (ElecLUTdq) – a ElecLUTdq object

Returns:

LUT – Calculated look-up table

Return type:

LUTdq

solve_power(LUT, Rs)

Solve EEC to achieve given input / output power with respect to voltage and current constraints

Parameters:
  • self (ElecLUTdq) – a ElecLUTdq object

  • LUT (LUTdq) – Calculated look-up table

  • Rs (float) – Stator phase resistance [Ohm]

Returns:

out_dict – Dict containing all output quantities

Return type:

dict

solve_MTPA(LUT, Rs)

Solve EEC using Maximum Torque Per Ampere strategy with respect to voltage and current constraints

Parameters:
  • self (ElecLUTdq) – a ElecLUTdq object

  • LUT (LUTdq) – Calculated look-up table

  • Rs (float) – Stator phase resistance [Ohm]

Returns:

out_dict – Dict containing all output quantities

Return type:

dict

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

property n_interp

Number of id values used for interpolation

Type:

int

Min:

1

property Id_min

Minimum Id for LUT calculation

Type:

float

property Id_max

Maximum Id for LUT calculation

Type:

float

property Iq_min

Minimum Iq for LUT calculation

Type:

float

property Iq_max

Maximum Iq for LUT calculation

Type:

float

property n_Id

Number of Id for LUT calculation

Type:

int

property n_Iq

Number of Iq for LUT calculation

Type:

int

property LUT_simu

Simulation object to run for LUT calculation

Type:

Simulation

property is_grid_dq

True to build a n_Id*n_Iq grid, otherwise calculate n_Id+n_Iq simulations and extrapolate to the dq plane

Type:

bool

property Urms_max

Maximum rms phase voltage

Type:

float

Min:

0

property Jrms_max

Maximum rms current density in slot

Type:

float

Min:

0

property Irms_max

Maximum rms phase current

Type:

float

Min:

0

property load_rate

Load rate between 0 (no-load) and 1 (full-load) for MTPA calculation

Type:

float

Min:

0

Max:

1