Reference: PlantState
Model ElementReference_PlantState defines a list of userdefined states used in generating a linear representation of a model about an operating point. The linear representation is used for both eigenvalue analysis and state matrix generation.
Format
<Reference_PlantState
id= "integer"
[label= "string"]
num_element= "integer"
variable_id_list= "integer, integer, ..., integer"
/>
Attributes
 id
 Specifies the element identification number. This number is unique among all Reference_PlantState elements.
 label
 An optional string that describes the name of the Reference_PlantState element. The description is primarily used to make the input more readable.
 num_element
 Number of states that are specified in this Reference_PlantState element.
 variable_id_list
 Specifies the IDs of the variables that define the states that are to be used in the linear analysis. The number of variable IDs specified in the list must be exactly equal to num_element.
Comments
 The eigenvalues and eigenvectors of many systems, especially rotating
systems, depend on the states that are chosen to linearize the equations of
motion. Often, a preferred set of states, corresponding to what is normally
experimentally measured, are desired for linearization. PSTATE is one method
that you can use to specify these states.
Using a set of states different from those corresponding to what was measured does not yield wrong results. The MotionSolve results are correct, but they are not expected.
See the example for a physical system where the eigenvalues and eigenvectors depend on the states used to linearize the system.
 The state matrices [A], [B], and [C] also depend on the states that are used
for representing the linearized multibody system. To understand this,
consider a set of state matrices for states x, inputs u, and outputs y. The
statespace representation for such a system is: $\begin{array}{l}\dot{x}=Ax+By\\ y=Cx+Dy\end{array}$
If a new set of states $z={H}^{1}x$ are chosen, then the state space equations with states z are:
$\begin{array}{l}\dot{z}=\widehat{A}x+\widehat{B}y\\ y=\widehat{C}x+\widehat{D}y\end{array}$ , where $\widehat{A}=HA{H}^{1},\text{}\widehat{B}={H}^{1}B,\text{}\widehat{C}=CH,\text{and}\widehat{D}=D$
See the example for a physical system where userdefined states are used to compute the system state matrices at an operating point.
 The number of states specified in variable_id_list and
num_element can be greater than, equal to, or less
than the number of degrees of freedom (
N_{DOF}
) of the system. Three possibilities exist: num_element <
N_{DOF}
In this case, MotionSolve uses all the states specified in Reference_PlantState in the linear equation formulation. Since the linear problem must be defined in terms of
N_{DOF}
states, the additionalN_{DOF}
 num_element states required to formulate the linear problem are automatically selected by MotionSolve.  num_element =
N_{DOF}
In this case, MotionSolve uses all the states specified in Reference_PlantState in the linear equation formulation. Since all degreesoffreedom have been completely specified, MotionSolve only uses these states to formulate the linear problem.
 num_element >
N_{DOF}
In this case, MotionSolve uses only
N_{DOF}
states specified in Reference_PlantState in the linear equation formulation. MotionSolve warns that you have specified too many states to use. The extra num_element N_{DOF}
states are discarded and the problem is solved.
 num_element <
 The expressions defining the Variables in
variable_id_list in a PSTATE can only be a function
of displacements or angular measures.The following is a valid definition of PSTATE:
<Reference_Variable id = "71" type = "EXPRESSION" expr = "DM(11,12)" /> <Reference_Variable id = "72" type = "EXPRESSION" expr = "DX(22,33,44)" /> <Reference_Variable id = "73" type = "EXPRESSION" expr = "AZ(55,66)" /> <Reference_PlantState id = "7", num_element = "3" variable_id_list = “71, 72, 73” />
The following is an invalid definition of PSTATE. Variable 82 is a function of velocity and Variable 83 is a function of an acceleration.<Reference_Variable id = "81" type = "EXPRESSION" expr = "DM(11,12)" /> <Reference_Variable id = "82" type = "EXPRESSION" expr = "VX(22,33,44)" /> <Reference_Variable id = "83" type = "EXPRESSION" expr = "ACCZ(55,66)" /> <Reference_PlantState id = "8", num_element = "3" variable_id_list = “81, 82, 83” />
MotionSolve flags invalid PSTATE definitions as errors and stops execution.
 The expressions defining the Variables in
