SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::component::linearsolver::preconditioner Namespace Reference

Classes

class  BlockJacobiPreconditionerInternalData
 
class  BlockJacobiPreconditioner
 Linear solver based on a NxN bloc diagonal matrix (i.e. block Jacobi preconditioner) More...
 
class  JacobiPreconditioner
 Linear solver based on a diagonal matrix (i.e. Jacobi preconditioner) More...
 
class  PrecomputedMatrixSystem
 
class  PrecomputedWarpPreconditionerInternalData
 
class  PrecomputedWarpPreconditioner
 Linear system solver based on a precomputed inverse matrix, wrapped by a per-node rotation matrix. More...
 
class  RotationMatrixSystem
 
class  SSORPreconditioner
 
class  WarpPreconditioner
 Linear system solver wrapping another (precomputed) linear solver by a per-node rotation matrix. More...
 

Functions

SOFA_EXPORT_DYNAMIC_LIBRARY void initExternalModule ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY const chargetModuleName ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY const chargetModuleVersion ()
 
SOFA_EXPORT_DYNAMIC_LIBRARY const chargetModuleComponentList ()
 
void init ()
 

Variables

int BlockJacobiPreconditionerClass
 
template class SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API BlockJacobiPreconditioner< BlockDiagonalMatrix< 3, SReal >, FullVector< SReal > >
 
int JacobiPreconditionerClass
 
template class SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API JacobiPreconditioner< DiagonalMatrix< SReal >, FullVector< SReal > >
 
int PrecomputedMatrixSystemClass
 
int PrecomputedWarpPreconditionerClass
 
template class SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API RotationMatrixSystem< RotationMatrix< SReal >, FullVector< SReal > >
 
int RotationMatrixSystemClass
 
int SSORPreconditionerClass
 
int WarpPreconditionerClass
 
template class SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API WarpPreconditioner< RotationMatrix< SReal >, FullVector< SReal >, NoThreadManager >
 

Function Documentation

◆ getModuleComponentList()

const char * sofa::component::linearsolver::preconditioner::getModuleComponentList ( )

◆ getModuleName()

const char * sofa::component::linearsolver::preconditioner::getModuleName ( )

◆ getModuleVersion()

const char * sofa::component::linearsolver::preconditioner::getModuleVersion ( )

◆ init()

SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API void sofa::component::linearsolver::preconditioner::init ( )

◆ initExternalModule()

void sofa::component::linearsolver::preconditioner::initExternalModule ( )

Variable Documentation

◆ BlockJacobiPreconditioner< BlockDiagonalMatrix< 3, SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API sofa::component::linearsolver::preconditioner::BlockJacobiPreconditioner< BlockDiagonalMatrix< 3, SReal >, FullVector< SReal > >

◆ BlockJacobiPreconditionerClass

int sofa::component::linearsolver::preconditioner::BlockJacobiPreconditionerClass
Initial value:
= core::RegisterObject("Linear solver based on a NxN block diagonal matrix (i.e. block Jacobi preconditioner)")
.add< BlockJacobiPreconditioner<BlockDiagonalMatrix<3,SReal> ,FullVector<SReal> > >()

◆ JacobiPreconditioner< DiagonalMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API sofa::component::linearsolver::preconditioner::JacobiPreconditioner< DiagonalMatrix< SReal >, FullVector< SReal > >

◆ JacobiPreconditionerClass

int sofa::component::linearsolver::preconditioner::JacobiPreconditionerClass
Initial value:
= core::RegisterObject("Linear solver based on a diagonal matrix (i.e. Jacobi preconditioner)")
.add< JacobiPreconditioner<DiagonalMatrix<SReal>, FullVector<SReal> > >(true)
.addAlias("JacobiLinearSolver")
.addAlias("JacobiSolver")

◆ PrecomputedMatrixSystemClass

int sofa::component::linearsolver::preconditioner::PrecomputedMatrixSystemClass
Initial value:
= core::RegisterObject("Matrix system")
.add<PrecomputedMatrixSystem< CompressedRowSparseMatrix<SReal>, FullVector<SReal> > >(true)

◆ PrecomputedWarpPreconditionerClass

int sofa::component::linearsolver::preconditioner::PrecomputedWarpPreconditionerClass
Initial value:
= core::RegisterObject("Linear system solver based on a precomputed inverse matrix, wrapped by a per-node rotation matrix")
.add< PrecomputedWarpPreconditioner< defaulttype::Vec3Types > >()

◆ RotationMatrixSystem< RotationMatrix< SReal >, FullVector< SReal > >

template class SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API sofa::component::linearsolver::preconditioner::RotationMatrixSystem< RotationMatrix< SReal >, FullVector< SReal > >

◆ RotationMatrixSystemClass

int sofa::component::linearsolver::preconditioner::RotationMatrixSystemClass
Initial value:
= core::RegisterObject("Rotation matrix warpping the main linear system")
.add<RotationMatrixSystem< RotationMatrix<SReal>, FullVector<SReal> > >(true)

◆ SSORPreconditionerClass

int sofa::component::linearsolver::preconditioner::SSORPreconditionerClass
Initial value:
= core::RegisterObject("Linear system solver / preconditioner based on Symmetric Successive Over-Relaxation (SSOR). If the matrix is decomposed as $A = D + L + L^T$, this solver computes $(1/(2-w))(D/w+L)(D/w)^{-1}(D/w+L)^T x = b, or $(D+L)D^{-1}(D+L)^T x = b$ if $w=1$.")
.add< SSORPreconditioner< CompressedRowSparseMatrix<SReal>, FullVector<SReal> > >(true)
.add< SSORPreconditioner< CompressedRowSparseMatrix< type::Mat<3,3,SReal> >, FullVector<SReal> > >()
.addAlias("SSORLinearSolver")
.addAlias("SSORSolver")

◆ WarpPreconditioner< RotationMatrix< SReal >, FullVector< SReal >, NoThreadManager >

template class SOFA_COMPONENT_LINEARSOLVER_PRECONDITIONER_API sofa::component::linearsolver::preconditioner::WarpPreconditioner< RotationMatrix< SReal >, FullVector< SReal >, NoThreadManager >

◆ WarpPreconditionerClass

int sofa::component::linearsolver::preconditioner::WarpPreconditionerClass
Initial value:
= core::RegisterObject("Linear system solver wrapping another (precomputed) linear solver by a per-node rotation matrix")
.add< WarpPreconditioner< RotationMatrix<SReal>, FullVector<SReal>, NoThreadManager > >()