From dd4dc672e95807be0a942cb68b9eefb2fe1b7130 Mon Sep 17 00:00:00 2001 From: Oliver Sander <oliver.sander@tu-dresden.de> Date: Sun, 29 Nov 2015 17:28:15 +0100 Subject: [PATCH] Use IPOpt as base solver, if available --- dune/gfe/mixedriemanniantrsolver.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dune/gfe/mixedriemanniantrsolver.cc b/dune/gfe/mixedriemanniantrsolver.cc index fd7ed282..166a0630 100644 --- a/dune/gfe/mixedriemanniantrsolver.cc +++ b/dune/gfe/mixedriemanniantrsolver.cc @@ -76,7 +76,15 @@ setup(const GridType& grid, // //////////////////////////////// // Create a multigrid solver // //////////////////////////////// - +#ifdef HAVE_IPOPT + // First create an IPOpt base solver + auto baseSolver0 = new QuadraticIPOptSolver<MatrixType00,CorrectionType0>; + baseSolver0->verbosity_ = NumProc::QUIET; + baseSolver0->tolerance_ = baseTolerance; + auto baseSolver1 = new QuadraticIPOptSolver<MatrixType11,CorrectionType1>; + baseSolver1->verbosity_ = NumProc::QUIET; + baseSolver1->tolerance_ = baseTolerance; +#else // First create a Gauss-seidel base solver TrustRegionGSStep<MatrixType00, CorrectionType0>* baseSolverStep0 = new TrustRegionGSStep<MatrixType00, CorrectionType0>; TrustRegionGSStep<MatrixType11, CorrectionType1>* baseSolverStep1 = new TrustRegionGSStep<MatrixType11, CorrectionType1>; @@ -96,6 +104,7 @@ setup(const GridType& grid, baseTolerance, baseNorm1, Solver::QUIET); +#endif // Transfer all Dirichlet data to the master processor #if 0 -- GitLab