template<typename TBlock, typename TPolicy = CRSMechanicalPolicy>
class multithreading::component::linearsolver::iterative::ParallelCompressedRowSparseMatrixMechanical< TBlock, TPolicy >
Simplified equivalent of CompressedRowSparseMatrixMechanical where some methods are multithreaded.
|
| Index | rowSize () const override |
| |
| Index | colSize () const override |
| |
| void | clearRowCol (Index i) override |
| |
| void | clearRow (Index i) override |
| |
| void | clearCol (Index i) override |
| |
| void | set (Index i, Index j, double v) override |
| |
| Index | rowBSize () const |
| |
| template<class V1 , class V2 > |
| void | tmul (V1 &res, const V2 &vec) const |
| |
| template<class Vec > |
| Vec | operator* (const Vec &v) const |
| |
| SReal | element (BaseMatrix::Index i, BaseMatrix::Index j) const override |
| |
| void | resize (BaseMatrix::Index nbRow, BaseMatrix::Index nbCol) override |
| |
| void | clear () override |
| |
| void | add (BaseMatrix::Index row, BaseMatrix::Index col, double v) override |
| |
| void | add (Index row, Index col, const sofa::type::Mat3x3d &_M) override |
| |
| void | add (Index row, Index col, const sofa::type::Mat3x3f &_M) override |
| |
| void | add (Index row, Index col, const sofa::type::Mat2x2d &_M) override |
| |
| void | add (Index row, Index col, const sofa::type::Mat2x2f &_M) override |
| |
| void | setTaskScheduler (sofa::simulation::TaskScheduler *taskScheduler) |
| |
| | BaseMatrix () |
| |
| virtual | ~BaseMatrix () |
| |
| Index | rows (void) const |
| |
| Index | cols (void) const |
| |
| virtual SReal | element (Index i, Index j) const=0 |
| |
| SReal | operator() (Index i, Index j) const |
| |
| virtual void | resize (Index nbRow, Index nbCol)=0 |
| |
| virtual void | set (Index i, Index j, double v)=0 |
| |
| virtual void | add (Index row, Index col, double v)=0 |
| |
| virtual void | add (Index row, Index col, const type::Mat3x3d &_M) |
| |
| virtual void | add (Index row, Index col, const type::Mat3x3f &_M) |
| |
| virtual void | add (Index row, Index col, const type::Mat2x2d &_M) |
| |
| virtual void | add (Index row, Index col, const type::Mat2x2f &_M) |
| |
| virtual void | add (Index row, Index col, const type::Mat6x6d &_M) |
| |
| virtual void | add (Index row, Index col, const type::Mat6x6f &_M) |
| |
| virtual void | clear (Index i, Index j) |
| |
| virtual void | clearRow (Index i) |
| |
| virtual void | clearRows (Index imin, Index imax) |
| |
| virtual void | clearCol (Index j) |
| |
| virtual void | clearCols (Index imin, Index imax) |
| |
| virtual void | clearRowCol (Index i) |
| |
| virtual void | clearRowsCols (Index imin, Index imax) |
| |
| virtual void | compress () |
| |
| virtual void | opMulV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| |
| virtual void | opMulV (float *result, const float *v) const |
| |
| virtual void | opMulV (double *result, const double *v) const |
| |
| virtual void | opPMulV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| |
| virtual void | opPMulV (float *result, const float *v) const |
| |
| virtual void | opPMulV (double *result, const double *v) const |
| |
| virtual void | opMulTV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| |
| virtual void | opMulTV (float *result, const float *v) const |
| |
| virtual void | opMulTV (double *result, const double *v) const |
| |
| virtual void | opPMulTV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| |
| virtual void | opPMulTV (float *result, const float *v) const |
| |
| virtual void | opPMulTV (double *result, const double *v) const |
| |
| virtual void | opMulTM (BaseMatrix *result, BaseMatrix *m) const |
| |
| virtual void | opAddM (linearalgebra::BaseMatrix *m, double fact) const |
| |
| virtual void | opAddMT (linearalgebra::BaseMatrix *m, double fact) const |
| |
| virtual ElementType | getElementType () const |
| |
| virtual std::size_t | getElementSize () const |
| |
| virtual MatrixCategory | getCategory () const |
| |
| virtual Index | getBlockRows () const |
| |
| virtual Index | getBlockCols () const |
| |
| virtual Index | bRowSize () const |
| |
| virtual Index | bColSize () const |
| |
| virtual Index | getBandWidth () const |
| |
| bool | isDiagonal () const |
| |
| bool | isBlockDiagonal () const |
| |
| bool | isBand () const |
| |
| bool | isSparse () const |
| |
| virtual BlockConstAccessor | blocGet (Index i, Index j) const |
| |
| virtual BlockAccessor | blocGetW (Index i, Index j) |
| |
| virtual BlockAccessor | blocCreate (Index i, Index j) |
| |
| const T * | blocElements (Index i, Index j, T *buffer) const |
| |
| void | blocSet (Index i, Index j, const T *buffer) |
| |
| void | blocAdd (Index i, Index j, const T *buffer) |
| |
| virtual ColBlockConstIterator | bRowBegin (Index ib) const |
| |
| virtual ColBlockConstIterator | bRowEnd (Index ib) const |
| |
| virtual std::pair< ColBlockConstIterator, ColBlockConstIterator > | bRowRange (Index ib) const |
| |
| virtual RowBlockConstIterator | bRowsBegin () const |
| |
| virtual RowBlockConstIterator | bRowsEnd () const |
| |
| virtual std::pair< RowBlockConstIterator, RowBlockConstIterator > | bRowsRange () const |
| |
| virtual void | opMulV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| |
| virtual void | opMulV (float *result, const float *v) const |
| |
| virtual void | opMulV (double *result, const double *v) const |
| |
| virtual void | opPMulV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| |
| virtual void | opPMulV (float *result, const float *v) const |
| |
| virtual void | opPMulV (double *result, const double *v) const |
| |
| virtual void | opMulTV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| |
| virtual void | opMulTV (float *result, const float *v) const |
| |
| virtual void | opMulTV (double *result, const double *v) const |
| |
| virtual void | opPMulTV (linearalgebra::BaseVector *result, const linearalgebra::BaseVector *v) const |
| |
| virtual void | opPMulTV (float *result, const float *v) const |
| |
| virtual void | opPMulTV (double *result, const double *v) const |
| |
| virtual void | opMulTM (BaseMatrix *result, BaseMatrix *m) const |
| |
| virtual void | opAddM (linearalgebra::BaseMatrix *m, double fact) const |
| |
| virtual void | opAddMT (linearalgebra::BaseMatrix *m, double fact) const |
| |
|
| | ELEMENT_UNKNOWN |
| |
| | ELEMENT_FLOAT |
| |
| | ELEMENT_INT |
| |
| | MATRIX_UNKNOWN |
| |
| | MATRIX_IDENTITY |
| |
| | MATRIX_DIAGONAL |
| |
| | MATRIX_BAND |
| |
| | MATRIX_SPARSE |
| |
| | MATRIX_FULL |
| |
| virtual void | bAccessorDelete (const InternalBlockAccessor *) const |
| |
| virtual void | bAccessorCopy (InternalBlockAccessor *) const |
| |
| virtual SReal | bAccessorElement (const InternalBlockAccessor *b, Index i, Index j) const |
| |
| virtual void | bAccessorSet (InternalBlockAccessor *b, Index i, Index j, double v) |
| |
| virtual void | bAccessorAdd (InternalBlockAccessor *b, Index i, Index j, double v) |
| |
| const T * | bAccessorElementsDefaultImpl (const InternalBlockAccessor *b, T *buffer) const |
| |
| virtual const float * | bAccessorElements (const InternalBlockAccessor *b, float *buffer) const |
| |
| virtual const double * | bAccessorElements (const InternalBlockAccessor *b, double *buffer) const |
| |
| virtual const int * | bAccessorElements (const InternalBlockAccessor *b, int *buffer) const |
| |
| void | bAccessorSetDefaultImpl (InternalBlockAccessor *b, const T *buffer) |
| |
| virtual void | bAccessorSet (InternalBlockAccessor *b, const float *buffer) |
| |
| virtual void | bAccessorSet (InternalBlockAccessor *b, const double *buffer) |
| |
| virtual void | bAccessorSet (InternalBlockAccessor *b, const int *buffer) |
| |
| void | bAccessorAddDefaultImpl (InternalBlockAccessor *b, const T *buffer) |
| |
| virtual void | bAccessorAdd (InternalBlockAccessor *b, const float *buffer) |
| |
| virtual void | bAccessorAdd (InternalBlockAccessor *b, const double *buffer) |
| |
| virtual void | bAccessorAdd (InternalBlockAccessor *b, const int *buffer) |
| |
| T * | bAccessorPrepareAddDefaultImpl (InternalBlockAccessor *, T *buffer) |
| |
| virtual float * | bAccessorPrepareAdd (InternalBlockAccessor *b, float *buffer) |
| |
| virtual double * | bAccessorPrepareAdd (InternalBlockAccessor *b, double *buffer) |
| |
| virtual int * | bAccessorPrepareAdd (InternalBlockAccessor *b, int *buffer) |
| |
| virtual void | bAccessorFinishAdd (InternalBlockAccessor *b, const float *buffer) |
| |
| virtual void | bAccessorFinishAdd (InternalBlockAccessor *b, const double *buffer) |
| |
| virtual void | bAccessorFinishAdd (InternalBlockAccessor *b, const int *buffer) |
| |
| BlockAccessor | createBlockAccessor (Index row, Index col, void *internalPtr=nullptr) |
| |
| BlockAccessor | createBlockAccessor (Index row, Index col, Index internalData) |
| |
| BlockConstAccessor | createBlockConstAccessor (Index row, Index col, void *internalPtr=nullptr) const |
| |
| BlockConstAccessor | createBlockConstAccessor (Index row, Index col, Index internalData) const |
| |
| void | setMatrix (BlockAccessor *b) |
| |
| void | setMatrix (BlockConstAccessor *b) const |
| |
| virtual void | itCopyColBlock (InternalColBlockIterator *) const |
| |
| virtual void | itDeleteColBlock (const InternalColBlockIterator *) const |
| |
| virtual void | itAccessColBlock (InternalColBlockIterator *it, BlockConstAccessor *b) const |
| |
| virtual void | itIncColBlock (InternalColBlockIterator *it) const |
| |
| virtual void | itDecColBlock (InternalColBlockIterator *it) const |
| |
| virtual bool | itEqColBlock (const InternalColBlockIterator *it, const InternalColBlockIterator *it2) const |
| |
| virtual bool | itLessColBlock (const InternalColBlockIterator *it, const InternalColBlockIterator *it2) const |
| |
| ColBlockConstIterator | createColBlockConstIterator (Index row, void *internalPtr) const |
| |
| ColBlockConstIterator | createColBlockConstIterator (Index row, Index internalData) const |
| |
| virtual void | itCopyRowBlock (InternalRowBlockIterator *) const |
| |
| virtual void | itDeleteRowBlock (const InternalRowBlockIterator *) const |
| |
| virtual Index | itAccessRowBlock (InternalRowBlockIterator *it) const |
| |
| virtual ColBlockConstIterator | itBeginRowBlock (InternalRowBlockIterator *it) const |
| |
| virtual ColBlockConstIterator | itEndRowBlock (InternalRowBlockIterator *it) const |
| |
| virtual std::pair< ColBlockConstIterator, ColBlockConstIterator > | itRangeRowBlock (InternalRowBlockIterator *it) const |
| |
| virtual void | itIncRowBlock (InternalRowBlockIterator *it) const |
| |
| virtual void | itDecRowBlock (InternalRowBlockIterator *it) const |
| |
| virtual bool | itEqRowBlock (const InternalRowBlockIterator *it, const InternalRowBlockIterator *it2) const |
| |
| virtual bool | itLessRowBlock (const InternalRowBlockIterator *it, const InternalRowBlockIterator *it2) const |
| |
| RowBlockConstIterator | createRowBlockConstIterator (void *internalPtr) const |
| |
| RowBlockConstIterator | createRowBlockConstIterator (Index internalData0, Index internalData1) const |
| |
| static InternalBlockAccessor * | getInternal (BlockConstAccessor *b) |
| |
| static const InternalBlockAccessor * | getInternal (const BlockConstAccessor *b) |
| |
| static InternalBlockAccessor * | getInternal (BlockAccessor *b) |
| |
| static const InternalBlockAccessor * | getInternal (const BlockAccessor *b) |
| |
| static InternalColBlockIterator * | getInternal (ColBlockConstIterator *b) |
| |
| static const InternalColBlockIterator * | getInternal (const ColBlockConstIterator *b) |
| |
| static InternalRowBlockIterator * | getInternal (RowBlockConstIterator *b) |
| |
| static const InternalRowBlockIterator * | getInternal (const RowBlockConstIterator *b) |
| |