Class LagrangianCompliantLinearTIR#

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

class LagrangianCompliantLinearTIR : public LagrangianR#

Lagrangian Linear Relation.

Lagrangian Relation with:

\( y= Cq + e + D\lambda + Fz \)

\( p = C^t \lambda \)

C is the only required input to built a LagrangianCompliantLinearTIR. D is mandatory and may represent a stiffness in the relation

Public Functions

inline LagrangianCompliantLinearTIR()#

Default constructor.

LagrangianCompliantLinearTIR(SP::SimpleMatrix C, SP::SimpleMatrix D)#

create the Relation from a set of data

Parameters:
  • C – the matrix C

  • D – the matrix D

LagrangianCompliantLinearTIR(SP::SimpleMatrix C, SP::SimpleMatrix D, SP::SiconosVector e)#

create the Relation from a set of data

Parameters:
  • C – the matrix C

  • D – the matrix D

  • e – the vector e

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

create the Relation from a set of data

Parameters:
  • C – the matrix C

  • D – the matrix D

  • F – the matrix F

  • e – the vector e

virtual ~LagrangianCompliantLinearTIR() noexcept = default#

destructor

virtual void initialize(Interaction &inter) override#

initialize LagrangianCompliantLinearTIR specific operators.

Parameters:

inter – an Interaction using this relation

virtual void checkSize(Interaction &inter) override#

check sizes LagrangianCompliantLinearTIR specific operators.

Parameters:

inter – an Interaction using this relation

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

default function to compute y

Parameters:
  • time – not used

  • inter – the Interaction we want to update

  • derivativeNumber – the derivative of y we want to compute

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

default function to compute r

Parameters:
  • time – not used

  • inter – the Interaction we want to update

  • level – the derivative of lambda we want to compute

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

inline void setCPtr(SP::SimpleMatrix newPtr)#

set C to pointer newPtr

Parameters:

newPtr – a SP to plugged matrix

inline SP::SimpleMatrix D() const#

get D

Returns:

pointer on a plugged matrix

inline void setDPtr(SP::SimpleMatrix newPtr)#

set D to pointer newPtr

Parameters:

newPtr – a SP to plugged matrix

inline SP::SimpleMatrix F() const#

get F

Returns:

pointer on a plugged matrix

inline void setFPtr(SP::SimpleMatrix newPtr)#

set F to pointer newPtr

Parameters:

newPtr – a SP to plugged matrix

inline SP::SiconosVector e() const#

get e

Returns:

pointer on a plugged vector

inline void setEPtr(SP::SiconosVector newPtr)#

set e to pointer newPtr

Parameters:

newPtr – a SP to plugged vector

virtual void display() const override#

get a pointer on matrix Jach[index]

Returns:

a pointer on a SimpleMatrix print the data to the screen

inline virtual bool isLinear() override#
Returns:

true if the relation is linear.