GenericConstraintSolver

Context: Sofa.Component.Constraint.Lagrangian.Solver

A Generic Constraint Solver using the Linear Complementarity Problem formulation to solve Constraint based components

Data:
  • name : object name

  • printLog : if true, emits extra messages at runtime.

  • tags : list of the subsets the objet belongs to

  • bbox : this object bounding box

  • componentState : The state of the component among (Dirty, Valid, Undefined, Loading, Invalid).

  • listening : if true, handle the events, otherwise ignore the events

  • resolutionMethod : Method used to solve the constraint problem, among: “ProjectedGaussSeidel”, “UnbuiltGaussSeidel” or “for NonsmoothNonlinearConjugateGradient”

  • maxIterations : maximal number of iterations of the Gauss-Seidel algorithm

  • tolerance : residual error threshold for termination of the Gauss-Seidel algorithm

  • sor : Successive Over Relaxation parameter (0-2)

  • scaleTolerance : Scale the error tolerance with the number of constraints

  • allVerified : All contraints must be verified (each constraint’s error < tolerance)

  • newtonIterations : Maximum iteration number of Newton (for the NonsmoothNonlinearConjugateGradient solver only)

  • multithreading : Build compliances concurrently

  • computeGraphs : Compute graphs of errors and forces during resolution

  • graphErrors : Sum of the constraints’ errors at each iteration

  • graphConstraints : Graph of each constraint’s error at the end of the resolution

  • graphForces : Graph of each constraint’s force at each step of the resolution

  • graphViolations : Graph of each constraint’s violation at each step of the resolution

  • currentNumConstraints : OUTPUT: current number of constraints

  • currentNumConstraintGroups : OUTPUT: current number of constraints

  • currentIterations : OUTPUT: current number of constraint groups

  • currentError : OUTPUT: current error

  • reverseAccumulateOrder : True to accumulate constraints from nodes in reversed order (can be necessary when using multi-mappings or interaction constraints not following the node hierarchy)

  • constraintForces : OUTPUT: constraint forces (stored only if computeConstraintForces=True)

  • computeConstraintForces : enable the storage of the constraintForces.

Links:
  • context : Graph Node containing this object (or BaseContext::getDefault() if no graph is used

  • slaves : Sub-objects used internally by this object

  • master : nullptr for regular objects, or master object for which this object is one sub-objects

  • constraintCorrections : List of constraint corrections handled by this constraint solver