variable_id_list in a PSTATE must be linearly
independent. Consider the following definition of
PSTATE:
<Reference_Variable id = "91" type = "EXPRESSION" expr = "Dx(71,62)" /> <Reference_Variable id = "92" type = "EXPRESSION" expr = "2* Dx(71,62)" /> <Reference_PlantState id = "9", num_element = "2" variable_id_list = “91, 92” />
You can easily verify that VARIABLE id=92 is linearly dependent on VARIABLE id=91. In fact, it is always twice the value of VARIABLE id=91. Knowing one, you can always use this relationship to compute the other. The second VARIABLE does not provide any new information.
In such cases, MotionSolve warns you that one of the userdefined states is linearly dependent on the other states. MotionSolve ignores the dependent state. If necessary, it will pick an internal state as a replacement to use for linearization.
Examples
 The hub of the helicopter rotor, shown as a blue disk of radius e, rotates about its center O, with an angular velocity ω in the counterclockwise direction about the global Zaxis.
 A helicopter blade B, shown in orange, is attached to the hub with a
revolute joint. The blade has length 2L,
mass m, and moment of inertia
I about its centerofmass
B* and about the global Zaxis.
 Choose the angle of the blade to the global X, α, as the state.
 Alternatively, you can choose the global ycoordinate of point B*, y, as the state.
State α  State y 

Equations of Motion $\left(I+m{L}^{2}\right)\ddot{\alpha}+meL{\omega}^{2}\mathrm{sin}\left(\alpha \omega t\right)=0$ 

Operation Point $t=0,\text{}\alpha \text{=0,}\dot{\alpha}=\omega $ 
Operation Point $t=0,\text{}y=0,\text{}\dot{y}=\left(e+L\right)\omega $ 
[A] Matrix $A=\left[\begin{array}{cc}0& \frac{meL{\omega}^{2}}{I+m{L}^{2}}\\ 1& 0\end{array}\right]$ 
[A] Matrix $A=\left[\begin{array}{cc}0& \frac{meL{\omega}^{2}}{I+m{L}^{2}}{\omega}^{2}\\ 1& 0\end{array}\right]$ 
Eigenvalues for:
$m=3,\text{}e=2,\text{}I=10,\text{}L=10,\text{}\omega =10\text{}$
${\lambda}_{1,2}=\pm i\sqrt{\frac{meL}{1+m{L}^{2}}}\text{}\omega =\pm 4.3994i$ 
Eigenvalues for:
$m=3,\text{}e=2,\text{}I=10,\text{}L=10,\text{}\omega =10\text{}$
${\lambda}_{1,2}=\pm i\sqrt{\frac{meL}{1+m{L}^{2}}+1}\text{}\omega =\pm 10.92496i$ 
Let MARKER 34 be placed at B*. Its xaxis is along the blade length, and its zaxis along the global z.
 Define α in a
VARIABLE:
<Reference_Variable id = "22" type = "EXPRESSION" expr = "AZ(34)" />
 Tell MotionSolve to use α
to generate the linearized
equations:
<Reference_PlantState id = “3010” num_element = “1” variable_id_LIST = “22”/>
NUMBER NATURAL_FREQ(HZ) DAMPING_RATIO REAL(HZ) IMAG_FREQ(HZ)
1 7.001886E01 0.000000E+00 0.000000E+00 7.001886E01
1 7.001886E01 0.000000E+00 0.000000E+00 7.001886E01
A = [0.00000000000000000E+00, 1.00000000000000000E+00;
1.93548505949367993E+01,1.91975649453440089E06]
 Define y in a
VARIABLE:
<Reference_Variable id = "22" type = "EXPRESSION" expr = "DY(34)" />
 Tell MotionSolve to use y
to generate the linearized
equations:
<Reference_PlantState id = “3010” num_element = “1” variable_id_LIST = “22” />
NUMBER NATURAL_FREQ(HZ) DAMPING_RATIO REAL(HZ) IMAG_FREQ(HZ)
1 1.738762E+00 0.000000E+00 0.000000E+00 1.738762E+00
1 1.738762E+00 0.000000E+00 0.000000E+00 1.738762E+00
A = [0.00000000000000000E+00, 1.00000000000000000E+00;
1.19354838709666097E+02, 1.71456230219270937E13]