15#ifndef dealii_psblas_matrix_h
16#define dealii_psblas_matrix_h
27#ifdef DEAL_II_WITH_PSBLAS
34#ifdef DEAL_II_WITH_PSBLAS
35namespace PSCToolkitWrappers
93 const MPI_Comm communicator = MPI_COMM_WORLD);
127 const MPI_Comm communicator = MPI_COMM_WORLD);
135 const MPI_Comm communicator = MPI_COMM_WORLD);
144 const MPI_Comm communicator = MPI_COMM_WORLD);
176 std::pair<size_type, size_type>
184 in_local_range(
const size_type index)
const;
190 n_nonzero_elements()
const;
196 el(
const size_type i,
const size_type j)
const;
202 diag_element(
const size_type i)
const;
209 operator()(
const size_type i,
const size_type j)
const;
216 set(
const size_type i,
const size_type j,
const value_type value);
228 set(
const std::vector<size_type> &indices,
236 add(
const size_type i,
const size_type j,
const value_type value);
243 add(
const size_type row,
244 const std::vector<size_type> &col_indices,
245 const std::vector<value_type> &values,
253 add(
const size_type row,
254 const size_type ncols,
255 const std::vector<size_type> &col_indices,
266 add(
const size_type row,
267 const size_type ncols,
268 const std::vector<size_type> &col_indices,
269 const std::vector<value_type> &values,
279 add(
const size_type row,
280 const size_type n_cols,
281 const size_type *col_indices,
283 const bool elide_zero_values =
true,
284 const bool col_indices_are_sorted =
false);
352 frobenius_norm()
const;
365 get_psblas_matrix()
const;
372 get_psblas_descriptor()
const;
379 get_mpi_communicator()
const;
391 psb_c_dspmat *psblas_sparse_matrix;
396 std::shared_ptr<psb_c_descriptor> psblas_descriptor;
401 psb_c_ctxt *psblas_context;
407 internal::State state;
* x_component_mask set(0, true)
* * Point< dim > operator()(const Point< dim > &p) const *
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
std::pair< types::global_dof_index, types::global_dof_index > local_range
types::global_dof_index size_type
PETScWrappers::PreconditionBoomerAMG PreconditionAMG
std::string compress(const std::string &input)
void reinit(MatrixBlock< MatrixType > &v, const BlockSparsityPattern &p)
unsigned int global_dof_index
constexpr Number trace(const SymmetricTensor< 2, dim2, Number > &)
Number linfty_norm(const Tensor< 2, dim, Number > &t)
Number l1_norm(const Tensor< 2, dim, Number > &t)