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

#include <ConstantLocalMatrix.h>

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

Detailed Description

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

Local matrix using the insertion order to insert the value directly into the compressed matrix

Public Attributes

sofa::type::vector< std::size_t > compressedInsertionOrderList
 list of indices in the compressed values More...
 
std::size_t currentId {}
 
- Public Attributes inherited from sofa::core::MatrixAccumulatorIndexChecker< BaseAssemblingMatrixAccumulator< c >, sofa::core::matrixaccumulator::NoIndexVerification >
std::shared_ptr< matrixaccumulator::IndexVerificationStrategyindexVerificationStrategy
 

Public Member Functions

 SOFA_CLASS (ConstantLocalMatrix, SOFA_TEMPLATE2(AssemblingMatrixAccumulator, c, TStrategy))
 
- 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
 

Protected Member Functions

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
 
- 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)
 

Additional Inherited Members

- 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 ()
 

Attribute details

◆ compressedInsertionOrderList

template<class TMatrix , core::matrixaccumulator::Contribution c, class TStrategy = sofa::core::matrixaccumulator::NoIndexVerification>
sofa::type::vector<std::size_t> sofa::component::linearsystem::ConstantLocalMatrix< TMatrix, c, TStrategy >::compressedInsertionOrderList

list of indices in the compressed values

◆ currentId

template<class TMatrix , core::matrixaccumulator::Contribution c, class TStrategy = sofa::core::matrixaccumulator::NoIndexVerification>
std::size_t sofa::component::linearsystem::ConstantLocalMatrix< TMatrix, c, TStrategy >::currentId {}

Function details

◆ add() [1/4]

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

◆ add() [2/4]

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

◆ add() [3/4]

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

◆ add() [4/4]

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

◆ SOFA_CLASS()

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