diff --git a/Solver/linearSystemGMM.h b/Solver/linearSystemGMM.h index 5f47c596a832787bd6a3e0c19c0122642d531bc2..99927fd0cb37a66d2ced988187090a21388cf6f5 100644 --- a/Solver/linearSystemGMM.h +++ b/Solver/linearSystemGMM.h @@ -106,12 +106,16 @@ class linearSystemGmm : public linearSystem<scalar> { void setGmres(int n){ _gmres = n; } virtual int systemSolve() { +#if defined(HAVE_MUMPS) + gmm::MUMPS_solve(*_a, *_x, *_b); +#else //gmm::ilutp_precond<gmm::row_matrix<gmm::wsvector<scalar> > > P(*_a, 25, 0.); gmm::ildltt_precond<gmm::row_matrix<gmm::wsvector<scalar> > > P(*_a, 30, 1.e-10); gmm::iteration iter(_prec); iter.set_noisy(_noisy); if(_gmres) gmm::gmres(*_a, *_x, *_b, P, 100, iter); else gmm::cg(*_a, *_x, *_b, P, iter); +#endif return 1; } };