A model of a permanent magnet synchronous motor (PMSM)

Examples

Basic Examples (3) 

Retrieve the model:

In[1]:=
ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\)]
Out[1]=

The icon:

In[2]:=
ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\), "Icon"]
Out[2]=

The annotation:

In[3]:=
ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\), "Annotation"]
Out[3]=

Scope & Additional Elements (4) 

Available content elements:

In[4]:=
\!\(\*
TagBox[
RowBox[{"ResourceObject", "[", "\"\<PMSM Model\>\"", "]"}],
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\)["ContentElements"]
Out[4]=

The available model types:

In[5]:=
ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\), "AvailableModelTypes"]
Out[5]=

The operating point:

In[6]:=
ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\), "OperatingPoint"]
Out[6]=

The parameters:

In[7]:=
ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\), "Parameters"]
Out[7]=

Visualizations (2) 

The transfer-function model of the mechanical load 𝒯 to the rotor angular velocity ωe:

In[8]:=
tfm = SystemsModelExtract[ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\), "TransferFunctionModel"], 3, 1]
Out[8]=

Its Nyquist plot:

In[9]:=
pars = ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\), "Parameters"];
In[10]:=
NyquistPlot[tfm /. pars, {-0.5, 0.5}, AspectRatio -> 1, ImageSize -> Small]
Out[10]=

Analysis (3) 

The state space model of the system and its parameters:

In[11]:=
{ssm, pars} = Table[ResourceData[\!\(\*
TagBox["\"\<PMSM Model\>\"",
#& ,
BoxID -> "ResourceTag-PMSM Model-Input",
AutoDelete->True]\), elem], {elem, {"StateSpaceModel", "Parameters"}}]
Out[11]=

Discretize the state space model:

In[12]:=
ssmd = ToDiscreteTimeModel[ssm /. pars, 0.1]
Out[12]=

Its eigenvalues:

In[13]:=
Eigenvalues[First@Normal@ssmd /. pars]
Out[13]=

Suba Thomas, "PMSM Model" from the Wolfram Data Repository (2025)  

Data Resource History

Source Metadata

Publisher Information