\hypertarget{classpmsmDS}{
\section{pmsmDS Class Reference}
\label{classpmsmDS}\index{pmsmDS@{pmsmDS}}
}
Simulator of PMSM machine with predefined profile on omega.  


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

Inheritance diagram for pmsmDS:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=64pt]{classpmsmDS__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for pmsmDS:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=85pt]{classpmsmDS__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{classpmsmDS_38803dee6cc0bf261d277a225bca48cf}{
\hyperlink{classpmsmDS_38803dee6cc0bf261d277a225bca48cf}{pmsmDS} (string opt0=\char`\"{}\char`\"{})}
\label{classpmsmDS_38803dee6cc0bf261d277a225bca48cf}

\begin{CompactList}\small\item\em Constructor with fixed sampling period. \item\end{CompactList}\item 
\hypertarget{classpmsmDS_73073ee4f905af3f9f96a6130e9a9e22}{
void \textbf{set\_\-parameters} (double Rs0, double Ls0, double Fmag0, double Bf0, double p0, double kp0, double J0, double Uc0, double DT0, double dt0)}
\label{classpmsmDS_73073ee4f905af3f9f96a6130e9a9e22}

\item 
\hypertarget{classpmsmDS_4e47e678eb56e0b3bd47d801d0995e46}{
void \hyperlink{classpmsmDS_4e47e678eb56e0b3bd47d801d0995e46}{getdata} (vec \&dt)}
\label{classpmsmDS_4e47e678eb56e0b3bd47d801d0995e46}

\begin{CompactList}\small\item\em Returns full vector of observed data. \item\end{CompactList}\item 
\hypertarget{classpmsmDS_35e9a2b9d82bd1b71d66778021d1e8b4}{
void \hyperlink{classpmsmDS_35e9a2b9d82bd1b71d66778021d1e8b4}{write} (vec \&ut)}
\label{classpmsmDS_35e9a2b9d82bd1b71d66778021d1e8b4}

\begin{CompactList}\small\item\em Accepts action variable and schedule it for application. \item\end{CompactList}\item 
\hypertarget{classpmsmDS_664fc8deff7c141ee7ab826a9abb387b}{
void \hyperlink{classpmsmDS_664fc8deff7c141ee7ab826a9abb387b}{step} ()}
\label{classpmsmDS_664fc8deff7c141ee7ab826a9abb387b}

\begin{CompactList}\small\item\em Moves from $t$ to $t+1$, i.e. perfroms the actions and reads response of the system. \item\end{CompactList}\item 
\hypertarget{classpmsmDS_d75b83468db25c56977ffccff46b0b37}{
void \textbf{log\_\-add} (\hyperlink{classbdm_1_1logger}{logger} \&L)}
\label{classpmsmDS_d75b83468db25c56977ffccff46b0b37}

\item 
\hypertarget{classpmsmDS_21cac6deaac2dd073c982d7bec839b47}{
void \textbf{logit} (\hyperlink{classbdm_1_1logger}{logger} \&L)}
\label{classpmsmDS_21cac6deaac2dd073c982d7bec839b47}

\item 
\hypertarget{classpmsmDS_60d213a13fd9c3b4ac9e8202ca5d772e}{
void \textbf{set\_\-profile} (double dt, const vec \&Ww)}
\label{classpmsmDS_60d213a13fd9c3b4ac9e8202ca5d772e}

\item 
\hypertarget{classbdm_1_1DS_a0bf451c7fea73ff4150ff9e83da4832}{
virtual void \hyperlink{classbdm_1_1DS_a0bf451c7fea73ff4150ff9e83da4832}{getdata} (vec \&dt, const ivec \&indeces)}
\label{classbdm_1_1DS_a0bf451c7fea73ff4150ff9e83da4832}

\begin{CompactList}\small\item\em Returns data records at indeces. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1DS_6bced13f84f6bf04449728817e049e1d}{
virtual void \hyperlink{classbdm_1_1DS_6bced13f84f6bf04449728817e049e1d}{write} (vec \&ut, const ivec \&indeces)}
\label{classbdm_1_1DS_6bced13f84f6bf04449728817e049e1d}

\begin{CompactList}\small\item\em Accepts action variables at specific indeces. \item\end{CompactList}\item 
virtual void \hyperlink{classbdm_1_1DS_d41210a809d312621ab2c0b1ed3bfc1a}{linkrvs} (RV \&drv, RV \&urv)
\begin{CompactList}\small\item\em Method that assigns random variables to the datasource. Typically, the datasource will be constructed without knowledge of random variables. This method will associate existing variables with RVs. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\hypertarget{classpmsmDS_3975e648cc981a550997df8120e176f7}{
int \hyperlink{classpmsmDS_3975e648cc981a550997df8120e176f7}{L\_\-x}}
\label{classpmsmDS_3975e648cc981a550997df8120e176f7}

\begin{CompactList}\small\item\em indeces of logged variables \item\end{CompactList}\item 
\hypertarget{classpmsmDS_a45b0843888a7c7675a264953814d9c2}{
int \textbf{L\_\-ou}}
\label{classpmsmDS_a45b0843888a7c7675a264953814d9c2}

\item 
\hypertarget{classpmsmDS_4fe8c4c1994547875973492bf3c909dd}{
int \textbf{L\_\-oy}}
\label{classpmsmDS_4fe8c4c1994547875973492bf3c909dd}

\item 
\hypertarget{classpmsmDS_7ec5b692e1be1623a08196ac2da7b56b}{
int \textbf{L\_\-iu}}
\label{classpmsmDS_7ec5b692e1be1623a08196ac2da7b56b}

\item 
\hypertarget{classpmsmDS_da06f9ce4decceb05a03371d054a1583}{
int \textbf{L\_\-optu}}
\label{classpmsmDS_da06f9ce4decceb05a03371d054a1583}

\item 
\hypertarget{classpmsmDS_ba6fbc63e4353135857bbba8f30e3012}{
vec \hyperlink{classpmsmDS_ba6fbc63e4353135857bbba8f30e3012}{profileWw}}
\label{classpmsmDS_ba6fbc63e4353135857bbba8f30e3012}

\begin{CompactList}\small\item\em Setpoints of omega in timespans given by dt\_\-prof. \item\end{CompactList}\item 
\hypertarget{classpmsmDS_01d9d15490d336b6613368557608f4fe}{
double \hyperlink{classpmsmDS_01d9d15490d336b6613368557608f4fe}{dt\_\-prof}}
\label{classpmsmDS_01d9d15490d336b6613368557608f4fe}

\begin{CompactList}\small\item\em time-step for profiles \item\end{CompactList}\item 
\hypertarget{classpmsmDS_c27956dc82ede2e8dbeb34e6cfa15a40}{
int \hyperlink{classpmsmDS_c27956dc82ede2e8dbeb34e6cfa15a40}{Dt}}
\label{classpmsmDS_c27956dc82ede2e8dbeb34e6cfa15a40}

\begin{CompactList}\small\item\em Number of miliseconds per discrete time step. \item\end{CompactList}\item 
string \hyperlink{classpmsmDS_d410b9ca1a362e50a0833ae67803b7ee}{opt}
\item 
\hypertarget{classbdm_1_1DS_d8db125ac35f3b8eeb773fc9a4cb45ec}{
RV \hyperlink{classbdm_1_1DS_d8db125ac35f3b8eeb773fc9a4cb45ec}{Drv}}
\label{classbdm_1_1DS_d8db125ac35f3b8eeb773fc9a4cb45ec}

\begin{CompactList}\small\item\em Observed variables, returned by {\tt \hyperlink{classbdm_1_1DS_c1ec862dec7164fee3284c6f9a51b0ba}{getdata()}}. \item\end{CompactList}\item 
\hypertarget{classbdm_1_1DS_9ac5970128fd39f4f6226723cd1de702}{
RV \hyperlink{classbdm_1_1DS_9ac5970128fd39f4f6226723cd1de702}{Urv}}
\label{classbdm_1_1DS_9ac5970128fd39f4f6226723cd1de702}

\begin{CompactList}\small\item\em Action variables, accepted by {\tt \hyperlink{classbdm_1_1DS_f5baeee8528e5e4c5c7a344b2e3f192a}{write()}}. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Simulator of PMSM machine with predefined profile on omega. 

\subsection{Member Function Documentation}
\hypertarget{classbdm_1_1DS_d41210a809d312621ab2c0b1ed3bfc1a}{
\index{pmsmDS@{pmsmDS}!linkrvs@{linkrvs}}
\index{linkrvs@{linkrvs}!pmsmDS@{pmsmDS}}
\subsubsection[linkrvs]{\setlength{\rightskip}{0pt plus 5cm}virtual void bdm::DS::linkrvs ({\bf RV} \& {\em drv}, \/  {\bf RV} \& {\em urv})\hspace{0.3cm}{\tt  \mbox{[}virtual, inherited\mbox{]}}}}
\label{classbdm_1_1DS_d41210a809d312621ab2c0b1ed3bfc1a}


Method that assigns random variables to the datasource. Typically, the datasource will be constructed without knowledge of random variables. This method will associate existing variables with RVs. 

(Inherited from m3k, may be deprecated soon). 

Reimplemented in \hyperlink{classbdm_1_1MemDS_5f72b555e0e4a61de1440c457cf57007}{bdm::MemDS}.

\subsection{Member Data Documentation}
\hypertarget{classpmsmDS_d410b9ca1a362e50a0833ae67803b7ee}{
\index{pmsmDS@{pmsmDS}!opt@{opt}}
\index{opt@{opt}!pmsmDS@{pmsmDS}}
\subsubsection[opt]{\setlength{\rightskip}{0pt plus 5cm}string {\bf pmsmDS::opt}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{classpmsmDS_d410b9ca1a362e50a0833ae67803b7ee}


options for logging, string in which each character has a meaning: {\tt u} - log predictions of 'true' voltage 

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
\hyperlink{pmsmDS_8h}{pmsmDS.h}\end{CompactItemize}
