/**
* Local to global index mapping for the right-hand side vector.
*/
- mutable std::vector<int> irhs_loc;
+ mutable std::vector<types::mumps_index> irhs_loc;
/**
* irn contains the row indices of the non-zero entries of the matrix.
id.jcn_loc = jcn.get();
id.a_loc = a.get();
id.irhs_loc = irhs_loc.data();
+
+ // rhs parameters
+ id.icntl[19] = 10; // distributed rhs
+ id.icntl[20] = 0; // centralized solution, stored on rank 0 by MUMPS
+ id.nrhs = 1;
+ id.lrhs_loc = n;
+ id.nloc_rhs = row_range.n_elements();
}
else
{
TrilinosWrappers::MPI::Vector> ||
std::is_same_v<VectorType, PETScWrappers::MPI::Vector>)
{
- id.icntl[19] = 10; // distributed rhs
- id.icntl[20] = 0; // centralized solution, stored on rank 0 by MUMPS
- id.nrhs = 1;
- id.lrhs_loc = n;
- id.nloc_rhs = row_range.n_elements();
-
-
if constexpr (std::is_same_v<VectorType, TrilinosWrappers::MPI::Vector>)
id.rhs_loc = const_cast<double *>(src.begin());
else if constexpr (std::is_same_v<VectorType, PETScWrappers::MPI::Vector>)