From 982462524b235cbc244547214bc20dc136738f7b Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 19 Oct 2011 14:23:45 +0000 Subject: [PATCH] Use IPOpt as the base solver if it is available [[Imported from SVN: r7960]] --- dune/gfe/riemanniantrsolver.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc index e3f02bf4..85f32f7b 100644 --- a/dune/gfe/riemanniantrsolver.cc +++ b/dune/gfe/riemanniantrsolver.cc @@ -62,6 +62,13 @@ setup(const GridType& grid, // Create a multigrid solver // //////////////////////////////// +#ifdef HAVE_IPOPT + // First create an IPOpt base solver + QuadraticIPOptSolver<MatrixType, CorrectionType>* baseSolver = new QuadraticIPOptSolver<MatrixType,CorrectionType>; + baseSolver->verbosity_ = NumProc::QUIET; + baseSolver->tolerance_ = baseTolerance; +#else +#warning IPOpt not installed -- falling back onto a Gauss-Seidel base solver // First create a Gauss-seidel base solver TrustRegionGSStep<MatrixType, CorrectionType>* baseSolverStep = new TrustRegionGSStep<MatrixType, CorrectionType>; @@ -72,7 +79,8 @@ setup(const GridType& grid, baseTolerance, baseEnergyNorm, Solver::QUIET); - +#endif + // Make pre and postsmoothers TrustRegionGSStep<MatrixType, CorrectionType>* presmoother = new TrustRegionGSStep<MatrixType, CorrectionType>; TrustRegionGSStep<MatrixType, CorrectionType>* postsmoother = new TrustRegionGSStep<MatrixType, CorrectionType>; -- GitLab