38#ifdef DEAL_II_WITH_PETSC
44#ifdef DEAL_II_WITH_TRILINOS
63 template <
typename Iterator>
66 const unsigned int column)
68 return (p.column() < column);
74 template <
typename number>
87 Assert(matrix.n() == matrix.m(),
105 for (
unsigned int i = 0; i < n_dofs; ++i)
106 if (matrix.diag_element(i) != number())
113 typename std::map<types::global_dof_index, number>::const_iterator
116 for (; dof !=
endd; ++dof)
146 if (matrix.diag_element(
dof_number) != number())
193 const unsigned int column) =
213 "This function is trying to access an element of the "
214 "matrix that doesn't seem to exist. Are you using a "
215 "nonsymmetric sparsity pattern? If so, you are not "
216 "allowed to set the eliminate_column argument of this "
217 "function, see the documentation."));
235 template <
typename number>
244 const unsigned int blocks = matrix.n_block_rows();
251 Assert(matrix.get_sparsity_pattern().get_row_indices() ==
252 matrix.get_sparsity_pattern().get_column_indices(),
254 Assert(matrix.get_sparsity_pattern().get_column_indices() ==
255 solution.get_block_indices(),
257 Assert(matrix.get_sparsity_pattern().get_row_indices() ==
298 typename std::map<types::global_dof_index, number>::const_iterator
302 matrix.get_sparsity_pattern();
312 for (; dof !=
endd; ++dof)
321 const std::pair<unsigned int, types::global_dof_index>
block_index =
411 for (
unsigned int block_row = 0; block_row < blocks; ++block_row)
443 const unsigned int column) =
498 template <
typename number>
502 const std::vector<types::global_dof_index> & local_dof_indices,
546 const typename std::map<types::global_dof_index, number>::const_iterator
615#include "matrix_tools.inst"
SparsityPatternType & block(const size_type row, const size_type column)
const BlockIndices & get_column_indices() const
const Accessor< number, Constness > & value_type
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcBlocksDontMatch()
#define Assert(cond, exc)
static ::ExceptionBase & ExcInternalError()
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
static ::ExceptionBase & ExcNotQuadratic()
static ::ExceptionBase & ExcMessage(std::string arg1)
Iterator lower_bound(Iterator first, Iterator last, const T &val)
::VectorizedArray< Number, width > abs(const ::VectorizedArray< Number, width > &)