diff --git a/dune/tectonic/samplefunctional.hh b/dune/tectonic/samplefunctional.hh index 6ca943e90d19268dad6516ebc8aa731c9bb831ec..859c51755a7576b0fd9313d3bcdefe4f5c4e0356 100644 --- a/dune/tectonic/samplefunctional.hh +++ b/dune/tectonic/samplefunctional.hh @@ -142,7 +142,7 @@ void minimise(Functional const J, typename Functional::SmallVector &x, // become smaller than this number 1.0, // acceptFactor: ? 1e-12, // requiredResidual: ? - false, // fastQuadratic + true, // fastQuadratic 0)) // safety: acceptance factor for inexact // minimization { @@ -215,13 +215,16 @@ void minimise(Functional const J, typename Functional::SmallVector &x, x.axpy(stepsize, descDir); } else { + Bisection slowBisection(bisection); + slowBisection.setFastQuadratic(false); + typedef typename Functional::NonlinearityType LocalNonlinearityType; LocalNonlinearityType phi = J.phi; typedef Dune::CurvedFunction<LocalNonlinearityType> MyCurvedFunctionType; MyCurvedFunctionType JRest(J.A, J.b, phi, x, descDir); int count; - double const stepsize = bisection.minimize(JRest, 0.0, 1.0, count); + double const stepsize = slowBisection.minimize(JRest, 0.0, 1.0, count); dverb << "Number of iterations in the bisection method: " << count << std::endl; ;