Skip to content

GenericConstraintSolver

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

Target: Sofa.Component.Constraint.Lagrangian.Solver

namespace: sofa::component::constraint::lagrangian::solver

parents:

  • ConstraintSolverImpl

Data

Name Description Default value
name object name unnamed
printLog if true, emits extra messages at runtime. 0
tags list of the subsets the object belongs to
bbox this object bounding box
componentState The state of the component among (Dirty, Valid, Undefined, Loading, Invalid). Undefined
listening if true, handle the events, otherwise ignore the events 0
resolutionMethod Method used to solve the constraint problem, among: "ProjectedGaussSeidel", "UnbuiltGaussSeidel" or "for NonsmoothNonlinearConjugateGradient"
maxIterations maximal number of iterations of the Gauss-Seidel algorithm 1000
tolerance residual error threshold for termination of the Gauss-Seidel algorithm 0.001
sor Successive Over Relaxation parameter (0-2) 1
scaleTolerance Scale the error tolerance with the number of constraints 1
allVerified All constraints must be verified (each constraint's error < tolerance) 0
newtonIterations Maximum iteration number of Newton (for the NonsmoothNonlinearConjugateGradient solver only) 100
multithreading Build compliances concurrently 0
computeGraphs Compute graphs of errors and forces during resolution 0
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) 0
constraintForces OUTPUT: constraint forces (stored only if computeConstraintForces=True)
computeConstraintForces enable the storage of the constraintForces. 0
Graph
graphErrors Sum of the constraints' errors at each iteration
graphConstraints Graph of each constraint's error at the end of the resolution
Graph2
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
Stats
currentNumConstraints OUTPUT: current number of constraints 0
currentNumConstraintGroups OUTPUT: current number of constraints 0
currentIterations OUTPUT: current number of constraint groups 0
currentError OUTPUT: current error 0
Name Description Destination type name
context Graph Node containing this object (or BaseContext::getDefault() if no graph is used) BaseContext
slaves Sub-objects used internally by this object BaseObject
master nullptr for regular objects, or master object for which this object is one sub-objects BaseObject
constraintCorrections List of constraint corrections handled by this constraint solver BaseConstraintCorrection