pyleecan.Classes.MatMagnetics module

Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Material/MatMagnetics

class MatMagnetics(mur_lin=1, Brm20=0, alpha_Br=0, Wlam=0, BH_curve=- 1, LossData=- 1, ModelBH=- 1, is_BH_extrapolate=False, init_dict=None, init_str=None)[source]

Bases: FrozenClass

magnetic material properties

VERSION = 1
get_BH()

Return the B(H) curve of the material according to the Import object. If there is no B(H) curve linear data are computed from mur_lin.

Parameters:

self (MatMagnetics) – a MatMagnetics object

Returns:

BH – B(H) values (two colums matrix: H and B(H))

Return type:

numpy.ndarray

plot_BH(fig=None, grid=True, color='r', is_show_fig=True)

Plot the curve B(H) at the specified frequency

Parameters:
  • self (MatMagnetics) – a MatMagnetics object

  • fig – if None, open a new fig and plot, else add to the gcf (Default value = None)

Return type:

None

get_Hc(T_op=None, T_ref=20)

Get magnetic excitation coercitivity

Parameters:
  • self (MatMagnetics) – a MatMagnetics object

  • T_op (float) – Material operational temperature [degC]

  • T_ref (float) – Material reference temperature [degC]

Returns:

Hc – Magnetic excitation coercitivity

Return type:

float

get_Brm(T_op=None, T_ref=20)

Get magnetic remanent flux density

Parameters:
  • self (MatMagnetics) – a MatMagnetics object

  • T_op (float) – Material operational temperature [degC]

  • T_ref (float) – Material reference temperature [degC]

Returns:

Brm – Magnetic remanent flux density

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.

copy()[source]

Creates a deepcopy of the object

property mur_lin

Relative magnetic permeability

Type:

float

Min:

0

property Brm20

magnet remanence induction at 20degC (calculated from mur_lin and Hc if not provided)

Type:

float

property alpha_Br

temperature coefficient for remanent flux density /degC compared to 20degC

Type:

float

property Wlam

lamination sheet width without insulation [m] (0 == not laminated)

Type:

float

Min:

0

property BH_curve

nonlinear B(H) curve (two columns matrix, H and B(H))

Type:

ImportMatrix

property LossData

specific loss data value triplets, i.e. B, f, P

Type:

ImportMatrix

property ModelBH

a model of BH curve with an analytical expression

Type:

ModelBH

property is_BH_extrapolate

1 to use ModelBH to fit input data and extrapolate BH curve

Type:

bool