diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc index 0c3958e0a2176c154dde43b6e5708e7c2bffc606..70414dd3a1e7f910f7a73beaa3c1cb74a604a34f 100644 --- a/dune/gfe/riemanniantrsolver.cc +++ b/dune/gfe/riemanniantrsolver.cc @@ -79,12 +79,12 @@ setup(const GridType& grid, baseSolver->setTolerance(baseTolerance); #else // First create a Gauss-seidel base solver - TrustRegionGSStep<MatrixType, CorrectionType>* baseSolverStep = new TrustRegionGSStep<MatrixType, CorrectionType>; + auto baseSolverStep = std::make_shared<TrustRegionGSStep<MatrixType, CorrectionType> >(); // Hack: the two-norm may not scale all that well, but it is fast! - TwoNorm<CorrectionType>* baseNorm = new TwoNorm<CorrectionType>; + auto baseNorm = std::make_shared<TwoNorm<CorrectionType> >(); - ::LoopSolver<CorrectionType>* baseSolver = new ::LoopSolver<CorrectionType>(baseSolverStep, + auto baseSolver = std::make_shared<::LoopSolver<CorrectionType> >(baseSolverStep, baseIterations, baseTolerance, baseNorm,