#include <MatrixLinearSolver.h>


Public Types | |
| typedef sofa::core::componentmodel::behavior::BaseMechanicalState::VecId | VecId |
Public Member Functions | |
| MatrixLinearSolver () | |
| virtual | ~MatrixLinearSolver () |
| void | resetSystem () |
| Reset the current linear system. | |
| void | resizeSystem (int n) |
| Reset the current linear system. | |
| void | setSystemMBKMatrix (double mFact=0.0, double bFact=0.0, double kFact=0.0) |
| Set the linear system matrix, combining the mechanical M,B,K matrices using the given coefficients. | |
| void | setSystemRHVector (VecId v) |
| Set the linear system right-hand term vector, from the values contained in the (Mechanical/Physical)State objects. | |
| void | setSystemLHVector (VecId v) |
| Set the initial estimate of the linear system left-hand term vector, from the values contained in the (Mechanical/Physical)State objects This vector will be replaced by the solution of the system once solveSystem is called. | |
| Matrix * | getSystemMatrix () |
| Get the linear system matrix, or NULL if this solver does not build it. | |
| Vector * | getSystemRHVector () |
| Get the linear system right-hand term vector, or NULL if this solver does not build it. | |
| Vector * | getSystemLHVector () |
| Get the linear system left-hand term vector, or NULL if this solver does not build it. | |
| defaulttype::BaseMatrix * | getSystemBaseMatrix () |
| Get the linear system matrix, or NULL if this solver does not build it. | |
| defaulttype::BaseVector * | getSystemRHBaseVector () |
| Get the linear system right-hand term vector, or NULL if this solver does not build it. | |
| defaulttype::BaseVector * | getSystemLHBaseVector () |
| Get the linear system left-hand term vector, or NULL if this solver does not build it. | |
| virtual void | solveSystem () |
| Solve the system as constructed using the previous methods. | |
| virtual std::string | getTemplateName () const |
| Get the template type names (if any) used to instantiate this object. | |
| template<> | |
| component::linearsolver::TNewMatMatrix < NEWMAT::SymmetricBandMatrix > * | createMatrix () |
| template<> | |
| component::linearsolver::TNewMatMatrix < NEWMAT::BandMatrix > * | createMatrix () |
| template<> | |
| void | resetSystem () |
| Reset the current linear system. | |
| template<> | |
| void | resizeSystem (int) |
| template<> | |
| void | setSystemMBKMatrix (double mFact, double bFact, double kFact) |
| Set the linear system matrix, combining the mechanical M,B,K matrices using the given coefficients. | |
| template<> | |
| void | setSystemRHVector (VecId v) |
| Set the linear system right-hand term vector, from the values contained in the (Mechanical/Physical)State objects. | |
| template<> | |
| void | setSystemLHVector (VecId v) |
| Set the initial estimate of the linear system left-hand term vector, from the values contained in the (Mechanical/Physical)State objects This vector will be replaced by the solution of the system once solveSystem is called. | |
| template<> | |
| void | solveSystem () |
| Solve the system as constructed using the previous methods. | |
| template<> | |
| GraphScatteredMatrix * | createMatrix () |
| template<> | |
| void | deleteMatrix (GraphScatteredMatrix *v) |
| template<> | |
| GraphScatteredVector * | createVector () |
| template<> | |
| void | deleteVector (GraphScatteredVector *v) |
| template<> | |
| defaulttype::BaseMatrix * | getSystemBaseMatrix () |
| Get the linear system matrix, or NULL if this solver does not build it. | |
| template<> | |
| defaulttype::BaseVector * | getSystemRHBaseVector () |
| Get the linear system right-hand term vector, or NULL if this solver does not build it. | |
| template<> | |
| defaulttype::BaseVector * | getSystemLHBaseVector () |
| Get the linear system left-hand term vector, or NULL if this solver does not build it. | |
| template<> | |
| void | resetSystem () |
| Reset the current linear system. | |
| template<> | |
| void | resizeSystem (int) |
| template<> | |
| void | setSystemMBKMatrix (double mFact, double bFact, double kFact) |
| Set the linear system matrix, combining the mechanical M,B,K matrices using the given coefficients. | |
| template<> | |
| void | setSystemRHVector (VecId v) |
| Set the linear system right-hand term vector, from the values contained in the (Mechanical/Physical)State objects. | |
| template<> | |
| void | setSystemLHVector (VecId v) |
| Set the initial estimate of the linear system left-hand term vector, from the values contained in the (Mechanical/Physical)State objects This vector will be replaced by the solution of the system once solveSystem is called. | |
| template<> | |
| void | solveSystem () |
| Solve the system as constructed using the previous methods. | |
| template<> | |
| GraphScatteredVector * | createVector () |
| template<> | |
| void | deleteVector (GraphScatteredVector *v) |
| template<> | |
| GraphScatteredMatrix * | createMatrix () |
| template<> | |
| void | deleteMatrix (GraphScatteredMatrix *v) |
| template<> | |
| defaulttype::BaseMatrix * | getSystemBaseMatrix () |
| Get the linear system matrix, or NULL if this solver does not build it. | |
| template<> | |
| defaulttype::BaseVector * | getSystemRHBaseVector () |
| Get the linear system right-hand term vector, or NULL if this solver does not build it. | |
| template<> | |
| defaulttype::BaseVector * | getSystemLHBaseVector () |
| Get the linear system left-hand term vector, or NULL if this solver does not build it. | |
Static Public Member Functions | |
| static std::string | templateName (const MatrixLinearSolver< Matrix, Vector > *=NULL) |
Protected Member Functions | |
| virtual void | invert (Matrix &) |
| virtual void | solve (Matrix &M, Vector &solution, Vector &rh)=0 |
| Vector * | createVector () |
| void | deleteVector (Vector *v) |
| Matrix * | createMatrix () |
| void | deleteMatrix (Matrix *v) |
Protected Attributes | |
| MatrixLinearSolverInternalData < Matrix, Vector > * | data |
| bool | needInvert |
| Matrix * | systemMatrix |
| Vector * | systemRHVector |
| Vector * | systemLHVector |
| VecId | solutionVecId |
Definition at line 47 of file MatrixLinearSolver.h.
| typedef sofa::core::componentmodel::behavior::BaseMechanicalState::VecId sofa::simulation::MatrixLinearSolver< Matrix, Vector >::VecId |
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 50 of file MatrixLinearSolver.h.
| sofa::simulation::MatrixLinearSolver< Matrix, Vector >::MatrixLinearSolver | ( | ) | [inline] |
Definition at line 129 of file MatrixLinearSolver.h.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::data.
| sofa::simulation::MatrixLinearSolver< Matrix, Vector >::~MatrixLinearSolver | ( | ) | [inline, virtual] |
Definition at line 136 of file MatrixLinearSolver.h.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::deleteMatrix(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::deleteVector(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix, and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector.
| GraphScatteredMatrix * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::createMatrix | ( | ) | [inline] |
| GraphScatteredMatrix * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::createMatrix | ( | ) | [inline] |
Definition at line 129 of file MatrixLinearSolver.cpp.
| component::linearsolver::TNewMatMatrix< NEWMAT::BandMatrix > * sofa::simulation::MatrixLinearSolver< component::linearsolver::TNewMatMatrix< NEWMAT::BandMatrix >, component::linearsolver::NewMatVector >::createMatrix | ( | ) | [inline] |
Definition at line 489 of file NewMatMatrix.h.
| component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricBandMatrix > * sofa::simulation::MatrixLinearSolver< component::linearsolver::TNewMatMatrix< NEWMAT::SymmetricBandMatrix >, component::linearsolver::NewMatVector >::createMatrix | ( | ) | [inline] |
Definition at line 473 of file NewMatMatrix.h.
| Matrix * sofa::simulation::MatrixLinearSolver< Matrix, Vector >::createMatrix | ( | ) | [inline, protected] |
Definition at line 228 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resizeSystem().
| GraphScatteredVector * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::createVector | ( | ) | [inline] |
| GraphScatteredVector * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::createVector | ( | ) | [inline] |
Definition at line 141 of file MatrixLinearSolver.cpp.
| Vector * sofa::simulation::MatrixLinearSolver< Matrix, Vector >::createVector | ( | ) | [inline, protected] |
Definition at line 216 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resizeSystem().
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::deleteMatrix | ( | GraphScatteredMatrix * | v | ) | [inline] |
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::deleteMatrix | ( | GraphScatteredMatrix * | v | ) | [inline] |
Definition at line 135 of file MatrixLinearSolver.cpp.
| void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::deleteMatrix | ( | Matrix * | v | ) | [inline, protected] |
Definition at line 234 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< Matrix, Vector >::~MatrixLinearSolver().
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::deleteVector | ( | GraphScatteredVector * | v | ) | [inline] |
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::deleteVector | ( | GraphScatteredVector * | v | ) | [inline] |
Definition at line 147 of file MatrixLinearSolver.cpp.
| void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::deleteVector | ( | Vector * | v | ) | [inline, protected] |
Definition at line 222 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< Matrix, Vector >::~MatrixLinearSolver().
| defaulttype::BaseMatrix * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::getSystemBaseMatrix | ( | ) | [inline, virtual] |
Get the linear system matrix, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
| defaulttype::BaseMatrix * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::getSystemBaseMatrix | ( | ) | [inline, virtual] |
Get the linear system matrix, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 153 of file MatrixLinearSolver.cpp.
| defaulttype::BaseMatrix* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::getSystemBaseMatrix | ( | ) | [inline, virtual] |
Get the linear system matrix, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 85 of file MatrixLinearSolver.h.
| defaulttype::BaseVector * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::getSystemLHBaseVector | ( | ) | [inline, virtual] |
Get the linear system left-hand term vector, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
| defaulttype::BaseVector * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::getSystemLHBaseVector | ( | ) | [inline, virtual] |
Get the linear system left-hand term vector, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 159 of file MatrixLinearSolver.cpp.
| defaulttype::BaseVector* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::getSystemLHBaseVector | ( | ) | [inline, virtual] |
Get the linear system left-hand term vector, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 91 of file MatrixLinearSolver.h.
| Vector* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::getSystemLHVector | ( | ) | [inline] |
Get the linear system left-hand term vector, or NULL if this solver does not build it.
Definition at line 82 of file MatrixLinearSolver.h.
| Matrix* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::getSystemMatrix | ( | ) | [inline] |
Get the linear system matrix, or NULL if this solver does not build it.
Definition at line 76 of file MatrixLinearSolver.h.
| defaulttype::BaseVector * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::getSystemRHBaseVector | ( | ) | [inline, virtual] |
Get the linear system right-hand term vector, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
| defaulttype::BaseVector * sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::getSystemRHBaseVector | ( | ) | [inline, virtual] |
Get the linear system right-hand term vector, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 156 of file MatrixLinearSolver.cpp.
| defaulttype::BaseVector* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::getSystemRHBaseVector | ( | ) | [inline, virtual] |
Get the linear system right-hand term vector, or NULL if this solver does not build it.
Reimplemented from sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 88 of file MatrixLinearSolver.h.
| Vector* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::getSystemRHVector | ( | ) | [inline] |
Get the linear system right-hand term vector, or NULL if this solver does not build it.
Definition at line 79 of file MatrixLinearSolver.h.
| virtual std::string sofa::simulation::MatrixLinearSolver< Matrix, Vector >::getTemplateName | ( | ) | const [inline, virtual] |
Get the template type names (if any) used to instantiate this object.
Reimplemented from sofa::core::objectmodel::Base.
Definition at line 96 of file MatrixLinearSolver.h.
| virtual void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::invert | ( | Matrix & | ) | [inline, protected, virtual] |
Reimplemented in sofa::component::linearsolver::BTDLinearSolver< Matrix, Vector >, and sofa::component::linearsolver::LULinearSolver< Matrix, Vector >.
Definition at line 109 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solveSystem().
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::resetSystem | ( | ) | [inline, virtual] |
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::resetSystem | ( | ) | [inline, virtual] |
Reset the current linear system.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 80 of file MatrixLinearSolver.cpp.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::needInvert, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solutionVecId, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix, and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector.
| void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resetSystem | ( | ) | [inline, virtual] |
Reset the current linear system.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 144 of file MatrixLinearSolver.h.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::needInvert, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solutionVecId, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix, and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector.
Referenced by sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resizeSystem(), and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::setSystemMBKMatrix().
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::resizeSystem | ( | int | ) | [inline] |
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::resizeSystem | ( | int | ) | [inline] |
Definition at line 92 of file MatrixLinearSolver.cpp.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resetSystem().
| void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resizeSystem | ( | int | n | ) | [inline] |
Reset the current linear system.
Definition at line 154 of file MatrixLinearSolver.h.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::createMatrix(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::createVector(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::needInvert, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix, and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector.
Referenced by sofa::simulation::MatrixLinearSolver< Matrix, Vector >::setSystemMBKMatrix().
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::setSystemLHVector | ( | VecId | v | ) | [inline, virtual] |
Set the initial estimate of the linear system left-hand term vector, from the values contained in the (Mechanical/Physical)State objects This vector will be replaced by the solution of the system once solveSystem is called.
Implements sofa::core::componentmodel::behavior::LinearSolver.
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::setSystemLHVector | ( | VecId | v | ) | [inline, virtual] |
Set the initial estimate of the linear system left-hand term vector, from the values contained in the (Mechanical/Physical)State objects This vector will be replaced by the solution of the system once solveSystem is called.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 111 of file MatrixLinearSolver.cpp.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solutionVecId, and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector.
| void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::setSystemLHVector | ( | VecId | v | ) | [inline, virtual] |
Set the initial estimate of the linear system left-hand term vector, from the values contained in the (Mechanical/Physical)State objects This vector will be replaced by the solution of the system once solveSystem is called.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 187 of file MatrixLinearSolver.h.
References sofa::simulation::SolverImpl::multiVector2BaseVector(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solutionVecId, and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector.
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::setSystemMBKMatrix | ( | double | mFact, | |
| double | bFact, | |||
| double | kFact | |||
| ) | [inline, virtual] |
Set the linear system matrix, combining the mechanical M,B,K matrices using the given coefficients.
Implements sofa::core::componentmodel::behavior::LinearSolver.
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::setSystemMBKMatrix | ( | double | mFact, | |
| double | bFact, | |||
| double | kFact | |||
| ) | [inline, virtual] |
Set the linear system matrix, combining the mechanical M,B,K matrices using the given coefficients.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 98 of file MatrixLinearSolver.cpp.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resetSystem(), and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix.
| void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::setSystemMBKMatrix | ( | double | mFact = 0.0, |
|
| double | bFact = 0.0, |
|||
| double | kFact = 0.0 | |||
| ) | [inline, virtual] |
Set the linear system matrix, combining the mechanical M,B,K matrices using the given coefficients.
Note that this automatically resizes the linear system to the number of active degrees of freedoms
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 166 of file MatrixLinearSolver.h.
References sofa::simulation::SolverImpl::addMBK_ToMatrix(), sofa::simulation::SolverImpl::getMatrixDimension(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resizeSystem(), and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix.
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::setSystemRHVector | ( | VecId | v | ) | [inline, virtual] |
Set the linear system right-hand term vector, from the values contained in the (Mechanical/Physical)State objects.
Implements sofa::core::componentmodel::behavior::LinearSolver.
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::setSystemRHVector | ( | VecId | v | ) | [inline, virtual] |
Set the linear system right-hand term vector, from the values contained in the (Mechanical/Physical)State objects.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 105 of file MatrixLinearSolver.cpp.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector.
| void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::setSystemRHVector | ( | VecId | v | ) | [inline, virtual] |
Set the linear system right-hand term vector, from the values contained in the (Mechanical/Physical)State objects.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 179 of file MatrixLinearSolver.h.
References sofa::simulation::SolverImpl::multiVector2BaseVector(), and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector.
| virtual void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solve | ( | Matrix & | M, | |
| Vector & | solution, | |||
| Vector & | rh | |||
| ) | [protected, pure virtual] |
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::solveSystem | ( | ) | [inline, virtual] |
Solve the system as constructed using the previous methods.
Implements sofa::core::componentmodel::behavior::LinearSolver.
| void sofa::simulation::MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector >::solveSystem | ( | ) | [inline, virtual] |
Solve the system as constructed using the previous methods.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 118 of file MatrixLinearSolver.cpp.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::invert(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::needInvert, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solve(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix, and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector.
| void sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solveSystem | ( | ) | [inline, virtual] |
Solve the system as constructed using the previous methods.
Implements sofa::core::componentmodel::behavior::LinearSolver.
Definition at line 196 of file MatrixLinearSolver.h.
References sofa::simulation::MatrixLinearSolver< Matrix, Vector >::invert(), sofa::core::componentmodel::behavior::BaseMechanicalState::VecId::isNull(), sofa::simulation::SolverImpl::multiVectorPeqBaseVector(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::needInvert, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solutionVecId, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solve(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix, sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector, and sofa::simulation::SolverImpl::v_clear().
| static std::string sofa::simulation::MatrixLinearSolver< Matrix, Vector >::templateName | ( | const MatrixLinearSolver< Matrix, Vector > * | = NULL |
) | [inline, static] |
Definition at line 101 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< TMatrix, TVector >::getTemplateName().
MatrixLinearSolverInternalData<Matrix,Vector>* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::data [protected] |
Definition at line 119 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< Matrix, Vector >::MatrixLinearSolver().
bool sofa::simulation::MatrixLinearSolver< Matrix, Vector >::needInvert [protected] |
VecId sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solutionVecId [protected] |
Vector* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemLHVector [protected] |
Definition at line 124 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< TMatrix, TVector >::getSystemLHBaseVector(), sofa::simulation::MatrixLinearSolver< TMatrix, TVector >::getSystemLHVector(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resetSystem(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resizeSystem(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::setSystemLHVector(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solveSystem(), and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::~MatrixLinearSolver().
Matrix* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemMatrix [protected] |
Definition at line 122 of file MatrixLinearSolver.h.
Referenced by sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::addJMInvJt(), sofa::component::linearsolver::LULinearSolver< Matrix, Vector >::computeMinv(), sofa::simulation::MatrixLinearSolver< TMatrix, TVector >::getSystemBaseMatrix(), sofa::simulation::MatrixLinearSolver< TMatrix, TVector >::getSystemMatrix(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resetSystem(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resizeSystem(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::setSystemMBKMatrix(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solveSystem(), and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::~MatrixLinearSolver().
Vector* sofa::simulation::MatrixLinearSolver< Matrix, Vector >::systemRHVector [protected] |
Definition at line 123 of file MatrixLinearSolver.h.
Referenced by sofa::simulation::MatrixLinearSolver< TMatrix, TVector >::getSystemRHBaseVector(), sofa::simulation::MatrixLinearSolver< TMatrix, TVector >::getSystemRHVector(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resetSystem(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::resizeSystem(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::setSystemRHVector(), sofa::simulation::MatrixLinearSolver< Matrix, Vector >::solveSystem(), and sofa::simulation::MatrixLinearSolver< Matrix, Vector >::~MatrixLinearSolver().
1.5.7.1