File mtt/lib/examples/Mechanical/Mechanical-1D/NonlinearMSD/NonlinearMSD_desc.tex artifact 84c725288d part of check-in a8cce33cfa


% -*-latex-*- Put EMACS into LaTeX-mode
% Verbal description for system NonlinearMSD (NonlinearMSD_desc.tex)
% Generated by MTT on Thu Mar 7 14:48:47 GMT 2002.

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% Version control history
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% $Id$
% %% $Log$
% %% Revision 1.1  2000/12/28 09:13:38  peterg
% %% Initial revision
% %%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

This example illustrates the use of \textbf{MTT} to \emph{linaerise} a
nonlinear system -- a non-linear mass-spring-damper system called
\textbf{NonlinearMSD}. The model is considered in Section
\ref{sec:model} and linearisation in Section \Ref{sec:linearisation}.

Further work is suggested in Section \Ref{sec:further}.

\subsection{Bond Graph model}\label{sec:model}

The schematic diagram  of the system
\textbf{NonlinearMSD} is displayed in Figure
\ref{fig:NonlinearMSD_abg.ps}. The system comprises
\begin{itemize}
\item a rigid foundation,
\item a rod of length $L$ hinged at the left-hand end and
\item a linear spring of stiffness $k$ attached to the rigid
  foundation a distance $L$ from the hinge and to the free end of the rod.
\end{itemize}
The spring is unstretched when the rod makes an angle $\theta = \alpa
= \frac{pi}{3}$ with the foundation.

Using elementary geometry, the effectice angular spring generates a
torque $\tau$ given by (\ref{eq:spring})
\begin{equation}\label{eq:spring}
  \tau = -2kl^2 \cos{\frac{\theta}{2}} (\sin{\frac{\theta}{2}}-\sin{\frac{\alpha}{2}})
\end{equation}

The acausal bond graph of system \textbf{NonlinearMSD} is also
displayed in Figure \Ref{fig:NonlinearMSD_abg.ps}. This shows the
three bond graph components representing the friction \textbf{R}, the
inertia \textbf{I} and the spring \textbf{C} components. The
non-linear spring characteristic is given explicitly\footnote{The
  additional 0*eta term has no effect - it merely introduced the
  variable $\eta$ -- the equilibrium angle -- into the model}.

The (nonlinear) system ordinary differential equation is given by
\textbf{MTT} in Section \Ref{sec:NonlinearMSD_ode.tex}. This is a
special case of the general non-linear ordinary differential equation:
\begin{equation}
  \label{eq:non-state}
  \begin{cases}
    \dot{x} = f(x,u)\\
    y = g(x,u)
  \end{cases}
\end{equation}

\subsection{Linearisation}
\label{sec:linearisation}

The first step in linearisation is to determine a set of (constant)
states $x_e$ and (constant) inputs $u_e$ so that the system is in
equilibrium - that is
\begin{equation}
  \label{eq:eqilibrium}
 \dot{x} = f(x_e,u_e) = 0
\end{equation}

In this case, choosing an angle $\theta=\eta$ and an input:
\begin{equation}\label{eq:u_e}
  u_e = -\tau = 2kl^2 \cos{\frac{\eta}{2}} (\sin{\frac{\eta}{2}}-\sin{\frac{\alpha}{2}})
\end{equation}
together with zero velocity gives an equilibrium.

With this choice
The linearised system is given in terms of the $A$, $B$, $C$ and $D$
matrices appearing in the state equation:
\begin{equation}
  \label{eq:state}
  \begin{cases}
    \dot{x} = Ax + Bu\\
    y = Cx + Du
  \end{cases}
\end{equation}

\textbf{MTT} automatically generates these matrices -- see Section
\Ref{sec:NonlinearMSD_sm.tex}.

\subsection{Further work}
\label{sec:further}
\begin{enumerate}
\item Derive the system ordinary differential equation appearing in
  Section \Ref{sec:NonlinearMSD_ode.tex}.
\item Explain how the input of (\ref{eq:u_e}) gives equilibrium for
  all $\eta$.
\item Explain how the elements of the $A$, $B$, $C$ and $D$ appearing
  Section \Ref{sec:NonlinearMSD_sm.tex} arise from the ordinary
  differential equation of Section \Ref{sec:NonlinearMSD_ode.tex}
  together with the input of (\ref{eq:u_e}).
\item Setting up parameters, inputs and initial state as in Sections
  \Ref{sec:NonlinearMSD_numpar.tex}, \Ref{sec:NonlinearMSD_input.tex}
  and \Ref{sec:NonlinearMSD_state.tex}, perform simulations as in
  Section \Ref{sec:NonlinearMSD_state.tex} - the figure shows the
  angular \emph{velocity} $\dot{\theta}$.
\item Repeat the simulation with different perturbations by modifying
  the file ``NonlinearMSD\_input.tex'' (see Section
  \Ref{sec:NonlinearMSD_input.tex})
  \begin{enumerate}
  \item note that for smaller perturbations, the graphs are of similar
    shape (scaled by the perturbation input)
  \item note that for larger perturbations the graphs are quite
    different - this is a non-linear system.
  \end{enumerate}
\item \label{item:1} Repeat the simulation with different equilibrium angles $\eta$ by modifying
  the file ``NonlinearMSD\_numpar.tex'' (see Section
  \Ref{sec:NonlinearMSD_numpar.tex}) appropriately. Note that when
  $\eta=\pi$, the linearised system is \emph{unstable}.
\item The (2,1) element of the $A$ matrix in Section
  \Ref{sec:NonlinearMSD_sm.tex} is the \emph{linearised} stiffness
  $k_l$. Plot this against $\eta$ and explain the observation in item
  \ref{item:1}.
\end{enumerate}




MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]