Skip to main content

PMSM_Back_EMF Analysis

The PMSM_Back_EMF class is a specialized analysis for Permanent Magnet Synchronous Machines (PMSM) that calculates the back electromotive force (EMF) based on the motor's design and operating conditions. It corresponds to the Back EMF analysis checkpoint in the eMotorSolution GUI. The PMSM_Back_EMF class inherits from the MS_InputControl base class, which provides common functionality for managing analysis input data. It is accessible through eMotorSolution.CheckPoints.Analysis.PMSM.Back_EMF.PMSM_Back_EMF.

Parameters
  • rotor_position_expression: str A mathematical expression defining the initial rotor position.
  • rotor_position_unit: Literal["deg", "rad"] The unit of the rotor position expression, either degrees ("deg") or radians ("rad").
  • rotor_speed_expression: str A mathematical expression defining the rotor speed.
  • rotor_speed_unit: Literal["rpm", "rad/s", "deg/s"] The unit of the rotor speed expression, which can be revolutions per minute ("rpm"), radians per second ("rad/s"), or degrees per second ("deg/s").
  • delta_time_expression: str A mathematical expression defining the time step for the analysis.
  • delta_time_unit: Literal["min", "s", "ms", "us", "ns", "ps"] The unit of the time step expression.
  • num_time_steps_expression: str A mathematical expression defining the number of time steps for the analysis.
  • save_fields: bool A flag indicating whether to save the field data during the analysis.

Methods

MethodDescription
set_rotor_position(value, unit)Sets the rotor position expression with value: str | float and unit: Literal["deg", "rad"].
set_rotor_speed(value, unit)Sets the rotor speed expression with value: str | float and unit: Literal["rpm", "rad/s", "deg/s"].
set_delta_time(value, unit)Sets the delta time expression with value: str | float and unit: Literal["min", "s", "ms", "us", "ns", "ps"].
set_num_time_steps(value)Sets the number of time steps expression with value: str | int.
update()Updates the input control based on the project data (e.g., materials, stator winding, rotor speed, etc.).
init_network()Initializes the network settings for the analysis.
init_time_functions()Initializes the time functions for the analysis.
save_json()Saves the analysis data to a JSON file.
purge_all()Purges all the data in the analysis, resetting it to its default state.
purge_solution()Purges only the solution data in the analysis, keeping the input settings intact.
run()Executes the Back EMF analysis using the current input settings.
validate()Returns the validation status in dictionary format.

Attributes

AttributeDescription
rotor_positionfloat The initial rotor position in deg. ⚠️ read-only
rotor_speedfloat The rotor speed in deg/s. ⚠️ read-only
delta_timefloat The time step in s. ⚠️ read-only
num_time_stepsint The number of time steps. ⚠️ read-only
save_fieldsbool A flag indicating whether to save the field data during the analysis.
sliding_mesh_propertiesdict A dictionary containing the sliding mesh properties for the analysis. ⚠️ read-only