From 773884ad550d15976e244f4ffb89577704e92a0a Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Tue, 27 May 2014 15:03:16 +0000 Subject: [PATCH] [bugfix] h1SemiNorm matrix needs to be transfered to the master process, too. [[Imported from SVN: r9771]] --- dune/gfe/riemanniantrsolver.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc index e6223d01..0d65e6d5 100644 --- a/dune/gfe/riemanniantrsolver.cc +++ b/dune/gfe/riemanniantrsolver.cc @@ -118,13 +118,17 @@ setup(const GridType& grid, LaplaceAssembler<GridType, typename BasisType::LocalFiniteElement, typename BasisType::LocalFiniteElement> laplaceStiffness; typedef Dune::BCRSMatrix<Dune::FieldMatrix<double,1,1> > ScalarMatrixType; - ScalarMatrixType* A = new ScalarMatrixType; + ScalarMatrixType localA; - operatorAssembler.assemble(laplaceStiffness, *A); + operatorAssembler.assemble(laplaceStiffness, localA); if (h1SemiNorm_) delete h1SemiNorm_; + + MatrixCommunicator<GUIndex, ScalarMatrixType> matrixComm(*guIndex_, 0); + ScalarMatrixType* A = new ScalarMatrixType(matrixComm.reduceAdd(localA)); + h1SemiNorm_ = new H1SemiNorm<CorrectionType>(*A); innerSolver_ = std::shared_ptr<LoopSolver<CorrectionType> >(new ::LoopSolver<CorrectionType>(mmgStep, -- GitLab