Class FirstOrderLinearTIDS

Defined in Program listing for file kernel/src/modelingTools/FirstOrderLinearTIDS.hpp

class FirstOrderLinearTIDS : public FirstOrderLinearDS

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 \]


  • \( 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

  • 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

  • x0 – the initial state vector

  • A – matrix

  • b – vector

inline FirstOrderLinearTIDS(const FirstOrderLinearTIDS &FOLTIDS)

Copy constructor.


FOLTIDS – the FirstOrderLinearTIDS to copy

inline ~FirstOrderLinearTIDS()


virtual void initRhs(double time) override

Initialization function for the rhs and its jacobian.


time – of initialization.

virtual void computeRhs(double time) override

Default function to the right-hand side term.


time – current time

virtual void computeJacobianRhsx(double time) override

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


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.


time – unused