/* ---------------------- SparseDirectMUMPS------------------------ */
- SparseDirectMUMPS::SparseDirectMUMPS (SolverControl &cn,
- const MPI_Comm &mpi_communicator,
+ SparseDirectMUMPS::SparseDirectMUMPS (SolverControl &cn,
+ const MPI_Comm &mpi_communicator,
const AdditionalData &data)
:
SolverBase (cn, mpi_communicator),
}
void
- SparseDirectMUMPS::solve (const MatrixBase &A,
- VectorBase &x,
- const VectorBase &b)
+ SparseDirectMUMPS::solve (const MatrixBase &A,
+ VectorBase &x,
+ const VectorBase &b)
{
#ifdef PETSC_HAVE_MUMPS
/**
*/
if (solver_data.get() == 0)
{
- solver_data.reset (new SolverDataMUMPS());
+ solver_data.reset (new SolverDataMUMPS ());
/**
* creates the default KSP
* only once anyway
*/
ierr = KSPSetOperators (solver_data->ksp, A, A,
- DIFFERENT_NONZERO_PATTERN);
+ DIFFERENT_NONZERO_PATTERN);
AssertThrow (ierr == 0, ExcPETScError(ierr));
/**
*/
#if DEAL_II_PETSC_VERSION_LT(3,0,0)
KSPSetConvergenceTest (solver_data->ksp, &convergence_test,
- reinterpret_cast<void *>(&solver_control));
+ reinterpret_cast<void *>(&solver_control));
#else
KSPSetConvergenceTest (solver_data->ksp, &convergence_test,
- reinterpret_cast<void *>(&solver_control),
- PETSC_NULL);
+ reinterpret_cast<void *>(&solver_control),
+ PETSC_NULL);
#endif
/**
else
{
PetscPrintf(PETSC_COMM_WORLD, "Success. MUMPS has solved.\n");
+
/**
* obtain convergence
* information. obtain
Assert (false,
ExcMessage ("Your PETSc installation does not include a copy of "
"MUMPS package necessary for this solver"));
+
+ // Cast to void to silence compiler
+ // warnings
+ (void) A; (void) x; (void) b;
#endif
}