Skip to content

PrecomputedWarpPreconditioner

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

CompressedRowSparseMatrixd

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