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
-
virtual void computeOptions(SP::Interaction inter1, SP::Interaction inter2) override#
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
-
MLCPProjectOnConstraints(int numericsSolverId = SICONOS_MLCP_ENUM, double alpha = 1.0)#
constructor from data
- Parameters:
numericsSolverId – solver id
alpha – alpha parameter value
-
MLCPProjectOnConstraints(SP::SolverOptions options, double alpha = 1.0)#
constructor from a pre-defined solver options set.
- Parameters:
options – the options set,
alpha – alpha parameter value
-
inline ~MLCPProjectOnConstraints()#
destructor
-
inline double alpha()#
- Returns:
alpha value
-
inline void setAlpha(double newval)#
setter for alpha
- Parameters:
newval – [in] new value for alpha parameter
-
virtual void displayBlocks(SP::InteractionsGraph indexSet) override#
Display the set of blocks for a given indexSet.
- Parameters:
indexSet – the graph of interactions
-
virtual void display() const override#
print the data to the screen
-
virtual void initOSNSMatrix() override#
initialize the _M matrix
-
virtual void updateInteractionBlocks() override#
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 …)
-
virtual void computeDiagonalInteractionBlock(const InteractionsGraph::VDescriptor &vd) override#
compute diagonal Interaction block
- Parameters:
vd – a vertex (interaction) descriptor
-
virtual void computeInteractionBlock(const InteractionsGraph::EDescriptor &vd) override#
compute diagonal Interaction block
- Parameters:
vd – a vertex (interaction) descriptor
-
virtual void computeqBlock(InteractionsGraph::VDescriptor &vd, unsigned int pos) override#
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
-
virtual void computeq(double time) override#
compute vector q
- Parameters:
time – the current time
-
virtual void postCompute() override#
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
-
virtual void computeOptions(SP::Interaction inter1, SP::Interaction inter2) override#