PMSM_Torque_Current Analysis
The PMSM_Torque_Current class is a specialized analysis for Permanent Magnet Synchronous Machines (PMSM) that calculates the torque and current characteristics based on the motor's design and operating conditions. It corresponds to the Torque vs Current analysis checkpoint in the eMotorSolution GUI.
The PMSM_Torque_Current 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.Torque_Current.PMSM_Torque_Current.
Parameters
- rotor_position_expression:
strA 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:
strA 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"). - currents_expression:
strA mathematical expression defining the list of current values for the analysis. - currents_unit:
Literal["kA", "A", "mA", "uA"]The unit of the current expression. - phases_expression:
strA mathematical expression defining the list of phase values for the analysis. - phases_unit:
Literal["deg", "rad"]The unit of the phases expression. - delta_time_expression:
strA 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:
strA mathematical expression defining the number of time steps for the analysis. - number_of_multiprocess_expression:
strA mathematical expression defining the number of multiprocesses to use for the analysis.
Methods
| Method | Description |
|---|---|
| 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_currents(value, unit) | Sets the currents expression with value: str | List[float] and unit: Literal["kA", "A", "mA", "uA"]. |
| set_phases(value, unit) | Sets the phases expression with value: str | List[float] and unit: Literal["deg", "rad"]. |
| 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. |
| set_number_of_multiprocess(value) | Sets the number of multiprocess 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. |
| convert_dq_and_write_em2bm() | Converts DQ axis values to phase values and writes them to the appropriate files for the analysis. |
| save_EM2BM_json() | Saves the EM2BM data to a JSON file. |
| run() | Executes the Back EMF analysis using the current input settings. |
| validate() | Returns the validation status in dictionary format. |
Attributes
| Attribute | Description |
|---|---|
rotor_position | float The initial rotor position in deg. ⚠️ read-only |
rotor_speed | float The rotor speed in deg/s. ⚠️ read-only |
currents | List[float] The list of current values in A. ⚠️ read-only |
phases | List[float] The list of phase values in deg. ⚠️ read-only |
delta_time | float The time step in s. ⚠️ read-only |
num_time_steps | int The number of time steps. ⚠️ read-only |
number_of_multiprocess | int The number of multiprocesses to use for the analysis. ⚠️ read-only |
sliding_mesh_properties | dict A dictionary containing the sliding mesh properties for the analysis. ⚠️ read-only |