13#ifndef dealii_psblas_matrix_h
14#define dealii_psblas_matrix_h
25#ifdef DEAL_II_WITH_PSBLAS
32#ifdef DEAL_II_WITH_PSBLAS
33namespace PSCToolkitWrappers
91 const MPI_Comm communicator = MPI_COMM_WORLD);
125 const MPI_Comm communicator = MPI_COMM_WORLD);
133 const MPI_Comm communicator = MPI_COMM_WORLD);
142 const MPI_Comm communicator = MPI_COMM_WORLD);
174 std::pair<size_type, size_type>
182 in_local_range(
const size_type index)
const;
188 n_nonzero_elements()
const;
194 el(
const size_type i,
const size_type j)
const;
200 diag_element(
const size_type i)
const;
207 operator()(
const size_type i,
const size_type j)
const;
214 set(
const size_type i,
const size_type j,
const value_type value);
226 set(
const std::vector<size_type> &indices,
234 add(
const size_type i,
const size_type j,
const value_type value);
241 add(
const size_type row,
242 const std::vector<size_type> &col_indices,
243 const std::vector<value_type> &values,
251 add(
const size_type row,
252 const size_type ncols,
253 const std::vector<size_type> &col_indices,
264 add(
const size_type row,
265 const size_type ncols,
266 const std::vector<size_type> &col_indices,
267 const std::vector<value_type> &values,
277 add(
const size_type row,
278 const size_type n_cols,
279 const size_type *col_indices,
281 const bool elide_zero_values =
true,
282 const bool col_indices_are_sorted =
false);
350 frobenius_norm()
const;
363 get_psblas_matrix()
const;
370 get_psblas_descriptor()
const;
377 get_mpi_communicator()
const;
389 psb_c_dspmat *psblas_sparse_matrix;
394 std::shared_ptr<psb_c_descriptor> psblas_descriptor;
399 psb_c_ctxt *psblas_context;
405 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)