 |
Reference documentation for deal.II version 9.2.0
|
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\)
\(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\)
\(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\)
\(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Go to the documentation of this file.
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>
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
static const bool zero_addition_can_be_elided
virtual const MPI_Comm & get_mpi_communicator() const override
void do_reinit(const size_type m, const size_type n, const size_type n_nonzero_per_row, const bool is_symmetric=false)
virtual const MPI_Comm & get_mpi_communicator() const override
SparseMatrix & operator=(const value_type d)
SparseMatrix & operator=(const double d)
void do_reinit(const size_type m, const size_type n, const size_type local_rows, const size_type local_columns, const size_type n_nonzero_per_row, const bool is_symmetric=false, const size_type n_offdiag_nonzero_per_row=0)
static ::ExceptionBase & ExcLocalRowsTooLarge(int arg1, int arg2)
SymmetricTensor< 2, dim, Number > C(const Tensor< 2, dim, Number > &F)
PetscBool is_symmetric(const double tolerance=1.e-12)
SymmetricTensor< 2, dim, Number > d(const Tensor< 2, dim, Number > &F, const Tensor< 2, dim, Number > &dF_dt)
void mmult(SparseMatrix &C, const SparseMatrix &B, const MPI::Vector &V=MPI::Vector()) const
SparseMatrix & operator=(const SparseMatrix &)=delete
void Tmmult(SparseMatrix &C, const SparseMatrix &B, const MPI::Vector &V=MPI::Vector()) const
PetscScalar matrix_scalar_product(const Vector &u, const Vector &v) const
unsigned int global_dof_index
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_DEPRECATED
void reinit(const size_type m, const size_type n, const size_type n_nonzero_per_row, const bool is_symmetric=false)
void mmult(SparseMatrix &C, const SparseMatrix &B, const MPI::Vector &V=MPI::Vector()) const
void copy_from(const SparseMatrix &other)
static const bool zero_addition_can_be_elided
IndexSet locally_owned_range_indices() const
types::global_dof_index size_type
IndexSet locally_owned_domain_indices() const
void Tmmult(SparseMatrix &C, const SparseMatrix &B, const MPI::Vector &V=MPI::Vector()) const
#define DEAL_II_NAMESPACE_CLOSE
PetscScalar matrix_norm_square(const Vector &v) const
#define DeclException2(Exception2, type1, type2, outsequence)
void reinit(const MPI_Comm &communicator, const size_type m, const size_type n, const size_type local_rows, const size_type local_columns, const size_type n_nonzero_per_row, const bool is_symmetric=false, const size_type n_offdiag_nonzero_per_row=0)
SparseMatrix(const SparseMatrix &)=delete