Skip to content

PrecomputedWarpPreconditioner

Linear system solver based on a precomputed inverse matrix, wrapped by a per-node rotation matrix

Templates:

  • CompressedRowSparseMatrixd

Target: Sofa.Component.LinearSolver.Preconditioner

namespace: sofa::component::linearsolver::preconditioner

parents:

  • MatrixLinearSolver

Data:

Name Description Default value
name object name unnamed
printLog if true, emits extra messages at runtime. 0
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). Undefined
listening if true, handle the events, otherwise ignore the events 0
parallelInverseProduct Parallelize the computation of the product J*M^{-1}*J^T where M is the matrix of the linear system and J is any matrix with compatible dimensions 0
jmjt_twostep Use two step algorithm to compute JMinvJt 1
use_file Dump system matrix in a file 1
share_matrix Share the compliance matrix in memory if they are related to the same file (WARNING: might require to reload Sofa when opening a new scene...) 1
use_rotations Use Rotations around the preconditioner 1
Visualization
draw_rotations_scale Scale rotations in draw function 0

Links:

Name Description
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
linearSystem The linear system to solve
linearSolver Link towards the linear solver used to precompute the first matrix