template<class TMatrix, class TVector>
class sofa::component::linearsolver::iterative::CGLinearSolver< TMatrix, TVector >
Linear system solver using the conjugate gradient iterative algorithm.
|
| | SOFA_CLASS (SOFA_TEMPLATE2(CGLinearSolver, TMatrix, TVector), SOFA_TEMPLATE2(sofa::component::linearsolver::MatrixLinearSolver, TMatrix, TVector)) |
| |
| void | init () override |
| | Initialization function checking input Data. More...
|
| |
| void | reinit () override |
| |
| void | resetSystem () override |
| | Clear graph and clean the RHS / LHS vectors. More...
|
| |
| void | setSystemMBKMatrix (const sofa::core::MechanicalParams *mparams) override |
| |
| void | solve (Matrix &A, Vector &x, Vector &b) override |
| | Solve iteratively the linear system Ax=b following a conjugate gradient descent. More...
|
| |
| 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) |
| |
|
| | CGLinearSolver () |
| | Linear system solver using the conjugate gradient iterative algorithm. More...
|
| |
| void | cgstep_beta (const core::ExecParams *params, Vector &p, Vector &r, Real beta) |
| |
| void | cgstep_alpha (const core::ExecParams *params, Vector &x, Vector &r, Vector &p, Vector &q, Real alpha) |
| |
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | cgstep_beta (const core::ExecParams *, Vector &p, Vector &r, Real beta) |
| |
| SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void | cgstep_alpha (const core::ExecParams *params, Vector &x, Vector &r, Vector &p, Vector &q, Real alpha) |
| |
| void | cgstep_beta (const core::ExecParams *, Vector &p, Vector &r, Real beta) |
| |
| void | cgstep_alpha (const core::ExecParams *params, Vector &x, Vector &r, Vector &p, Vector &q, Real alpha) |
| |