Linear system solver wrapping another (precomputed) linear solver by a per-node rotation matrix.  
 More...
template<class TMatrix, class TVector, class ThreadManager = NoThreadManager>
class sofa::component::linearsolver::preconditioner::WarpPreconditioner< TMatrix, TVector, ThreadManager >
Linear system solver wrapping another (precomputed) linear solver by a per-node rotation matrix. 
|  | 
|  | SOFA_CLASS (SOFA_TEMPLATE3(WarpPreconditioner, TMatrix, TVector, ThreadManager), SOFA_TEMPLATE3(sofa::component::linearsolver::MatrixLinearSolver, TMatrix, TVector, ThreadManager)) | 
|  | 
|  | ~WarpPreconditioner () | 
|  | 
| void | init () override | 
|  | 
| void | bwdInit () override | 
|  | 
| void | setSystemMBKMatrix (const core::MechanicalParams *mparams) override | 
|  | 
| void | invert (Matrix &M) override | 
|  | 
| void | solve (Matrix &M, Vector &solution, Vector &rh) override | 
|  | Solve the system as constructed using the previous methods.  More... 
 | 
|  | 
| bool | addJMInvJt (linearalgebra::BaseMatrix *result, linearalgebra::BaseMatrix *J, SReal fact) override | 
|  | Solve the system as constructed using the previous methods.  More... 
 | 
|  | 
| bool | addMInvJt (linearalgebra::BaseMatrix *result, linearalgebra::BaseMatrix *J, SReal fact) override | 
|  | 
| Index | getSystemDimention (const sofa::core::MechanicalParams *mparams) | 
|  | 
| void | computeResidual (const core::ExecParams *params, linearalgebra::BaseVector *) override | 
|  | 
| void | updateSystemMatrix () override | 
|  | 
| void | resetSystem () | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | resetSystem () | 
|  | 
| void | resizeSystem (Size n) | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | resizeSystem (Size) | 
|  | 
| void | setSystemMBKMatrix (const core::MechanicalParams *mparams) | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | setSystemMBKMatrix (const core::MechanicalParams *mparams) | 
|  | 
| void | rebuildSystem (SReal, SReal) | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | rebuildSystem (SReal massFactor, SReal forceFactor) | 
|  | 
| void | setSystemLHVector (core::MultiVecDerivId v) | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | setSystemLHVector (core::MultiVecDerivId v) | 
|  | 
| void | applySystemSolution () | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | applySystemSolution () | 
|  | 
| void | applyConstraintForce (const sofa::core::ConstraintParams *, sofa::core::MultiVecDerivId, const linearalgebra::BaseVector *) | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | applyConstraintForce (const sofa::core::ConstraintParams *, sofa::core::MultiVecDerivId, const linearalgebra::BaseVector *) | 
|  | 
| void | computeResidual (const core::ExecParams *, linearalgebra::BaseVector *) | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | computeResidual (const core::ExecParams *params, linearalgebra::BaseVector *f) | 
|  | 
| GraphScatteredVector * | createPersistentVector () | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API GraphScatteredVector * | createPersistentVector () | 
|  | 
| linearalgebra::BaseMatrix * | getSystemBaseMatrix () | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API linearalgebra::BaseMatrix * | getSystemBaseMatrix () | 
|  | 
| linearalgebra::BaseVector * | getSystemRHBaseVector () | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API linearalgebra::BaseVector * | getSystemRHBaseVector () | 
|  | 
| linearalgebra::BaseVector * | getSystemLHBaseVector () | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API linearalgebra::BaseVector * | getSystemLHBaseVector () | 
|  | 
| void | checkLinearSystem () | 
|  | 
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | checkLinearSystem () | 
|  | 
| bool | addJMInvJtLocal (GraphScatteredMatrix *M, MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector, NoThreadManager >::ResMatrixType *result, const MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector, NoThreadManager >::JMatrixType *J, const SReal fact) | 
|  |