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 |
Links
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 |