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