From caaaf7d599bec7d6c34ffee94739b1677596ee1c Mon Sep 17 00:00:00 2001 From: Jonathan Youett <youett@math.fu-berlin.de> Date: Fri, 1 Sep 2017 11:59:40 +0200 Subject: [PATCH] Don't use deprecated LoopSolver constructor taking raw pointers --- dune/solvers/iterationsteps/obstacletnnmgstep.hh | 4 ++-- dune/solvers/test/cgsteptest.cc | 16 ++++++++-------- dune/solvers/test/gssteptest.cc | 2 +- dune/solvers/test/mmgtest.cc | 10 +++++----- dune/solvers/test/multigridtest.cc | 4 ++-- dune/solvers/test/obstacletnnmgtest.cc | 2 +- dune/solvers/test/projectedgradienttest.cc | 4 ++-- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/dune/solvers/iterationsteps/obstacletnnmgstep.hh b/dune/solvers/iterationsteps/obstacletnnmgstep.hh index f1a5b6b9..09e2db71 100644 --- a/dune/solvers/iterationsteps/obstacletnnmgstep.hh +++ b/dune/solvers/iterationsteps/obstacletnnmgstep.hh @@ -112,7 +112,7 @@ class ObstacleTNNMGStep linearSmoother_(Dune::Solvers::BlockGS::LocalSolvers::gs()), baseSolverStep_(Dune::Solvers::BlockGS::LocalSolvers::gs()), baseSolverNorm_(baseSolverStep_), - baseSolver_(&baseSolverStep_, 100, 1e-8, &baseSolverNorm_, LinearBaseSolver::QUIET), + baseSolver_(baseSolverStep_, 100, 1e-8, baseSolverNorm_, LinearBaseSolver::QUIET), preSmoothingSteps_(3), postSmoothingSteps_(3), linearIterationSteps_(1), @@ -158,7 +158,7 @@ class ObstacleTNNMGStep linearMGStep_.setTransferOperators(transfer_); linearMGStep_.setSmoother(&linearSmoother_); - linearMGStep_.basesolver_ = &baseSolver_; + linearMGStep_.setBaseSolver(baseSolver_); linearMGStep_.setMGType(1, linearPreSmoothingSteps_, linearPostSmoothingSteps_); hasObstacle_.resize(x_->size()); diff --git a/dune/solvers/test/cgsteptest.cc b/dune/solvers/test/cgsteptest.cc index 0ccc7372..f7540138 100644 --- a/dune/solvers/test/cgsteptest.cc +++ b/dune/solvers/test/cgsteptest.cc @@ -83,7 +83,7 @@ struct CGTestSuite cgStep(p.A, u_copy, rhs_copy); cgStep.setIgnore(p.ignore); ::LoopSolver<typename Problem::Vector> solver( - &cgStep, maxIterations, stepTol, &p.twoNorm, Solver::QUIET, + cgStep, maxIterations, stepTol, p.twoNorm, Solver::QUIET, relativeErrors, &p.u_ex); solver.check(); solver.preprocess(); @@ -115,7 +115,7 @@ struct CGTestSuite if (withIgnore) cgStep.setIgnore(p.ignore); ::LoopSolver<typename Problem::Vector> solver( - &cgStep, maxIterations, stepTol, &p.twoNorm, verbosity, + cgStep, maxIterations, stepTol, p.twoNorm, verbosity, relativeErrors, &p.u_ex); solver.check(); timer.reset(); @@ -143,7 +143,7 @@ struct CGTestSuite if (withIgnore) cgStep.setIgnore(p.ignore); ::LoopSolver<typename Problem::Vector> solver( - &cgStep, maxIterations, stepTol, &p.twoNorm, verbosity, + cgStep, maxIterations, stepTol, p.twoNorm, verbosity, relativeErrors, &p.u_ex); solver.check(); timer.reset(); @@ -167,7 +167,7 @@ struct CGTestSuite typename Problem::Vector> cgStep(p.A, u_copy, rhs_copy, ilu0); ::LoopSolver<typename Problem::Vector> solver( - &cgStep, maxIterations, stepTol, &p.twoNorm, verbosity, + cgStep, maxIterations, stepTol, p.twoNorm, verbosity, relativeErrors, &p.u_ex); solver.check(); timer.reset(); @@ -189,7 +189,7 @@ struct CGTestSuite typename Problem::Vector> cgStep(p.A, u_copy, rhs_copy, ssor); ::LoopSolver<typename Problem::Vector> solver( - &cgStep, maxIterations, stepTol, &p.twoNorm, verbosity, + cgStep, maxIterations, stepTol, p.twoNorm, verbosity, relativeErrors, &p.u_ex); solver.check(); timer.reset(); @@ -211,7 +211,7 @@ struct CGTestSuite typename Problem::Vector> cgStep(p.A, u_copy, rhs_copy, ssor); ::LoopSolver<typename Problem::Vector> solver( - &cgStep, maxIterations, stepTol, &p.twoNorm, verbosity, + cgStep, maxIterations, stepTol, p.twoNorm, verbosity, relativeErrors, &p.u_ex); solver.check(); timer.reset(); @@ -233,7 +233,7 @@ struct CGTestSuite typename Problem::Vector> cgStep(p.A, u_copy, rhs_copy, ssor); ::LoopSolver<typename Problem::Vector> solver( - &cgStep, maxIterations, stepTol, &p.twoNorm, verbosity, + cgStep, maxIterations, stepTol, p.twoNorm, verbosity, relativeErrors, &p.u_ex); solver.check(); timer.reset(); @@ -255,7 +255,7 @@ struct CGTestSuite typename Problem::Vector> cgStep(p.A, u_copy, rhs_copy, ssor); ::LoopSolver<typename Problem::Vector> solver( - &cgStep, maxIterations, stepTol, &p.twoNorm, verbosity, + cgStep, maxIterations, stepTol, p.twoNorm, verbosity, relativeErrors, &p.u_ex); solver.check(); timer.reset(); diff --git a/dune/solvers/test/gssteptest.cc b/dune/solvers/test/gssteptest.cc index 2296fa9d..55385928 100644 --- a/dune/solvers/test/gssteptest.cc +++ b/dune/solvers/test/gssteptest.cc @@ -54,7 +54,7 @@ struct GSTestSuite { step->setProblem(p.A, u_init, p.rhs); step->setIgnore(p.ignore); - LoopSolver solver(step, maxIterations, stepTol, &p.energyNorm, verbosity, + LoopSolver solver(*step, maxIterations, stepTol, p.energyNorm, verbosity, relativeErrors); solver.check(); solver.preprocess(); diff --git a/dune/solvers/test/mmgtest.cc b/dune/solvers/test/mmgtest.cc index af9bfccf..0288bab7 100644 --- a/dune/solvers/test/mmgtest.cc +++ b/dune/solvers/test/mmgtest.cc @@ -42,10 +42,10 @@ void solveObstacleProblemByMMGSolver(const GridType& grid, const MatrixType& mat EnergyNorm<MatrixType, VectorType> baseEnergyNorm(baseSolverStep); - ::LoopSolver<VectorType> baseSolver(&baseSolverStep, + ::LoopSolver<VectorType> baseSolver(baseSolverStep, 100, // base iterations 1e-8, // tolerance - &baseEnergyNorm, + baseEnergyNorm, Solver::QUIET); // Make pre and postsmoothers @@ -58,7 +58,7 @@ void solveObstacleProblemByMMGSolver(const GridType& grid, const MatrixType& mat mmgStep.setIgnore(ignore); mmgStep.setBaseSolver(baseSolver); mmgStep.setSmoother(&smoother); - mmgStep.setObstacleRestrictor(std::make_shared<MandelObstacleRestrictor<VectorType> >()); + mmgStep.setObstacleRestrictor(MandelObstacleRestrictor<VectorType>()); Dune::BitSetVector<blockSize> hasObstacle(x.size(),true); mmgStep.hasObstacle_ = &hasObstacle; @@ -84,10 +84,10 @@ void solveObstacleProblemByMMGSolver(const GridType& grid, const MatrixType& mat EnergyNorm<MatrixType,VectorType> h1SemiNorm(mat); - ::LoopSolver<VectorType> solver (&mmgStep, + ::LoopSolver<VectorType> solver (mmgStep, maxIterations, // iterations tolerance, // tolerance - &h1SemiNorm, + h1SemiNorm, Solver::REDUCED); // solve problem solver.preprocess(); diff --git a/dune/solvers/test/multigridtest.cc b/dune/solvers/test/multigridtest.cc index a2aefae5..be4eb374 100644 --- a/dune/solvers/test/multigridtest.cc +++ b/dune/solvers/test/multigridtest.cc @@ -75,7 +75,7 @@ struct MultigridTestSuite typename Problem::Norm basenorm(basesolver_step); - Solver basesolver(&basesolver_step, 1, 1e-10, &basenorm, Solver::QUIET); + Solver basesolver(basesolver_step, 1, 1e-10, basenorm, Solver::QUIET); // create iteration step and set all kinds of data MGStep mgStep; @@ -87,7 +87,7 @@ struct MultigridTestSuite mgStep.setBaseSolver(basesolver); // create loop solver - Solver solver(&mgStep, maxIterations, tol, &p.energyNorm, Solver::FULL); + Solver solver(mgStep, maxIterations, tol, p.energyNorm, Solver::FULL); // solve problem solver.preprocess(); diff --git a/dune/solvers/test/obstacletnnmgtest.cc b/dune/solvers/test/obstacletnnmgtest.cc index 6321ca03..d7a55e48 100644 --- a/dune/solvers/test/obstacletnnmgtest.cc +++ b/dune/solvers/test/obstacletnnmgtest.cc @@ -78,7 +78,7 @@ void solveObstacleProblemByTNNMG(const GridType& grid, const MatrixType& mat, Ve tnnmgStep.nestedIteration(); // cretae loop solver - Solver solver(&tnnmgStep, maxIterations, tolerance, &norm, Solver::FULL); + Solver solver(tnnmgStep, maxIterations, tolerance, norm, Solver::FULL); // solve problem solver.solve(); diff --git a/dune/solvers/test/projectedgradienttest.cc b/dune/solvers/test/projectedgradienttest.cc index 7eeef5fd..131c73b0 100644 --- a/dune/solvers/test/projectedgradienttest.cc +++ b/dune/solvers/test/projectedgradienttest.cc @@ -43,10 +43,10 @@ bool solveObstacleProblemByProjectedGradientSolver(const MatrixType& mat, Vector //projGrad.iterate(); EnergyNorm<MatrixType,VectorType>* h1SemiNorm = new EnergyNorm<MatrixType,VectorType>(mat); - ::LoopSolver<VectorType> solver (&projGradStep, + ::LoopSolver<VectorType> solver (projGradStep, maxIterations, // iterations tolerance, // tolerance - h1SemiNorm, + *h1SemiNorm, Solver::REDUCED); solver.solve(); x = projGradStep.getSol(); -- GitLab