From 04af0359de9039199e7c52d395bd5085fb591365 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Thu, 22 Dec 2011 18:26:03 +0100
Subject: [PATCH] Do not start at zero

---
 src/one-body-sample.cc | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 07847e05..32b7bfc4 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -351,6 +351,16 @@ int main(int argc, char *argv[]) {
       if (parset.get<bool>("useTNNMG")) {
         MyConvexProblemType myConvexProblem(stiffnessMatrix,
                                             *myGlobalNonlinearity, b4, u4_diff);
+
+        // FIXME: This is sort of nasty
+        // Choose an initial iterate that is admissable
+        // and non-zero in as many places as possible
+        if (run == 1)
+          for (size_t i = 0; i < ignoreNodes.size(); ++i)
+            if (!ignoreNodes[i][1]) // Leave out partial DOF-restrictions as
+                                    // well
+              u4_diff[i] = 1;
+
         MyBlockProblemType myBlockProblem(parset, myConvexProblem);
         multigridStep->setProblem(u4_diff, myBlockProblem);
 
-- 
GitLab