diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc index 130704e6e65e80ec93aea7a5778970cd1f02a07e..532b0361b46e87267ec6f36490f9293f18285f69 100644 --- a/dune/gfe/riemanniantrsolver.cc +++ b/dune/gfe/riemanniantrsolver.cc @@ -250,9 +250,7 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve() MaxNormTrustRegion<blocksize> trustRegion(guIndex_->nGlobalEntity(), initialTrustRegionRadius_); - std::vector<std::vector<BoxConstraint<field_type,blocksize> > > trustRegionObstacles((mgStep) - ? mgStep->numLevels() - : 0); + std::vector<BoxConstraint<field_type,blocksize> > trustRegionObstacles; // ///////////////////////////////////////////////////// // Set up the log file, if requested @@ -331,8 +329,8 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve() { mgStep->setProblem(stiffnessMatrix, corr_global, rhs_global); - trustRegionObstacles.back() = trustRegion.obstacles(); - mgStep->obstacles_ = &trustRegionObstacles.back(); + trustRegionObstacles = trustRegion.obstacles(); + mgStep->obstacles_ = &trustRegionObstacles; innerSolver_->preprocess();