pyleecan.Classes.ForceTensor module

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

class ForceTensor(group='stator core', tensor=None, is_periodicity_t=None, is_periodicity_a=None, is_agsf_transfer=False, max_wavenumber_transfer=None, Rsbo_enforced_transfer=None, logger_name='Pyleecan.Force', init_dict=None, init_str=None)[source]

Bases: Force

Force various tensors (Maxwell, magnetostrictive) model for radial flux machines

VERSION = 1
comp_force(output, axes_dict)

Compute the air-gap surface force based on Maxwell Tensor (MT).

Parameters:
  • self (ForceMT) – A ForceMT object

  • output (Output) – an Output object (to update)

  • axes_dict ({Data}) – Dict of axes used for force calculation

Returns:

out_dict

Dict containing the following quantities:
AGSF_rndarray

Airgap radial Maxwell stress (Nt,Na,Nz) [N/m²]

AGSF_tndarray

Airgap tangential Maxwell stress (Nt,Na,Nz) [N/m²]

AGSF_zndarray

Airgap axial Maxwell stress (Nt,Na,Nz) [N/m²]

Return type:

dict

comp_force_nodal(output, axes_dict)

Run the nodal forces calculation based on a tensor.

from publications:

Parameters:
  • self (ForceTensor) – A ForceTensor object

  • output (Output) – an Output object (to update)

comp_magnetostrictive_tensor(M, Nt_tot, polynomial_coeffs=[[0.719, - 0.078, - 0.042], [- 0.391, 0.114, 0.004]])

Compute magnetostrictive tensor.

From publications: L. Vandevelde, J. Gyselinck, M. A. C. De Wulf and J. A. A. Melkebeek, “Finite-element computation of the deformation of ferromagnetic material taking into account magnetic forces and magnetostriction,” in IEEE Transactions on Magnetics, vol. 40, no. 2, pp. 565-568, March 2004, doi: 10.1109/TMAG.2004.824540.

Parameters:
  • M (array) – Magnetization vector in the elements, field, material, …

  • Nt_tot (scalar) – Number of time steps

  • polynomial_coeffs (2x3 List, optional) – alpha(i,j) coeffs for polynomal expression of alpha1 and alpha2

Returns:

magnetostric_tensor – magnetrostictive tensor in the current element for differents time steps

Return type:

dim * dim * Nt_tot array

element_loop(mesh, B, H, mu, indice, dim, Nt_tot, polynomial_coeffs=[[0.719, - 0.078, - 0.042], [- 0.391, 0.114, 0.004]])

compute nodal forces with a loop on elements and nodes

from publications:

Parameters:
  • self (ForceTensor) – A ForceTensor object

  • mesh – A Mesh object

polynomial_coeffs2x3 List, optional

alpha(i,j) coeffs for polynomal expression of alpha1 and alpha2

Returns:

  • f ((nb_nodes*dim*Nt_tot) array) – nodal forces

  • connect ((nb_element*nb_node_per_cell) array) – table of mesh connectivity

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 group

Name of the group selected for magnetic force computation. If None, all the domain is selected.

Type:

str

property tensor

Force model(s) to be used

Type:

dict