From 8d5148da2d6c96375b3f7af853fbf4daf571ea5b Mon Sep 17 00:00:00 2001
From: Jonathan Youett <youett@math.fu-berlin.de>
Date: Mon, 16 Jun 2014 18:47:56 +0200
Subject: [PATCH] Improve Debug output, by avoiding numerical dirt

---
 dune/solvers/iterationsteps/mmgstep.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dune/solvers/iterationsteps/mmgstep.cc b/dune/solvers/iterationsteps/mmgstep.cc
index 1e62630e..4d543d87 100644
--- a/dune/solvers/iterationsteps/mmgstep.cc
+++ b/dune/solvers/iterationsteps/mmgstep.cc
@@ -214,8 +214,9 @@ void MonotoneMGStep<MatrixType, VectorType>::iterate()
         // Debug: is the current iterate really admissible?
         for (size_t i=0; i<obstacles[level].size(); i++)
             for (int j=0; j<VectorType::block_type::dimension; j++)
-                if ((*x[level])[i][j] < obstacles[level][i].lower(j)
-                    || (*x[level])[i][j] > obstacles[level][i].upper(j)) {
+                if (((*x[level])[i][j] - obstacles[level][i].lower(j)<-1e-14
+                    || (*x[level])[i][j] - obstacles[level][i].upper(j) >1e-14 )
+                    && (!(*this->ignoreNodesHierarchy_[level])[i][j])) {
                     
                     std::cout << "Obstacle disregarded!\n";
                     std::cout << (*x[level])[i] << std::endl << obstacles[level][i] << std::endl;
-- 
GitLab