From 4afb85efe639068e4520a1db685121be9868ad9c Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Fri, 4 Jul 2014 18:01:29 +0200
Subject: [PATCH] [Algorit] Use a reasonable initial iterate, not 0

This was only a temporary workaround for problems that no longer exist.
---
 src/timestepping/backward_euler.cc | 3 +--
 src/timestepping/newmark.cc        | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/timestepping/backward_euler.cc b/src/timestepping/backward_euler.cc
index 5a74cf8a..57f24bd3 100644
--- a/src/timestepping/backward_euler.cc
+++ b/src/timestepping/backward_euler.cc
@@ -70,8 +70,7 @@ void BackwardEuler<Vector, Matrix, Function, dim>::setup(
     Arithmetic::subtractProduct(rhs, A, u_o);
   }
 
-  // v_o makes a good initial iterate; we could use anything, though
-  iterate = 0.0;
+  iterate = v_o;
 
   for (size_t i = 0; i < dirichletNodes.size(); ++i)
     for (size_t j = 0; j < dim; ++j)
diff --git a/src/timestepping/newmark.cc b/src/timestepping/newmark.cc
index b40b3a51..518a69ce 100644
--- a/src/timestepping/newmark.cc
+++ b/src/timestepping/newmark.cc
@@ -80,8 +80,7 @@ void Newmark<Vector, Matrix, Function, dim>::setup(Vector const &ell,
     Arithmetic::subtractProduct(rhs, A, u_o);
   }
 
-  // v_o makes a good initial iterate; we could use anything, though
-  iterate = 0.0;
+  iterate = v_o;
 
   for (size_t i = 0; i < dirichletNodes.size(); ++i)
     for (size_t j = 0; j < dim; ++j)
-- 
GitLab