16#ifndef dealii_petsc_block_sparse_matrix_h
17#define dealii_petsc_block_sparse_matrix_h
22#ifdef DEAL_II_WITH_PETSC
155 reinit(
const std::vector<IndexSet> & rows,
156 const std::vector<IndexSet> & cols,
165 reinit(
const std::vector<IndexSet> & sizes,
242 std::vector<IndexSet>
250 std::vector<IndexSet>
288 this->
block(r, c) = d;
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
void Tvmult_nonblock_nonblock(VectorType &dst, const VectorType &src) const
void vmult_nonblock_nonblock(VectorType &dst, const VectorType &src) const
void Tvmult_block_block(BlockVectorType &dst, const BlockVectorType &src) const
void Tvmult_nonblock_block(VectorType &dst, const BlockVectorType &src) const
void vmult_block_block(BlockVectorType &dst, const BlockVectorType &src) const
static ::ExceptionBase & ExcScalarAssignmentOnlyForZeroValue()
void vmult_nonblock_block(VectorType &dst, const BlockVectorType &src) const
#define Assert(cond, exc)
void vmult_block_nonblock(BlockVectorType &dst, const VectorType &src) const
void Tvmult_block_nonblock(BlockVectorType &dst, const VectorType &src) const
const value_type & const_reference
unsigned int n_block_rows() const
MatrixIterator< BlockMatrixIterators::Accessor< BlockMatrixBase, true > > const_iterator
types::global_dof_index size_type
typename BlockType::value_type value_type
unsigned int n_block_cols() const
const value_type * const_pointer
MatrixIterator< BlockMatrixIterators::Accessor< BlockMatrixBase, false > > iterator
BlockType & block(const unsigned int row, const unsigned int column)
void Tvmult(BlockVector &dst, const BlockVector &src) const
BaseClass::reference reference
void vmult(BlockVector &dst, const BlockVector &src) const
BaseClass::size_type size_type
void reinit(const size_type n_block_rows, const size_type n_block_columns)
BlockSparseMatrix & operator=(const BlockSparseMatrix &)
BaseClass::pointer pointer
BaseClass::const_pointer const_pointer
std::uint64_t n_nonzero_elements() const
std::vector< IndexSet > locally_owned_domain_indices() const
~BlockSparseMatrix() override=default
BaseClass::value_type value_type
const MPI_Comm & get_mpi_communicator() const
std::vector< IndexSet > locally_owned_range_indices() const
BaseClass::const_reference const_reference
BlockSparseMatrix()=default