Class FirstOrderLinearTIR#

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

class FirstOrderLinearTIR : public FirstOrderR#

Linear Time Invariant Relation, derived from class FirstOrderR.

Linear Relation for First Order Dynamical Systems with time-independant operators

\[\begin{split} y &=& Cx(t) + Fz + D\lambda + e \\ R &=& B\lambda \end{split}\]

Public Functions

FirstOrderLinearTIR(SP::SimpleMatrix C, SP::SimpleMatrix B)#

create the Relation from a set of data

Parameters:
  • C – the matrix C

  • B – the matrix B

FirstOrderLinearTIR(SP::SimpleMatrix C, SP::SimpleMatrix D, SP::SimpleMatrix F, SP::SiconosVector e, SP::SimpleMatrix B)#

create the Relation from a set of data

Parameters:
  • C – the C matrix

  • D – the D matrix

  • F – the F matrix

  • e – the e matrix

  • B – the B matrix

virtual ~FirstOrderLinearTIR() noexcept = default#

destructor

void computeh(const BlockVector &x, const SiconosVector &lambda, BlockVector &z, SiconosVector &y)#

default function to compute h = y = Cx(t) + Fz + Dlambda + e

Parameters:
  • x

  • lambda

  • z

  • y – the resulting vector

void computeg(const SiconosVector &lambda, BlockVector &r)#

default function to compute g = Blambda

Parameters:
  • lambda

  • r – non-smooth input

virtual void computeOutput(double time, Interaction &inter, unsigned int level = 0) override#

default function to compute y

Parameters:
virtual void computeInput(double time, Interaction &inter, unsigned int level = 0) override#

default function to compute r

Parameters:
virtual void display() const override#

print the data to the screen

inline void setePtr(SP::SiconosVector newe)#

set e

Parameters:

newe – the new value of e

inline SP::SiconosVector e() const#

get e

Returns:

e matrix

inline virtual bool isLinear() override#

determine if the Relation is linear

Returns:

true if the relation is linear.

inline virtual void computeJach(double time, Interaction &inter) override#

compute all the H Jacobian

Parameters:
  • time – the current time

  • inter – the interaction using this relation

inline virtual void computeJacg(double time, Interaction &inter) override#

compute all the G Jacobian

Parameters:
  • time – the current time

  • inter – the interaction using this relation

  • interProp