\hypertarget{classIMpmsm2o}{
\section{IMpmsm2o Class Reference}
\label{classIMpmsm2o}\index{IMpmsm2o@{IMpmsm2o}}
}
State evolution model for a PMSM drive and its derivative with respect to $x$.  


{\tt \#include $<$pmsm.h$>$}

Inheritance diagram for IMpmsm2o:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=56pt]{classIMpmsm2o__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for IMpmsm2o:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=60pt]{classIMpmsm2o__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{classIMpmsm2o_abdefc0467678a05abf12f5c77eaf49d}{
void \hyperlink{classIMpmsm2o_abdefc0467678a05abf12f5c77eaf49d}{set\_\-parameters} (double Rs0, double Ls0, double dt0, double Ypm0, double kp0, double p0, double J0, double Mz0)}
\label{classIMpmsm2o_abdefc0467678a05abf12f5c77eaf49d}

\begin{CompactList}\small\item\em Set mechanical and electrical variables. \item\end{CompactList}\item 
\hypertarget{classIMpmsm2o_86e04b5118e567ea7a2540059f553f41}{
vec \hyperlink{classIMpmsm2o_86e04b5118e567ea7a2540059f553f41}{eval} (const vec \&x0, const vec \&u0)}
\label{classIMpmsm2o_86e04b5118e567ea7a2540059f553f41}

\begin{CompactList}\small\item\em Evaluates $f(x0,u0)$. \item\end{CompactList}\item 
void \hyperlink{classIMpmsm2o_0a3e125df1e53821e08accbd4960d713}{dfdx\_\-cond} (const vec \&x0, const vec \&u0, mat \&A, bool full=true)
\begin{CompactList}\small\item\em Evaluates $A=\frac{d}{dx}f(x,u)|_{x0,u0}$ and writes result into {\tt A} . \item\end{CompactList}\item 
void \hyperlink{classIMpmsm2o_27f9d89bce832056f747d985df77a726}{dfdu\_\-cond} (const vec \&x0, const vec \&u0, mat \&A, bool full=true)
\begin{CompactList}\small\item\em Evaluates $A=\frac{d}{du}f(x,u)|_{x0,u0}$ and writes result into {\tt A} . \item\end{CompactList}\item 
\hypertarget{classdiffbifn_ad7673e16aa1a046b131b24c731c4632}{
vec \hyperlink{classdiffbifn_ad7673e16aa1a046b131b24c731c4632}{eval} (const vec \&cond)}
\label{classdiffbifn_ad7673e16aa1a046b131b24c731c4632}

\begin{CompactList}\small\item\em Evaluates $f(x0,u0)$ (VS: Do we really need common eval? ). \item\end{CompactList}\item 
\hypertarget{classdiffbifn_436de7a7301ea9eac7d6081b893bbf57}{
int \hyperlink{classdiffbifn_436de7a7301ea9eac7d6081b893bbf57}{\_\-dimx} () const }
\label{classdiffbifn_436de7a7301ea9eac7d6081b893bbf57}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classdiffbifn_fc8779acbff170611aff0ee70cee3879}{
int \hyperlink{classdiffbifn_fc8779acbff170611aff0ee70cee3879}{\_\-dimu} () const }
\label{classdiffbifn_fc8779acbff170611aff0ee70cee3879}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\item 
\hypertarget{classfnc_d28babf615a7240c34ee57779250f602}{
virtual void \hyperlink{classfnc_d28babf615a7240c34ee57779250f602}{condition} (const vec \&val)}
\label{classfnc_d28babf615a7240c34ee57779250f602}

\begin{CompactList}\small\item\em function substitutes given value into an appropriate position \item\end{CompactList}\item 
\hypertarget{classfnc_a8891973d0ca48ce38e1886df45ca298}{
int \hyperlink{classfnc_a8891973d0ca48ce38e1886df45ca298}{\_\-dimy} () const }
\label{classfnc_a8891973d0ca48ce38e1886df45ca298}

\begin{CompactList}\small\item\em access function \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\hypertarget{classIMpmsm2o_a6514cda776819b65fd9e41a1a6a798c}{
double \textbf{Rs}}
\label{classIMpmsm2o_a6514cda776819b65fd9e41a1a6a798c}

\item 
\hypertarget{classIMpmsm2o_bef34361d7602b1a75c5b9f701bce40f}{
double \textbf{Ls}}
\label{classIMpmsm2o_bef34361d7602b1a75c5b9f701bce40f}

\item 
\hypertarget{classIMpmsm2o_399e2df590d6425a01e47c6deaa7e838}{
double \textbf{dt}}
\label{classIMpmsm2o_399e2df590d6425a01e47c6deaa7e838}

\item 
\hypertarget{classIMpmsm2o_99af79af69627fae52ec8fa8e167f775}{
double \textbf{Ypm}}
\label{classIMpmsm2o_99af79af69627fae52ec8fa8e167f775}

\item 
\hypertarget{classIMpmsm2o_993cf4903bce863c6b7fb2355411db4a}{
double \textbf{kp}}
\label{classIMpmsm2o_993cf4903bce863c6b7fb2355411db4a}

\item 
\hypertarget{classIMpmsm2o_8644abe49171d006cbf9bff2844816a3}{
double \textbf{p}}
\label{classIMpmsm2o_8644abe49171d006cbf9bff2844816a3}

