 |
Reference documentation for deal.II version 9.1.1
|
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
16 #ifndef dealii_petsc_block_sparse_matrix_h
17 #define dealii_petsc_block_sparse_matrix_h
20 #include <deal.II/base/config.h>
22 #ifdef DEAL_II_WITH_PETSC
24 # include <deal.II/lac/block_matrix_base.h>
25 # include <deal.II/lac/block_sparsity_pattern.h>
26 # include <deal.II/lac/exceptions.h>
27 # include <deal.II/lac/petsc_block_vector.h>
28 # include <deal.II/lac/petsc_sparse_matrix.h>
32 DEAL_II_NAMESPACE_OPEN
84 using pointer = BaseClass::pointer;
85 using const_pointer = BaseClass::const_pointer;
86 using reference = BaseClass::reference;
87 using const_reference = BaseClass::const_reference;
88 using size_type = BaseClass::size_type;
156 reinit(
const std::vector<IndexSet> & rows,
157 const std::vector<IndexSet> & cols,
159 const MPI_Comm & com);
166 reinit(
const std::vector<IndexSet> & sizes,
168 const MPI_Comm & com);
243 std::vector<IndexSet>
251 std::vector<IndexSet>
281 this->
block(r, c) = d;
354 DEAL_II_NAMESPACE_CLOSE
357 #endif // DEAL_II_WITH_PETSC
359 #endif // dealii_petsc_block_sparse_matrix_h
void vmult(BlockVector &dst, const BlockVector &src) const
void Tvmult(BlockVector &dst, const BlockVector &src) const
void vmult_block_nonblock(BlockVectorType &dst, const VectorType &src) const
void reinit(const size_type n_block_rows, const size_type n_block_columns)
unsigned int n_block_cols() const
void Tvmult_nonblock_nonblock(VectorType &dst, const VectorType &src) const
void vmult_nonblock_nonblock(VectorType &dst, const VectorType &src) const
unsigned int n_block_rows() const
void Tvmult_nonblock_block(VectorType &dst, const BlockVectorType &src) const
typename BlockType::value_type value_type
BlockType & block(const unsigned int row, const unsigned int column)
void vmult_nonblock_block(VectorType &dst, const BlockVectorType &src) const
BaseClass::value_type value_type
BlockSparseMatrix()=default
void vmult_block_block(BlockVectorType &dst, const BlockVectorType &src) const
~BlockSparseMatrix() override=default
#define Assert(cond, exc)
std::vector< IndexSet > locally_owned_domain_indices() const
void Tvmult_block_nonblock(BlockVectorType &dst, const VectorType &src) const
static ::ExceptionBase & ExcScalarAssignmentOnlyForZeroValue()
BlockSparseMatrix & operator=(const BlockSparseMatrix &)
void Tvmult_block_block(BlockVectorType &dst, const BlockVectorType &src) const
const MPI_Comm & get_mpi_communicator() const
std::vector< IndexSet > locally_owned_range_indices() const