Sparsity pattern data structure that can be used to initialize sparse matrices. After assembly, column indices are always sorted in increasing order. Ghost entries are kept after assembly.
More...
|
| | SparsityPattern (MPI_Comm comm, const std::array< std::shared_ptr< const common::IndexMap >, 2 > &maps, const std::array< int, 2 > &bs) |
| | Create an empty sparsity pattern with specified dimensions.
|
| |
| | SparsityPattern (MPI_Comm comm, const std::vector< std::vector< const SparsityPattern * > > &patterns, const std::array< std::vector< std::pair< std::reference_wrapper< const common::IndexMap >, int > >, 2 > &maps, const std::array< std::vector< int >, 2 > &bs) |
| | Create a new sparsity pattern by concatenating sub-patterns, e.g. pattern =[ pattern00 ][ pattern 01] [ pattern10 ][ pattern 11].
|
| |
|
| SparsityPattern (const SparsityPattern &pattern)=delete |
| |
|
| SparsityPattern (SparsityPattern &&pattern)=default |
| | Move constructor.
|
| |
|
| ~SparsityPattern ()=default |
| | Destructor.
|
| |
|
SparsityPattern & | operator= (SparsityPattern &&pattern)=default |
| | Move assignment.
|
| |
|
void | insert (const std::span< const std::int32_t > &rows, const std::span< const std::int32_t > &cols) |
| | Insert non-zero locations using local (process-wise) indices.
|
| |
| void | insert_diagonal (std::span< const std::int32_t > rows) |
| | Insert non-zero locations on the diagonal.
|
| |
|
void | finalize () |
| | Finalize sparsity pattern and communicate off-process entries.
|
| |
| std::shared_ptr< const common::IndexMap > | index_map (int dim) const |
| | Index map for given dimension dimension. Returns the index map for rows and columns that will be set by the current MPI rank.
|
| |
| std::vector< std::int64_t > | column_indices () const |
| | Global indices of non-zero columns on owned rows.
|
| |
| common::IndexMap | column_index_map () const |
| | Builds the index map for columns after assembly of the sparsity pattern.
|
| |
|
int | block_size (int dim) const |
| | Return index map block size for dimension dim.
|
| |
|
std::int64_t | num_nonzeros () const |
| | Number of nonzeros on this rank after assembly, including ghost rows.
|
| |
| std::int32_t | nnz_diag (std::int32_t row) const |
| | Number of non-zeros in owned columns (diagonal block) on a given row.
|
| |
| std::int32_t | nnz_off_diag (std::int32_t row) const |
| | Number of non-zeros in unowned columns (off-diagonal block) on a given row.
|
| |
| std::pair< std::span< const std::int32_t >, std::span< const std::int64_t > > | graph () const |
| | Sparsity pattern graph after assembly. Uses local indices for the columns.
|
| |
| std::span< const std::int32_t > | off_diagonal_offsets () const |
| | Row-wise start of off-diagonals (unowned columns) for each row.
|
| |
|
MPI_Comm | comm () const |
| | Return MPI communicator.
|
| |
Sparsity pattern data structure that can be used to initialize sparse matrices. After assembly, column indices are always sorted in increasing order. Ghost entries are kept after assembly.