diff --git a/dune/gfe/mixedriemanniantrsolver.cc b/dune/gfe/mixedriemanniantrsolver.cc index 6a88c89460cd54351c55772c4505faa7b7dcfd65..3a0931c37194a474f1f137a202973a641a99fa79 100644 --- a/dune/gfe/mixedriemanniantrsolver.cc +++ b/dune/gfe/mixedriemanniantrsolver.cc @@ -100,7 +100,7 @@ setup(const GridType& grid, baseNorm0, Solver::QUIET); - ::LoopSolver<CorrectionType0>* baseSolver1 = new ::LoopSolver<CorrectionType1>(baseSolverStep1, + ::LoopSolver<CorrectionType1>* baseSolver1 = new ::LoopSolver<CorrectionType1>(baseSolverStep1, baseIterations, baseTolerance, baseNorm1, diff --git a/dune/gfe/mixedriemanniantrsolver.hh b/dune/gfe/mixedriemanniantrsolver.hh index 197388783636b2427c11172d5cfb546e5f36d8c3..aafe7b3fc79bbd70d5929ee5127ed6c589db8075 100644 --- a/dune/gfe/mixedriemanniantrsolver.hh +++ b/dune/gfe/mixedriemanniantrsolver.hh @@ -82,11 +82,11 @@ public: void setScaling(const Dune::FieldVector<double,blocksize0+blocksize1>& scaling) { - for (int i=0; i<3; i++) - { + for (int i=0; i<blocksize0; i++) std::get<0>(scaling_)[i] = scaling[i]; - std::get<1>(scaling_)[i] = scaling[i+3]; - } + + for (int i=0; i<blocksize1; i++) + std::get<1>(scaling_)[i] = scaling[i+blocksize0]; } #if 0 @@ -124,7 +124,7 @@ protected: double initialTrustRegionRadius_; /** \brief Trust-region norm scaling */ - std::tuple<Dune::FieldVector<double,3>, Dune::FieldVector<double,3> > scaling_; + std::tuple<Dune::FieldVector<double,blocksize0>, Dune::FieldVector<double,blocksize1> > scaling_; /** \brief Maximum number of trust-region steps */ int maxTrustRegionSteps_;