File kernel/src/modelingTools/FirstOrderLinearTIDS.hpp#

Go to the source code of this file

class FirstOrderLinearTIDS : public FirstOrderLinearDS
#include <FirstOrderLinearTIDS.hpp>

First order linear and time-invariant coeff systems - \( M \dot x = Ax(t)+ b + r, x(t_0)=x_0 \) .

This class represents first order linear systems of the form:

\[ M\dot x(t) = A x(t) + b + r, x(t_0)=x_0 \]

where

  • \( x \in R^{n} \) is the state,

  • \( r \in R^{n} \) the input due to the Non Smooth Interaction.

  • \( M \in R^{n\times n} \) is a constant invertible matrix

  • \( A \in R^{n\times n} \)

  • \( b \in R^{n} \)

No plugged operators for this class.

Public Functions

inline FirstOrderLinearTIDS(SP::SiconosVector x0, SP::SiconosMatrix A)

initial state and constant A matrix

Parameters:
  • x0 – the initial state vector

  • A – the A matrix

inline FirstOrderLinearTIDS(SP::SiconosVector x0, SP::SiconosMatrix A, SP::SiconosVector b)

initial state, constant A matrix, constant b vector

Parameters:
  • x0 – the initial state vector

  • A – matrix

  • b – vector

inline FirstOrderLinearTIDS(const FirstOrderLinearTIDS &FOLTIDS)

Copy constructor.

Parameters:

FOLTIDS – the FirstOrderLinearTIDS to copy

inline ~FirstOrderLinearTIDS()

destructor

virtual void initRhs(double time) override

Initialization function for the rhs and its jacobian.

Parameters:

time – of initialization.

virtual void computeRhs(double time) override

Default function to the right-hand side term.

Parameters:

time – current time

virtual void computeJacobianRhsx(double time) override

Default function to jacobian of the right-hand side term according to x.

Parameters:

time – current time

virtual void display(bool brief = true) const override

data display on screen

inline virtual void updatePlugins(double time) override

Dumb function, there is no plugin here.

Parameters:

time – unused

ACCEPT_STD_VISITORS()#

Private Functions

ACCEPT_SERIALIZATION(FirstOrderLinearTIDS)#
inline FirstOrderLinearTIDS()#

default constructor