Skip to content
Snippets Groups Projects
Commit 73a507a5 authored by Lisa Julia Nebel's avatar Lisa Julia Nebel Committed by Sander, Oliver
Browse files

Use std::make_shared to create the BaseSolver of the Trustregion Algorithm

parent 538fc869
Branches
No related tags found
1 merge request!27Use global index sets by the dune-parmg module
......@@ -78,12 +78,17 @@ setup(const GridType& grid,
QuadraticIPOptSolver<MatrixType,CorrectionType> baseSolver;
baseSolver.setSolverParameter(baseTolerance, 100, NumProc::QUIET);
#else
// First create a Gauss-seidel base solver
auto baseSolverStep = std::make_shared<TrustRegionGSStep<MatrixType, CorrectionType>>();
// Hack: the two-norm may not scale all that well, but it is fast!
::LoopSolver<CorrectionType> baseSolver(TrustRegionGSStep<MatrixType, CorrectionType>{},
baseIterations,
baseTolerance,
TwoNorm<CorrectionType>{},
Solver::QUIET);
auto baseNorm = std::make_shared<TwoNorm<CorrectionType>>();
auto baseSolver = std::make_shared<::LoopSolver<CorrectionType>>(baseSolverStep,
baseIterations,
baseTolerance,
baseNorm,
Solver::QUIET);
#endif
#if HAVE_MPI
// Transfer all Dirichlet data to the master processor
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment