LCPConstraintSolver
A Constraint Solver using the Linear Complementarity Problem formulation to solve BaseConstraint 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 |
displayDebug | Display debug information. | 0 |
initial_guess | activate LCP results history to improve its resolution performances. | 1 |
build_lcp | LCP is not fully built to increase performance in some case. | 1 |
tolerance | residual error threshold for termination of the Gauss-Seidel algorithm | 0.001 |
maxIt | maximal number of iterations of the Gauss-Seidel algorithm | 1000 |
mu | Friction coefficient | 0.6 |
minW | If not zero, constraints whose self-compliance (i.e. the corresponding value on the diagonal of W) is smaller than this threshold will be ignored | 0 |
maxF | If not zero, constraints whose response force becomes larger than this threshold will be ignored | 0 |
multi_grid | activate multi_grid resolution (NOT STABLE YET) | 0 |
multi_grid_levels | if multi_grid is active: how many levels to create (>=2) | 2 |
merge_method | if multi_grid is active: which method to use to merge constraints (0 = compliance-based, 1 = spatial coordinates) | 0 |
merge_spatial_step | if merge_method is 1: grid size reduction between multigrid levels | 2 |
merge_local_levels | if merge_method is 1: up to the specified level of the multigrid, constraints are grouped locally, i.e. separately within each contact pairs, while on upper levels they are grouped globally independently of contact pairs. | 2 |
constraintForces | OUTPUT: constraint forces (stored only if computeConstraintForces=True) | |
computeConstraintForces | enable the storage of the constraintForces. | 0 |
group | list of ID of groups of constraints to be handled by this solver. | |
graph | Graph of residuals at each iteration | |
Visualization | ||
showLevels | Number of constraint levels to display | 0 |
showCellWidth | Distance between each constraint cells | |
showTranslation | Position of the first cell | |
showLevelTranslation | Translation between levels |
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 |