SOFA API  ca665544
Open source framework for multi-physics simuation
sofa::linearalgebra::CRSDefaultPolicy Struct Reference

#include <CompressedRowSparseMatrixGeneric.h>

Inheritance diagram for sofa::linearalgebra::CRSDefaultPolicy:

Static Public Attributes

static constexpr bool IsAlwaysSquare = false
 Set to true if this matrix is always square (must be true for symmetric) More...
 
static constexpr bool IsAlwaysSymmetric = false
 Set to true if this matrix is always symmetric (IsAlwaysSquare should be true) More...
 
static constexpr bool AutoSize = false
 Set to true if the size of the matrix should be automatically increased when new blocks are added. More...
 
static constexpr bool AutoCompress = true
 Set to true if the matrix should be automatically compressed (easier to use, but might cause issues in multithreading) More...
 
static constexpr bool CompressZeros = true
 Set to true if the blocks that are all zeros should be removed from the matrix when compressing (expensive) More...
 
static constexpr bool ClearByZeros = true
 Set to true if clear methods will put all concerned value to zero instead of clearing vectors (CompressZeros should be true) More...
 
static constexpr bool OrderedInsertion = false
 Set to true if insertion in matrix are in most case at last line index or last col index. More...
 
static constexpr bool StoreLowerTriangularBlock = true
 Set to false to disable storage of blocks on the lower triangular part (IsAlwaysSymmetric must be true) More...
 
static constexpr int matrixType = 0
 Do not change this value, has to be overrided for all derivated class. More...
 

Attribute details

◆ AutoCompress

constexpr bool sofa::linearalgebra::CRSDefaultPolicy::AutoCompress = true
staticconstexpr

Set to true if the matrix should be automatically compressed (easier to use, but might cause issues in multithreading)

◆ AutoSize

constexpr bool sofa::linearalgebra::CRSDefaultPolicy::AutoSize = false
staticconstexpr

Set to true if the size of the matrix should be automatically increased when new blocks are added.

◆ ClearByZeros

constexpr bool sofa::linearalgebra::CRSDefaultPolicy::ClearByZeros = true
staticconstexpr

Set to true if clear methods will put all concerned value to zero instead of clearing vectors (CompressZeros should be true)

◆ CompressZeros

constexpr bool sofa::linearalgebra::CRSDefaultPolicy::CompressZeros = true
staticconstexpr

Set to true if the blocks that are all zeros should be removed from the matrix when compressing (expensive)

◆ IsAlwaysSquare

constexpr bool sofa::linearalgebra::CRSDefaultPolicy::IsAlwaysSquare = false
staticconstexpr

Set to true if this matrix is always square (must be true for symmetric)

◆ IsAlwaysSymmetric

constexpr bool sofa::linearalgebra::CRSDefaultPolicy::IsAlwaysSymmetric = false
staticconstexpr

Set to true if this matrix is always symmetric (IsAlwaysSquare should be true)

◆ matrixType

constexpr int sofa::linearalgebra::CRSDefaultPolicy::matrixType = 0
staticconstexpr

Do not change this value, has to be overrided for all derivated class.

◆ OrderedInsertion

constexpr bool sofa::linearalgebra::CRSDefaultPolicy::OrderedInsertion = false
staticconstexpr

Set to true if insertion in matrix are in most case at last line index or last col index.

◆ StoreLowerTriangularBlock

constexpr bool sofa::linearalgebra::CRSDefaultPolicy::StoreLowerTriangularBlock = true
staticconstexpr

Set to false to disable storage of blocks on the lower triangular part (IsAlwaysSymmetric must be true)