diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc index da973e581b769509697e3b9e6f3584a089522ae7..78ef4edeebd324738d9b67ec7594779a66414ad5 100644 --- a/src/sand-wedge.cc +++ b/src/sand-wedge.cc @@ -115,8 +115,6 @@ int main(int argc, char *argv[]) { refine(*grid, weakPatch, parset.get<double>("boundary.friction.smallestDiameter")); - auto const refinements = grid->maxLevel(); - double minDiameter = std::numeric_limits<double>::infinity(); double maxDiameter = 0.0; for (auto it = grid->template leafbegin<0>(); @@ -227,7 +225,7 @@ int main(int argc, char *argv[]) { Grid>; ZeroNonlinearity<LocalVector, LocalMatrix> zeroNonlinearity; LinearFactory factory(parset.sub("solver.tnnmg"), // FIXME - refinements, *grid, _dirichletNodes); + *grid, _dirichletNodes); typename LinearFactory::ConvexProblem convexProblem( 1.0, _matrix, zeroNonlinearity, _rhs, _x); @@ -346,8 +344,7 @@ int main(int argc, char *argv[]) { dims, MyBlockProblem<ConvexProblem<GlobalFriction<Matrix, Vector>, Matrix>>, Grid>; - NonlinearFactory factory(parset.sub("solver.tnnmg"), refinements, *grid, - dirichletNodes); + NonlinearFactory factory(parset.sub("solver.tnnmg"), *grid, dirichletNodes); using UpdaterPair = std::pair< std::shared_ptr<StateUpdater<ScalarVector, Vector>>, diff --git a/src/solverfactory.cc b/src/solverfactory.cc index 97a09f5e4a7f3f61b4f4d103aa868a0b3202f493..3242724ae9a55a360b091f103ae30cd9b8704f76 100644 --- a/src/solverfactory.cc +++ b/src/solverfactory.cc @@ -13,14 +13,14 @@ template <size_t dim, class BlockProblem, class Grid> SolverFactory<dim, BlockProblem, Grid>::SolverFactory( - Dune::ParameterTree const &parset, size_t refinements, Grid const &grid, + Dune::ParameterTree const &parset, Grid const &grid, Dune::BitSetVector<dim> const &ignoreNodes) : baseEnergyNorm(linearBaseSolverStep), linearBaseSolver(&linearBaseSolverStep, parset.get<size_t>("linear.maxiumumIterations"), parset.get<double>("linear.tolerance"), &baseEnergyNorm, Solver::QUIET), - transferOperators(refinements), + transferOperators(grid.maxLevel()), multigridStep( std::make_shared<Step>(linearIterationStep, nonlinearSmoother)) { // linear iteration step diff --git a/src/solverfactory.hh b/src/solverfactory.hh index 055401f455b79cc03abe8ebf87817a5216c52f7e..6badcd551c952184319aa545d9a24838d1f34c6e 100644 --- a/src/solverfactory.hh +++ b/src/solverfactory.hh @@ -31,8 +31,8 @@ class SolverFactory { using Step = TruncatedNonsmoothNewtonMultigrid<BlockProblem, NonlinearSmoother>; - SolverFactory(Dune::ParameterTree const &parset, size_t refinements, - Grid const &grid, Dune::BitSetVector<dim> const &ignoreNodes); + SolverFactory(Dune::ParameterTree const &parset, Grid const &grid, + Dune::BitSetVector<dim> const &ignoreNodes); ~SolverFactory();