SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy > Class Template Reference

#include <SparsityPatternLocalMatrix.h>

Inheritance diagram for sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >:

Detailed Description

template<core::matrixaccumulator::Contribution c, class TStrategy = sofa::core::matrixaccumulator::NoIndexVerification>
class sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >

Local matrix used to collect the order values are inserted into the matrix This local matrix is used only once.

Protected Attributes

sofa::type::vector< std::pair< Row, Col > > insertionOrderList
 

Public Member Functions

 SOFA_CLASS (SparsityPatternLocalMatrix, SOFA_TEMPLATE2(AssemblingMatrixAccumulator, c, TStrategy))
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, float value) override
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, double value) override
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 3, 3, float > &value) override
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 3, 3, double > &value) override
 
const sofa::type::vector< std::pair< Row, Col > > & getInsertionOrderList () const
 
- Public Member Functions inherited from sofa::component::linearsystem::AssemblingMatrixAccumulator< c, sofa::core::matrixaccumulator::NoIndexVerification >
 SOFA_CLASS (AssemblingMatrixAccumulator, SOFA_TEMPLATE2(sofa::core::MatrixAccumulatorIndexChecker, BaseAssemblingMatrixAccumulator< c >, sofa::core::matrixaccumulator::NoIndexVerification))
 
void clear () override
 
- Public Member Functions inherited from sofa::core::MatrixAccumulatorIndexChecker< BaseAssemblingMatrixAccumulator< c >, sofa::core::matrixaccumulator::NoIndexVerification >
 SOFA_CLASS (MatrixAccumulatorIndexChecker, BaseAssemblingMatrixAccumulator< c >)
 
void setIndexCheckerStrategy (std::shared_ptr< matrixaccumulator::IndexVerificationStrategy > strategy) override
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const float value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, double value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 2, 2, float > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 2, 2, double > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 3, 3, float > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 3, 3, double > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 6, 6, float > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 6, 6, double > &value) override final
 

Additional Inherited Members

- Public Attributes inherited from sofa::core::MatrixAccumulatorIndexChecker< BaseAssemblingMatrixAccumulator< c >, sofa::core::matrixaccumulator::NoIndexVerification >
std::shared_ptr< matrixaccumulator::IndexVerificationStrategyindexVerificationStrategy
 
- Static Public Attributes inherited from sofa::component::linearsystem::AssemblingMatrixAccumulator< c, sofa::core::matrixaccumulator::NoIndexVerification >
static constexpr core::matrixaccumulator::Contribution contribution
 
- Static Public Member Functions inherited from sofa::component::linearsystem::AssemblingMatrixAccumulator< c, sofa::core::matrixaccumulator::NoIndexVerification >
static std::string GetCustomTemplateName ()
 
- Protected Member Functions inherited from sofa::component::linearsystem::AssemblingMatrixAccumulator< c, sofa::core::matrixaccumulator::NoIndexVerification >
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, float value) override
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, double value) override
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 3, 3, float > &value) override
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 3, 3, double > &value) override
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 6, 6, float > &value) override
 
void add (const core::matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 6, 6, double > &value) override
 
- Protected Member Functions inherited from sofa::core::MatrixAccumulatorIndexChecker< BaseAssemblingMatrixAccumulator< c >, sofa::core::matrixaccumulator::NoIndexVerification >
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 2, 2, float > &value)
 
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 2, 2, double > &value)
 
void indexCheckedAdd (sofa::SignedIndex row, sofa::SignedIndex col, const T &value)
 

Attribute details

◆ insertionOrderList

template<core::matrixaccumulator::Contribution c, class TStrategy = sofa::core::matrixaccumulator::NoIndexVerification>
sofa::type::vector<std::pair<Row, Col> > sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >::insertionOrderList
protected

Function details

◆ add() [1/4]

template<core::matrixaccumulator::Contribution c, class TStrategy >
void sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >::add ( const core::matrixaccumulator::no_check_policy ,
sofa::SignedIndex  row,
sofa::SignedIndex  col,
const sofa::type::Mat< 3, 3, double > &  value 
)
overridevirtual

◆ add() [2/4]

template<core::matrixaccumulator::Contribution c, class TStrategy >
void sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >::add ( const core::matrixaccumulator::no_check_policy ,
sofa::SignedIndex  row,
sofa::SignedIndex  col,
const sofa::type::Mat< 3, 3, float > &  value 
)
overridevirtual

◆ add() [3/4]

template<core::matrixaccumulator::Contribution c, class TStrategy >
void sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >::add ( const core::matrixaccumulator::no_check_policy ,
sofa::SignedIndex  row,
sofa::SignedIndex  col,
double  value 
)
overridevirtual

◆ add() [4/4]

template<core::matrixaccumulator::Contribution c, class TStrategy >
void sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >::add ( const core::matrixaccumulator::no_check_policy ,
sofa::SignedIndex  row,
sofa::SignedIndex  col,
float  value 
)
overridevirtual

◆ getInsertionOrderList()

template<core::matrixaccumulator::Contribution c, class TStrategy = sofa::core::matrixaccumulator::NoIndexVerification>
const sofa::type::vector<std::pair<Row, Col> >& sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >::getInsertionOrderList ( ) const
inline

◆ SOFA_CLASS()

template<core::matrixaccumulator::Contribution c, class TStrategy = sofa::core::matrixaccumulator::NoIndexVerification>
sofa::component::linearsystem::SparsityPatternLocalMatrix< c, TStrategy >::SOFA_CLASS ( SparsityPatternLocalMatrix< c, TStrategy >  ,
SOFA_TEMPLATE2(AssemblingMatrixAccumulator, c, TStrategy)   
)