diff --git a/dune/tectonic/ellipticenergy.hh b/dune/tectonic/ellipticenergy.hh index 6ac8fef6cfb6147e5f0d8a0a981bc4c8e1bf8676..36d5ec3cc05459b9f4edc4466f8ccd310b4a9ecc 100644 --- a/dune/tectonic/ellipticenergy.hh +++ b/dune/tectonic/ellipticenergy.hh @@ -32,21 +32,8 @@ template <int dim> class EllipticEnergy { void descentAtZero(SmallVector &ret) const { SmallVector const zero(0); // If there is a direction of descent, this is it - SmallVector d; - smoothGradient(zero, d); - d *= -1; - - Interval<double> D; - phi->directionalSubDiff(zero, d, D); - double const nonlinearDecline = D[1]; - double const smoothDecline = -(d * d); - double const combinedDecline = smoothDecline + nonlinearDecline; - - if (combinedDecline < 0) { - ret = d; - } else { - ret = 0; - } + smoothGradient(zero, ret); + ret *= -1; } bool descentDirection(SmallVector const &x, SmallVector &ret) const {