GenericSparsityPattern.h¶
Note
The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.
-
class
GenericSparsityPattern
¶ Parent class(es)
Base class (interface) for generic tensor sparsity patterns. Currently, this interface is mostly limited to matrices.
-
GenericSparsityPattern
(std::size_t primary_dim)¶ Create empty sparsity pattern
-
void
init
(const MPI_Comm mpi_comm, const std::vector<std::size_t> &dims, const std::vector<std::pair<std::size_t, std::size_t>> &local_range, const std::vector<ArrayView<const std::size_t>> &local_to_global, const std::vector<ArrayView<const int>> &off_process_owner, const std::vector<std::size_t> &block_sizes) = 0¶ Initialize sparsity pattern for a generic tensor
-
void
insert_global
(const std::vector<ArrayView<const dolfin::la_index>> &entries) = 0¶ Insert non-zero entries using global indices
-
void
insert_local
(const std::vector<ArrayView<const dolfin::la_index>> &entries) = 0¶ Insert non-zero entries using local (process-wise) entries
-
std::size_t
rank
() const = 0¶ Return rank
-
std::size_t
primary_dim
() const¶ Return primary dimension (e.g., 0=row partition, 1=column partition)
-
std::pair<std::size_t, std::size_t>
local_range
(std::size_t dim) const = 0¶ Return local range for dimension dim
-
std::size_t
num_nonzeros
() const = 0¶ Return total number of nonzeros in local_range
-
void
num_nonzeros_diagonal
(std::vector<std::size_t> &num_nonzeros) const = 0¶ Fill vector with number of nonzeros for diagonal block in local_range for primary dimension
-
void
num_nonzeros_off_diagonal
(std::vector<std::size_t> &num_nonzeros) const = 0¶ Fill vector with number of nonzeros for off-diagonal block in local_range for primary dimension
-
void
num_local_nonzeros
(std::vector<std::size_t> &num_nonzeros) const = 0¶ Fill vector with number of nonzeros in local_range for primary dimension
-
std::vector<std::vector<std::size_t>>
diagonal_pattern
(Type type) const = 0¶ Return underlying sparsity pattern (diagonal). Options are ‘sorted’ and ‘unsorted’.
-
std::vector<std::vector<std::size_t>>
off_diagonal_pattern
(Type type) const = 0¶ Return underlying sparsity pattern (off-diagonal). Options are ‘sorted’ and ‘unsorted’.
-
void
apply
() = 0¶ Finalize sparsity pattern
-
MPI_Comm
mpi_comm
() const = 0¶ Return MPI communicator
-