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:
- 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.
- 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