\item 
\hypertarget{classIMpmsm2o_01a151f4ec2818e39537bebcbb8b152d}{
double \textbf{J}}
\label{classIMpmsm2o_01a151f4ec2818e39537bebcbb8b152d}

\item 
\hypertarget{classIMpmsm2o_38253f515b9b35ab3a536f4871287025}{
double \textbf{Mz}}
\label{classIMpmsm2o_38253f515b9b35ab3a536f4871287025}

\item 
\hypertarget{classdiffbifn_bcf96b86250c3cbd465ba5ee62474b75}{
\hyperlink{classRV}{RV} \hyperlink{classdiffbifn_bcf96b86250c3cbd465ba5ee62474b75}{rvx}}
\label{classdiffbifn_bcf96b86250c3cbd465ba5ee62474b75}

\begin{CompactList}\small\item\em Indentifier of the first rv. \item\end{CompactList}\item 
\hypertarget{classdiffbifn_c41c74c7942dba51ef0b0bfed963447d}{
\hyperlink{classRV}{RV} \hyperlink{classdiffbifn_c41c74c7942dba51ef0b0bfed963447d}{rvu}}
\label{classdiffbifn_c41c74c7942dba51ef0b0bfed963447d}

\begin{CompactList}\small\item\em Indentifier of the second rv. \item\end{CompactList}\item 
\hypertarget{classdiffbifn_f6918bc0a9dad656b4cddc028137eb78}{
int \hyperlink{classdiffbifn_f6918bc0a9dad656b4cddc028137eb78}{dimx}}
\label{classdiffbifn_f6918bc0a9dad656b4cddc028137eb78}

\begin{CompactList}\small\item\em cache for rvx.count() \item\end{CompactList}\item 
\hypertarget{classdiffbifn_2e07ce491e973f03d763e37624d0fe79}{
int \hyperlink{classdiffbifn_2e07ce491e973f03d763e37624d0fe79}{dimu}}
\label{classdiffbifn_2e07ce491e973f03d763e37624d0fe79}

\begin{CompactList}\small\item\em cache for rvu.count() \item\end{CompactList}\item 
\hypertarget{classfnc_22d51d10a7901331167f64f80d1af8e9}{
int \hyperlink{classfnc_22d51d10a7901331167f64f80d1af8e9}{dimy}}
\label{classfnc_22d51d10a7901331167f64f80d1af8e9}

\begin{CompactList}\small\item\em Length of the output vector. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
State evolution model for a PMSM drive and its derivative with respect to $x$. 

\subsection{Member Function Documentation}
\hypertarget{classIMpmsm2o_0a3e125df1e53821e08accbd4960d713}{
\index{IMpmsm2o@{IMpmsm2o}!dfdx\_\-cond@{dfdx\_\-cond}}
\index{dfdx\_\-cond@{dfdx\_\-cond}!IMpmsm2o@{IMpmsm2o}}
\subsubsection[dfdx\_\-cond]{\setlength{\rightskip}{0pt plus 5cm}void IMpmsm2o::dfdx\_\-cond (const vec \& {\em x0}, \/  const vec \& {\em u0}, \/  mat \& {\em A}, \/  bool {\em full} = {\tt true})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual\mbox{]}}}}
\label{classIMpmsm2o_0a3e125df1e53821e08accbd4960d713}


Evaluates $A=\frac{d}{dx}f(x,u)|_{x0,u0}$ and writes result into {\tt A} . 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em full}]denotes that even unchanged entries are to be rewritten. When, false only the changed elements are computed. \item[{\em x0}]numeric value of $x$, \item[{\em u0}]numeric value of $u$ \item[{\em A}]a place where the result will be stored. \end{description}
\end{Desc}


Reimplemented from \hyperlink{classdiffbifn_6d217a02d4fa13931258d4bebdd0feb4}{diffbifn}.\hypertarget{classIMpmsm2o_27f9d89bce832056f747d985df77a726}{
\index{IMpmsm2o@{IMpmsm2o}!dfdu\_\-cond@{dfdu\_\-cond}}
\index{dfdu\_\-cond@{dfdu\_\-cond}!IMpmsm2o@{IMpmsm2o}}
\subsubsection[dfdu\_\-cond]{\setlength{\rightskip}{0pt plus 5cm}void IMpmsm2o::dfdu\_\-cond (const vec \& {\em x0}, \/  const vec \& {\em u0}, \/  mat \& {\em A}, \/  bool {\em full} = {\tt true})\hspace{0.3cm}{\tt  \mbox{[}inline, virtual\mbox{]}}}}
\label{classIMpmsm2o_27f9d89bce832056f747d985df77a726}


Evaluates $A=\frac{d}{du}f(x,u)|_{x0,u0}$ and writes result into {\tt A} . 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em full}]denotes that even unchanged entries are to be rewritten. When, false only the changed elements are computed. \item[{\em x0}]numeric value of $x$, \item[{\em u0}]numeric value of $u$ \item[{\em A}]a place where the result will be stored. \end{description}
\end{Desc}


Reimplemented from \hyperlink{classdiffbifn_1978bafd7909d15c139a08c495c24aa0}{diffbifn}.

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
work/git/mixpp/pmsm/pmsm.h\end{CompactItemize}
