Skip to main content

SPMSM SlotMagnet

The slot_magnet attribute of the Project.rotor corresponds to the Rotor Slot Magnet CheckPoint in the GUI. It is an instance of the SPMSM_SlotMagnetData class, which can be accessed through eMotorSolution.CheckPoints.Rotor.SPMSM_SlotMagnet.

In contrast to the IPMSM machines, the SPMSM machines hold only a single slot-magnet pair not a collection. The properties of the slot-magnet pair can be accessed directly from the slot_magnet_props attribute.

Parameters
  • slot_magnet_props: One of the slot-magnet pairs bellow. Default is Slot M12.
  • magnet_material_init: str The name of the magnet material. Default is NdFeB.

Slot-Magnet Pair

Methods

MethodDescription
set_magnet_material(material_name)Sets the material_name: str for magnet_material. It should be one of the magnet materials in the project's materials collection.
validate()Returns the validation status in dictionary format.

Attributes

AttributeDescription
slot_magnet_propsAn instance of the Slot-Magnet Pairs above.
magnet_materialstr Returns the name of the magnet material. ⚠️ read-only
slot_magnet_typestr Get or set the type of the slot magnet.

Example Usage

Assuming that the project is a SPMSM one:

import eMotorSolution as ems

from eMotorSolution.CheckPoints.Rotor.SPMSM.SPM_SlotM19 import SPM_SlotM19Data

# Load the project
project = ems.load_project("path/to/your/project.json")

# Print the current Slot-Magnet
print(project.rotor.slot_magnet.slot_magnet_props)

# Assign new Slot-Magnet type
project.rotor.slot_magnet.slot_magnet_type = "Halbach Array"

# Get the current Slot-Magnet properties
halbach_array: SPM_SlotM19Data = project.rotor.slot_magnet.slot_magnet_props

# Assign new properties
halbach_array.set_H0(0.005)
halbach_array.set_W0(20)

project.show()