From 51303739e521203d7e66744cc27f98a34be141b8 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 14 May 2014 15:27:31 +0000 Subject: [PATCH] Use the new methods VectorCommunicator::reduceAdd and ...::reduceCopy [[Imported from SVN: r9731]] --- dune/gfe/riemanniantrsolver.cc | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc index 46eb6c58..322d6053 100644 --- a/dune/gfe/riemanniantrsolver.cc +++ b/dune/gfe/riemanniantrsolver.cc @@ -95,10 +95,8 @@ setup(const GridType& grid, // Transfer all Dirichlet data to the master processor VectorCommunicator<GUIndex, Dune::BitSetVector<blocksize> > vectorComm(*guIndex_, 0); - vectorComm.transferVector(dirichletNodes); Dune::BitSetVector<blocksize>* globalDirichletNodes = NULL; - if (rank==0) - globalDirichletNodes = new Dune::BitSetVector<blocksize>(vectorComm.copyIntoGlobalVector()); + globalDirichletNodes = new Dune::BitSetVector<blocksize>(vectorComm.reduceCopy(dirichletNodes)); // Make pre and postsmoothers TrustRegionGSStep<MatrixType, CorrectionType>* presmoother = new TrustRegionGSStep<MatrixType, CorrectionType>; @@ -346,14 +344,11 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve() matrixComm.transferMatrix(*hessianMatrix_); // Transfer vector data - vectorComm.transferVector(rhs); + rhs_global = vectorComm.reduceAdd(rhs); if (rank ==0) { // Create global stiffnessMatrix stiffnessMatrix = matrixComm.createGlobalMatrix(); - - // Create global right hand side - rhs_global = vectorComm.createGlobalVector(); } recomputeGradientHessian = false; -- GitLab