|
| | SparseRowMatrix (const ThisType &)=delete |
| |
| | SparseRowMatrix (const bool threading=true) |
| | construct matrix of zero size
|
| |
| | SparseRowMatrix (const size_type rows, const size_type cols, const size_type nz, const bool threading=true) |
| |
| void | reserve (const size_type rows, const size_type cols, const size_type nz) |
| | reserve memory for given rows, columns and number of non zeros
|
| |
| template<class Stencil > |
| void | fillPattern (const Stencil &stencil, const size_type rowBlockSize, const size_type colBlockSize) |
| | reserve memory for given rows, columns and number of non zeros
|
| |
| size_type | rows () const |
| | return number of rows
|
| |
| size_type | cols () const |
| | return number of columns
|
| |
| void | set (const size_type row, const size_type col, const field_type val) |
| | set entry to value (also setting 0 will result in an entry)
|
| |
| void | add (const size_type row, const size_type col, const field_type val) |
| | add value to row,col entry
|
| |
| template<class ArgDFType , class DestDFType > |
| void | apply (const ArgDFType &f, DestDFType &ret) const |
| | ret = A*f
|
| |
| field_type | get (const size_type row, const size_type col) const |
| | return value of entry (row,col)
|
| |
| void | clear () |
| | set all matrix entries to zero
|
| |
| void | clearRow (const size_type row) |
| | set all entries in row to zero
|
| |
| void | scale (const size_type row, const size_type col, const field_type val) |
| | scale all entries in row with a given value
|
| |
| size_type | maxNzPerRow () const |
| |
| size_type | numNonZeros () const |
| |
| size_type | numNonZeros (size_type row) const |
| |
| std::pair< const field_type, size_type > | realValue (size_type index) const |
| |
| void | print (std::ostream &s=std::cout, unsigned int offset=0) const |
| | print matrix
|
| |
| template<class SizeT , class NumericT > |
| void | fillCSRStorage (std::vector< std::map< SizeT, NumericT > > &matrix) const |
| |
| void | compress () |
| |
| size_type | startRow (const size_type row) const |
| |
| size_type | endRow (const size_type row) const |
| |
| std::tuple< ValuesVector &, IndicesVector &, IndicesVector & > | exportCRS () |
| |
| template<class DiagType , class ArgDFType , class DestDFType , class WType > |
| void | forwardIterative (const DiagType &diagInv, const ArgDFType &b, const DestDFType &xold, DestDFType &xnew, const WType &w) const |
| | Apply Jacobi/SOR method.
|
| |
| template<class DiagType , class ArgDFType , class DestDFType , class WType > |
| void | backwardIterative (const DiagType &diagInv, const ArgDFType &b, const DestDFType &xold, DestDFType &xnew, const WType &w) const |
| | Apply Jacobi/SOR method.
|
| |
|
| std::pair< size_type, size_type > | sliceBeginEnd (const size_type thread, const size_type numThreads, std::true_type) const |
| |
| std::pair< size_type, size_type > | sliceBeginEnd (const size_type thread, const size_type numThreads, std::false_type) const |
| |
| template<class DiagType , class ArgDFType , class DestDFType , class WType , bool forward> |
| void | parallelIterative (const DiagType &diagInv, const ArgDFType &b, const DestDFType &xold, DestDFType &xnew, const WType &w, std::integral_constant< bool, forward > direction) const |
| |
| template<class DiagIt , class ArgDFIt , class DestDFType , class DestDFIt , class WType , bool forward> |
| void | doParallelIterative (DiagIt diag, ArgDFIt bit, const DestDFType &xold, DestDFIt xit, const WType &w, size_type row, const size_type end, std::integral_constant< bool, forward >) const |
| | Apply Jacobi/SOR method.
|
| |
| void | resize (size_type rows, size_type cols, size_type nz) |
| | resize matrix
|
| |
| size_type | colIndex (size_type row, size_type col) |
| | returns local col index for given global (row,col)
|
| |
template<class T, class IndexT = std::size_t, class ValuesVector = std::vector< T >, class IndicesVector = std::vector< IndexT >>
class Dune::Fem::SparseRowMatrix< T, IndexT, ValuesVector, IndicesVector >
SparseRowMatrix.
template<class T , class IndexT = std::size_t, class ValuesVector = std::vector< T >, class IndicesVector = std::vector< IndexT >>
template<class DiagType , class ArgDFType , class DestDFType , class WType >
| void Dune::Fem::SparseRowMatrix< T, IndexT, ValuesVector, IndicesVector >::backwardIterative |
( |
const DiagType & |
diagInv, |
|
|
const ArgDFType & |
b, |
|
|
const DestDFType & |
xold, |
|
|
DestDFType & |
xnew, |
|
|
const WType & |
w |
|
) |
| const |
|
inline |
template<class T , class IndexT = std::size_t, class ValuesVector = std::vector< T >, class IndicesVector = std::vector< IndexT >>
template<class DiagIt , class ArgDFIt , class DestDFType , class DestDFIt , class WType , bool forward>
| void Dune::Fem::SparseRowMatrix< T, IndexT, ValuesVector, IndicesVector >::doParallelIterative |
( |
DiagIt |
diag, |
|
|
ArgDFIt |
bit, |
|
|
const DestDFType & |
xold, |
|
|
DestDFIt |
xit, |
|
|
const WType & |
w, |
|
|
size_type |
row, |
|
|
const size_type |
end, |
|
|
std::integral_constant< bool, forward > |
|
|
) |
| const |
|
inlineprotected |
template<class T , class IndexT = std::size_t, class ValuesVector = std::vector< T >, class IndicesVector = std::vector< IndexT >>
template<class DiagType , class ArgDFType , class DestDFType , class WType >
| void Dune::Fem::SparseRowMatrix< T, IndexT, ValuesVector, IndicesVector >::forwardIterative |
( |
const DiagType & |
diagInv, |
|
|
const ArgDFType & |
b, |
|
|
const DestDFType & |
xold, |
|
|
DestDFType & |
xnew, |
|
|
const WType & |
w |
|
) |
| const |
|
inline |
template<class T , class IndexT = std::size_t, class ValuesVector = std::vector< T >, class IndicesVector = std::vector< IndexT >>
template<class DiagType , class ArgDFType , class DestDFType , class WType , bool forward>
| void Dune::Fem::SparseRowMatrix< T, IndexT, ValuesVector, IndicesVector >::parallelIterative |
( |
const DiagType & |
diagInv, |
|
|
const ArgDFType & |
b, |
|
|
const DestDFType & |
xold, |
|
|
DestDFType & |
xnew, |
|
|
const WType & |
w, |
|
|
std::integral_constant< bool, forward > |
direction |
|
) |
| const |
|
inlineprotected |