From 1c2048c8ecfd45cb5bfdbd6a6685943259b7dca7 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Tue, 31 Jul 2012 15:09:12 +0200
Subject: [PATCH] Fix domain of CircularConvexFunction

For a single-step bisection we need [-2pi,+2pi]
---
 dune/tectonic/circularconvexfunction.hh |  4 ++--
 src/test-circle.cc                      | 11 ++++-------
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/dune/tectonic/circularconvexfunction.hh b/dune/tectonic/circularconvexfunction.hh
index c7fdc547..ba4f4071 100644
--- a/dune/tectonic/circularconvexfunction.hh
+++ b/dune/tectonic/circularconvexfunction.hh
@@ -42,8 +42,8 @@ template <class NonlinearityType> class CircularConvexFunction {
   }
 
   void domain(Interval<double> &domain) const {
-    domain[0] = -M_PI;
-    domain[1] = M_PI;
+    domain[0] = -2 * M_PI;
+    domain[1] = 2 * M_PI;
   }
 
   void cartesian(double m, VectorType &y) const {
diff --git a/src/test-circle.cc b/src/test-circle.cc
index 341b702a..19bbb3f6 100644
--- a/src/test-circle.cc
+++ b/src/test-circle.cc
@@ -57,19 +57,16 @@ int main() {
   }
 
   double const intervals = 10000;
-  double const iterations = 2;
   for (size_t i = 0; i < intervals; ++i) {
     double alpha = i / (double)intervals * 2 * M_PI;
     SmallVector x;
     x[0] = scale * std::sin(alpha);
     x[1] = scale * std::cos(alpha);
-    SmallVector descDir;
 
-    for (int i = 0; i < iterations; ++i) {
-      descDir[0] = x[1];
-      descDir[1] = -x[0];
-      tangentialMinimisation(J, x, descDir, bisection);
-    }
+    SmallVector descDir;
+    descDir[0] = x[1];
+    descDir[1] = -x[0];
+    tangentialMinimisation(J, x, descDir, bisection);
 
     bool minimum_hit(false);
     for (auto const &minimum : minima) {
-- 
GitLab