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