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