File kernel/src/modelingTools/LagrangianCompliantLinearTIR.hpp#

Go to the source code of this file

class LagrangianCompliantLinearTIR : public LagrangianR
#include <LagrangianCompliantLinearTIR.hpp>

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.

ACCEPT_STD_VISITORS()#

Protected Functions

ACCEPT_SERIALIZATION(LagrangianCompliantLinearTIR)#

Protected Attributes

SP::SimpleMatrix _F = {nullptr}#

F matrix, coefficient of z.

SP::SiconosVector _e = {nullptr}#

e