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