Skip to content
Snippets Groups Projects
Commit ce97ebfd authored by Oliver Sander's avatar Oliver Sander Committed by sander@FU-BERLIN.DE
Browse files

fix memory leak

[[Imported from SVN: r7229]]
parent 0755d66c
No related branches found
No related tags found
No related merge requests found
...@@ -30,14 +30,14 @@ setup(const AverageDistanceAssembler<TargetSpace>* assembler, ...@@ -30,14 +30,14 @@ setup(const AverageDistanceAssembler<TargetSpace>* assembler,
// //////////////////////////////// // ////////////////////////////////
// First create a Gauss-seidel base solver // First create a Gauss-seidel base solver
TrustRegionGSStep<MatrixType, CorrectionType>* innerSolverStep = new TrustRegionGSStep<MatrixType, CorrectionType>; innerSolverStep_ = std::auto_ptr<TrustRegionGSStep<MatrixType, CorrectionType> >(new TrustRegionGSStep<MatrixType, CorrectionType>);
EnergyNorm<MatrixType, CorrectionType>* energyNorm = new EnergyNorm<MatrixType, CorrectionType>(*innerSolverStep); energyNorm_ = std::auto_ptr<EnergyNorm<MatrixType, CorrectionType> >(new EnergyNorm<MatrixType, CorrectionType>(*innerSolverStep_.get()));
innerSolver_ = std::auto_ptr< ::LoopSolver<CorrectionType> >(new ::LoopSolver<CorrectionType>(innerSolverStep, innerSolver_ = std::auto_ptr< ::LoopSolver<CorrectionType> >(new ::LoopSolver<CorrectionType>(innerSolverStep_.get(),
innerIterations, innerIterations,
innerTolerance, innerTolerance,
energyNorm, energyNorm_.get(),
Solver::QUIET)); Solver::QUIET));
innerSolver_->useRelativeError_ = false; innerSolver_->useRelativeError_ = false;
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
#include <dune/solvers/common/boxconstraint.hh> #include <dune/solvers/common/boxconstraint.hh>
#include <dune/solvers/solvers/loopsolver.hh> #include <dune/solvers/solvers/loopsolver.hh>
#include <dune/solvers/iterationsteps/trustregiongsstep.hh>
#include <dune/solvers/norms/energynorm.hh>
/** \brief Riemannian trust-region solver for geodesic finite-element problems */ /** \brief Riemannian trust-region solver for geodesic finite-element problems */
template <class TargetSpace> template <class TargetSpace>
...@@ -73,6 +75,12 @@ protected: ...@@ -73,6 +75,12 @@ protected:
/** \brief The solver for the quadratic inner problems */ /** \brief The solver for the quadratic inner problems */
std::auto_ptr< ::LoopSolver<CorrectionType> > innerSolver_; std::auto_ptr< ::LoopSolver<CorrectionType> > innerSolver_;
/** \brief The iteration step for the quadratic inner problems */
std::auto_ptr<TrustRegionGSStep<MatrixType, CorrectionType> > innerSolverStep_;
/** \brief Norm for the quadratic inner problems */
std::auto_ptr<EnergyNorm<MatrixType, CorrectionType> > energyNorm_;
// /** \brief Dummy field for the trustregiongsstep */ // /** \brief Dummy field for the trustregiongsstep */
// Dune::BitSetVector<blocksize> dummyObstacle_; // Dune::BitSetVector<blocksize> dummyObstacle_;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment