16 #include <deal.II/lac/petsc_block_sparse_matrix.h> 18 #ifdef DEAL_II_WITH_PETSC 20 DEAL_II_NAMESPACE_OPEN
37 const size_type n_block_columns)
48 this->column_block_indices.
reinit(n_block_columns, 0);
61 const std::vector<IndexSet> & cols,
72 std::vector<types::global_dof_index> row_sizes;
77 std::vector<types::global_dof_index> col_sizes;
80 this->column_block_indices.
reinit(col_sizes);
91 p->reinit(rows[r], cols[c], bdsp.
block(r, c), com);
101 const MPI_Comm & com)
103 reinit(sizes, sizes, bdsp, com);
114 std::vector<IndexSet>
117 std::vector<IndexSet> index_sets;
120 index_sets.push_back(this->block(0, i).locally_owned_domain_indices());
125 std::vector<IndexSet>
128 std::vector<IndexSet> index_sets;
131 index_sets.push_back(this->block(i, 0).locally_owned_range_indices());
139 return block(0, 0).get_mpi_communicator();
147 DEAL_II_NAMESPACE_CLOSE
std::vector< IndexSet > locally_owned_domain_indices() const
Subscriptor & operator=(const Subscriptor &)
size_type n_block_cols() const
size_type n_block_rows() const
SparsityPatternType & block(const size_type row, const size_type column)
Table< 2, SmartPointer< BlockType, BlockMatrixBase< SparseMatrix > > > sub_objects
unsigned int n_block_cols() const
static ::ExceptionBase & ExcMessage(std::string arg1)
std::vector< IndexSet > locally_owned_range_indices() const
void reinit(const TableIndices< N > &new_size, const bool omit_default_initialization=false)
#define Assert(cond, exc)
void reinit(const unsigned int n_blocks, const size_type n_elements_per_block)
BlockSparseMatrix & operator=(const BlockSparseMatrix &)
void reinit(const size_type n_block_rows, const size_type n_block_columns)
BlockType & block(const unsigned int row, const unsigned int column)
BlockIndices row_block_indices
unsigned int n_block_rows() const
BaseClass::BlockType BlockType
const MPI_Comm & get_mpi_communicator() const