diff --git a/dune/tectonic/samplefunctional.hh b/dune/tectonic/samplefunctional.hh index 359c4e2342fd378211f3e9c3d82ac2d00a0aacd7..f5de28a3311d9d2b60932987df095cce11f15f48 100644 --- a/dune/tectonic/samplefunctional.hh +++ b/dune/tectonic/samplefunctional.hh @@ -155,6 +155,8 @@ void minimise(Functional const J, typename Functional::SmallVector &x, if (descDir == SmallVector(0.0)) return; + typedef typename Functional::NonlinearityType LocalNonlinearityType; + LocalNonlinearityType phi = J.phi; if (linesearchp) { // {{{ Construct a restriction of J to the line x + t * descDir @@ -174,8 +176,6 @@ void minimise(Functional const J, typename Functional::SmallVector &x, J.A.mmv(x, tmp); // b-Au double const JRestb = tmp * descDir; // <b-Au,v> - typedef typename Functional::NonlinearityType LocalNonlinearityType; - LocalNonlinearityType phi = J.phi; typedef DirectionalConvexFunction<LocalNonlinearityType> MyDirectionalConvexFunctionType; // FIXME: We cannot pass J.phi directly because the constructor @@ -218,8 +218,6 @@ void minimise(Functional const J, typename Functional::SmallVector &x, 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);