SOFA API  1df67014
Open source framework for multi-physics simuation
sofa::component::linearsolver::direct::EigenSimplicialLLT< TBlockType > Class Template Reference

#include <EigenSimplicialLLT.h>

Inheritance diagram for sofa::component::linearsolver::direct::EigenSimplicialLLT< TBlockType >:

Detailed Description

template<class TBlockType>
class sofa::component::linearsolver::direct::EigenSimplicialLLT< TBlockType >

Linear solver based on direct sparse LLT Cholesky factorization

The factorization is based on the Eigen library

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE(EigenSimplicialLLT, TBlockType), SOFA_TEMPLATE2(EigenDirectSparseSolver, TBlockType, MainSimplicialLLTFactory))
 
- Public Member Functions inherited from sofa::component::linearsolver::direct::EigenDirectSparseSolver< TBlockType, MainSimplicialLLTFactory >
 SOFA_ABSTRACT_CLASS (SOFA_TEMPLATE2(EigenDirectSparseSolver, TBlockType, EigenSolverFactory), SOFA_TEMPLATE(ordering::OrderingMethodAccessor, SOFA_TEMPLATE2(sofa::component::linearsolver::MatrixLinearSolver, Matrix, Vector)))
 
 ~EigenDirectSparseSolver () override=default
 
void init () override
 
void reinit () override
 
void solve (Matrix &A, Vector &x, Vector &b) override
 
void invert (Matrix &A) override
 
- Public Member Functions inherited from sofa::component::linearsolver::ordering::OrderingMethodAccessor< sofa::component::linearsolver::MatrixLinearSolver< sofa::linearalgebra::CompressedRowSparseMatrix< TBlockType >, sofa::linearalgebra::FullVector< sofa::linearalgebra::CompressedRowSparseMatrix< TBlockType >::Real > > >
 SOFA_CLASS (OrderingMethodAccessor, sofa::component::linearsolver::MatrixLinearSolver< sofa::linearalgebra::CompressedRowSparseMatrix< TBlockType >, sofa::linearalgebra::FullVector< sofa::linearalgebra::CompressedRowSparseMatrix< TBlockType >::Real > >)
 
 OrderingMethodAccessor ()
 
 ~OrderingMethodAccessor () override=default
 
void init () override
 
void parse (sofa::core::objectmodel::BaseObjectDescription *arg) override
 
- Public Member Functions inherited from sofa::component::linearsolver::MatrixLinearSolver< Matrix, Vector, ThreadManager >
void resetSystem ()
 
void resizeSystem (Size n)
 
void setSystemMBKMatrix (const core::MechanicalParams *mparams)
 
void rebuildSystem (SReal, SReal)
 
void setSystemLHVector (core::MultiVecDerivId v)
 
void applySystemSolution ()
 
void applyConstraintForce (const sofa::core::ConstraintParams *, sofa::core::MultiVecDerivId, const linearalgebra::BaseVector *)
 
void computeResidual (const core::ExecParams *, linearalgebra::BaseVector *)
 
GraphScatteredVectorcreatePersistentVector ()
 
linearalgebra::BaseMatrixgetSystemBaseMatrix ()
 
linearalgebra::BaseVectorgetSystemRHBaseVector ()
 
linearalgebra::BaseVectorgetSystemLHBaseVector ()
 
void checkLinearSystem ()
 
bool addJMInvJtLocal (GraphScatteredMatrix *M, MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector, NoThreadManager >::ResMatrixType *result, const MatrixLinearSolver< GraphScatteredMatrix, GraphScatteredVector, NoThreadManager >::JMatrixType *J, const SReal fact)
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void resetSystem ()
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void resizeSystem (Size)
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void setSystemMBKMatrix (const core::MechanicalParams *mparams)
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void rebuildSystem (SReal massFactor, SReal forceFactor)
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void setSystemLHVector (core::MultiVecDerivId v)
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void applySystemSolution ()
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API GraphScatteredVectorcreatePersistentVector ()
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API linearalgebra::BaseMatrixgetSystemBaseMatrix ()
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API linearalgebra::BaseVectorgetSystemRHBaseVector ()
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API linearalgebra::BaseVectorgetSystemLHBaseVector ()
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void applyConstraintForce (const sofa::core::ConstraintParams *, sofa::core::MultiVecDerivId, const linearalgebra::BaseVector *)
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void computeResidual (const core::ExecParams *params, linearalgebra::BaseVector *f)
 
SOFA_COMPONENT_LINEARSOLVER_ITERATIVE_API void checkLinearSystem ()
 

Additional Inherited Members

- Public Attributes inherited from sofa::component::linearsolver::ordering::OrderingMethodAccessor< sofa::component::linearsolver::MatrixLinearSolver< sofa::linearalgebra::CompressedRowSparseMatrix< TBlockType >, sofa::linearalgebra::FullVector< sofa::linearalgebra::CompressedRowSparseMatrix< TBlockType >::Real > > >
SingleLink< OrderingMethodAccessor, core::behavior::BaseOrderingMethod, BaseLink::FLAG_STRONGLINK > l_orderingMethod
 
- Protected Attributes inherited from sofa::component::linearsolver::direct::EigenDirectSparseSolver< TBlockType, MainSimplicialLLTFactory >
DeprecatedAndRemoved d_orderingMethod
 
std::string m_selectedOrderingMethod
 
std::unique_ptr< BaseEigenSolverProxym_solver
 
sofa::linearalgebra::CompressedRowSparseMatrix< RealMfiltered
 
std::unique_ptr< EigenSparseMatrixMapm_map
 
sofa::linearalgebra::CompressedRowSparseMatrix< Real >::VecIndex MfilteredrowBegin
 
sofa::linearalgebra::CompressedRowSparseMatrix< Real >::VecIndex MfilteredcolsIndex
 
- Static Protected Attributes inherited from sofa::component::linearsolver::direct::EigenDirectSparseSolver< TBlockType, MainSimplicialLLTFactory >
static constexpr unsigned int s_defaultOrderingMethod
 
- Protected Member Functions inherited from sofa::component::linearsolver::direct::EigenDirectSparseSolver< TBlockType, MainSimplicialLLTFactory >
Eigen::ComputationInfo getSolverInfo () const
 
void updateSolverOderingMethod ()
 

Function details

◆ SOFA_CLASS()

template<class TBlockType >
sofa::component::linearsolver::direct::EigenSimplicialLLT< TBlockType >::SOFA_CLASS ( SOFA_TEMPLATE(EigenSimplicialLLT< TBlockType >, TBlockType)  ,
SOFA_TEMPLATE2(EigenDirectSparseSolver, TBlockType, MainSimplicialLLTFactory  
)