Class MLCPProjectOnConstraints

Defined in Program listing for file kernel/src/simulationTools/MLCPProjectOnConstraints.hpp

class MLCPProjectOnConstraints : public MLCP

Formalization and Resolution of a Mixed Linear Complementarity Problem (MLCP)

This class is devoted to the formalization and the resolution of the Mixed Linear Complementarity Problem (MLCP) for the specific problem of the projection onto the constraints in Mechanics

Public Functions

MLCPProjectOnConstraints(int numericsSolverId = SICONOS_MLCP_ENUM, double alpha = 1.0)

constructor from data

Parameters
  • numericsSolverId: solver id
  • alpha: alpha parameter value

~MLCPProjectOnConstraints()

destructor

ACCEPT_STD_VISITORS()

visitors hook

double alpha()

Return
alpha value

virtual void computeDiagonalInteractionBlock(const InteractionsGraph::VDescriptor &vd)

compute diagonal Interaction block

Parameters
  • vd: a vertex (interaction) descriptor

virtual void computeInteractionBlock(const InteractionsGraph::EDescriptor &vd)

compute diagonal Interaction block

Parameters
  • vd: a vertex (interaction) descriptor

virtual void computeOptions(SP::Interaction inter1, SP::Interaction inter2)

compute the number of inequality and equality for a given tuple of Interactions update the global number of equality(_n) and inequality (_m) set up _numerics_problem parameters (blocksRows and blocksIsComp )

Parameters
  • inter1: first interaction considered
  • inter2: second interaction

void computeq(double time)

compute vector q

Parameters
  • time: the current time

virtual void computeqBlock(InteractionsGraph::VDescriptor &vd, unsigned int pos)

To compute a part of the “q” vector of the OSNS.

Parameters
  • vd: vertex (interaction) which corresponds to the considered block
  • pos: the position of the first element of yOut to be set

void display() const

print the data to the screen

void displayBlocks(SP::InteractionsGraph indexSet)

Display the set of blocks for a given indexSet.

Parameters
  • indexSet: the graph of interactions

virtual void postCompute()

post-treatment for MLCPProjectOnConstraints

virtual void postComputeLagrangianR(SP::Interaction inter, unsigned int pos)

post-treatment for MLCPProjectOnConstraints for LagrangianR

Parameters
  • inter: the considered interaction
  • pos: interaction position in the global vector

virtual void postComputeNewtonEulerR(SP::Interaction inter, unsigned int pos)

post-treatment for MLCPProjectOnConstraints for NewtonEulerR

Parameters
  • inter: the considered interaction
  • pos: interaction position in the global vector

void setAlpha(double newval)

setter for alpha

Parameters
  • newval: new value for alpha parameter

virtual void updateInteractionBlocks()

compute interactionBlocks if necessary (this depends on the type of OSNS, on the indexSets …)

virtual void updateInteractionBlocksOLD()

compute interactionBlocks if necessary (this depends on the type of OSNS, on the indexSets …)