From 33c56c6d5cfe8ffa5641fffaa01fc90c6baefc0a Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Wed, 2 Feb 2011 19:02:31 +0000
Subject: [PATCH] bugfix: the Dirichlet values in the continuum correction
 problem are all zero

[[Imported from SVN: r6928]]
---
 dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
index df60cdc5..0d80155e 100644
--- a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
+++ b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
@@ -816,8 +816,10 @@ linearizedContinuumNeumannToDirichletMap(const std::string& continuumName,
     dynamic_cast<IterationStep<VectorType>* >(continuum(continuumName).solver_->iterationStep_)->ignoreNodes_ 
            = &dirichletNodes;
 
-    //   Solve the Neumann problem for the continuum
-    VectorType x = complex_.continuum(continuumName).dirichletValues_;
+    //  Initial iterate is 0,  all Dirichlet values are 0 (because we solve a correction problem
+    VectorType x(dirichletNodes.size());
+    x = 0;
+    
     assert( (dynamic_cast<LinearIterationStep<MatrixType,VectorType>* >(continuum(continuumName).solver_->iterationStep_)) );
     dynamic_cast<LinearIterationStep<MatrixType,VectorType>* >(continuum(continuumName).solver_->iterationStep_)->setProblem(stiffnessMatrix, x, rhs);
 
-- 
GitLab