16 #ifndef dealii_petsc_sparse_matrix_h
17 # define dealii_petsc_sparse_matrix_h
22 # ifdef DEAL_II_WITH_PETSC
33 template <
typename MatrixType>
113 const std::vector<size_type> &row_lengths,
133 template <
typename SparsityPatternType>
134 explicit SparseMatrix(
const SparsityPatternType &sparsity_pattern,
135 const bool preset_nonzero_locations =
true);
179 const std::vector<size_type> &row_lengths,
207 template <
typename SparsityPatternType>
209 reinit(
const SparsityPatternType &sparsity_pattern,
210 const bool preset_nonzero_locations =
true);
273 const std::vector<size_type> &row_lengths,
279 template <
typename SparsityPatternType>
281 do_reinit(
const SparsityPatternType &sparsity_pattern,
282 const bool preset_nonzero_locations);
434 const size_type n_offdiag_nonzero_per_row = 0);
465 const std::vector<size_type> &row_lengths,
467 const std::vector<size_type> &offdiag_row_lengths =
468 std::vector<size_type>());
492 template <
typename SparsityPatternType>
494 const SparsityPatternType & sparsity_pattern,
495 const std::vector<size_type> &local_rows_per_process,
496 const std::vector<size_type> &local_columns_per_process,
497 const unsigned int this_process,
498 const bool preset_nonzero_locations =
true);
537 const size_type n_offdiag_nonzero_per_row = 0);
554 const std::vector<size_type> &row_lengths,
556 const std::vector<size_type> &offdiag_row_lengths =
557 std::vector<size_type>());
578 template <
typename SparsityPatternType>
581 const SparsityPatternType & sparsity_pattern,
582 const std::vector<size_type> &local_rows_per_process,
583 const std::vector<size_type> &local_columns_per_process,
584 const unsigned int this_process,
585 const bool preset_nonzero_locations =
true);
593 template <
typename SparsityPatternType>
597 const SparsityPatternType &sparsity_pattern,
625 <<
"The number of local rows " << arg1
626 <<
" must be larger than the total number of rows "
719 const size_type n_offdiag_nonzero_per_row = 0);
733 const std::vector<size_type> &row_lengths,
735 const std::vector<size_type> &offdiag_row_lengths =
736 std::vector<size_type>());
741 template <
typename SparsityPatternType>
743 do_reinit(
const SparsityPatternType & sparsity_pattern,
744 const std::vector<size_type> &local_rows_per_process,
745 const std::vector<size_type> &local_columns_per_process,
746 const unsigned int this_process,
747 const bool preset_nonzero_locations);
752 template <
typename SparsityPatternType>
756 const SparsityPatternType &sparsity_pattern);
776 # endif // DEAL_II_WITH_PETSC