ForceTensor (class)

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

class ForceTensor(group='stator core', 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: pyleecan.Classes.Force.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_magnetrosctrictive_tensor(mu, M, Nt_tot, polynomial_coeffs=[[0.719, -0.078, -0.042], [-0.391, 0.114, 0.004]])

compute magnetostrictive tensor.

from publications: IEEETranMagn2004

Parameters
  • mu (array) – Permeability in the elements, field, material, …

  • 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)

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

copy(**kwargs)

Return a copy of the class

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')[source]

Compare two objects and return list of differences

as_dict(**kwargs)[source]

Convert this object in a json serializable dict (can be use in __init__). Optional keyword input parameter is for internal use only and may prevent json serializability.

property group

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

Type

str