Skip to content
Snippets Groups Projects
Commit 254469cf authored by Elias Pipping's avatar Elias Pipping
Browse files

[Cleanup] Refinements = maxLevel()

parent 1d080d61
No related branches found
No related tags found
No related merge requests found
...@@ -115,8 +115,6 @@ int main(int argc, char *argv[]) { ...@@ -115,8 +115,6 @@ int main(int argc, char *argv[]) {
refine(*grid, weakPatch, refine(*grid, weakPatch,
parset.get<double>("boundary.friction.smallestDiameter")); parset.get<double>("boundary.friction.smallestDiameter"));
auto const refinements = grid->maxLevel();
double minDiameter = std::numeric_limits<double>::infinity(); double minDiameter = std::numeric_limits<double>::infinity();
double maxDiameter = 0.0; double maxDiameter = 0.0;
for (auto it = grid->template leafbegin<0>(); for (auto it = grid->template leafbegin<0>();
...@@ -227,7 +225,7 @@ int main(int argc, char *argv[]) { ...@@ -227,7 +225,7 @@ int main(int argc, char *argv[]) {
Grid>; Grid>;
ZeroNonlinearity<LocalVector, LocalMatrix> zeroNonlinearity; ZeroNonlinearity<LocalVector, LocalMatrix> zeroNonlinearity;
LinearFactory factory(parset.sub("solver.tnnmg"), // FIXME LinearFactory factory(parset.sub("solver.tnnmg"), // FIXME
refinements, *grid, _dirichletNodes); *grid, _dirichletNodes);
typename LinearFactory::ConvexProblem convexProblem( typename LinearFactory::ConvexProblem convexProblem(
1.0, _matrix, zeroNonlinearity, _rhs, _x); 1.0, _matrix, zeroNonlinearity, _rhs, _x);
...@@ -346,8 +344,7 @@ int main(int argc, char *argv[]) { ...@@ -346,8 +344,7 @@ int main(int argc, char *argv[]) {
dims, dims,
MyBlockProblem<ConvexProblem<GlobalFriction<Matrix, Vector>, Matrix>>, MyBlockProblem<ConvexProblem<GlobalFriction<Matrix, Vector>, Matrix>>,
Grid>; Grid>;
NonlinearFactory factory(parset.sub("solver.tnnmg"), refinements, *grid, NonlinearFactory factory(parset.sub("solver.tnnmg"), *grid, dirichletNodes);
dirichletNodes);
using UpdaterPair = std::pair< using UpdaterPair = std::pair<
std::shared_ptr<StateUpdater<ScalarVector, Vector>>, std::shared_ptr<StateUpdater<ScalarVector, Vector>>,
......
...@@ -13,14 +13,14 @@ ...@@ -13,14 +13,14 @@
template <size_t dim, class BlockProblem, class Grid> template <size_t dim, class BlockProblem, class Grid>
SolverFactory<dim, BlockProblem, Grid>::SolverFactory( 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) Dune::BitSetVector<dim> const &ignoreNodes)
: baseEnergyNorm(linearBaseSolverStep), : baseEnergyNorm(linearBaseSolverStep),
linearBaseSolver(&linearBaseSolverStep, linearBaseSolver(&linearBaseSolverStep,
parset.get<size_t>("linear.maxiumumIterations"), parset.get<size_t>("linear.maxiumumIterations"),
parset.get<double>("linear.tolerance"), &baseEnergyNorm, parset.get<double>("linear.tolerance"), &baseEnergyNorm,
Solver::QUIET), Solver::QUIET),
transferOperators(refinements), transferOperators(grid.maxLevel()),
multigridStep( multigridStep(
std::make_shared<Step>(linearIterationStep, nonlinearSmoother)) { std::make_shared<Step>(linearIterationStep, nonlinearSmoother)) {
// linear iteration step // linear iteration step
......
...@@ -31,8 +31,8 @@ class SolverFactory { ...@@ -31,8 +31,8 @@ class SolverFactory {
using Step = using Step =
TruncatedNonsmoothNewtonMultigrid<BlockProblem, NonlinearSmoother>; TruncatedNonsmoothNewtonMultigrid<BlockProblem, NonlinearSmoother>;
SolverFactory(Dune::ParameterTree const &parset, size_t refinements, SolverFactory(Dune::ParameterTree const &parset, Grid const &grid,
Grid const &grid, Dune::BitSetVector<dim> const &ignoreNodes); Dune::BitSetVector<dim> const &ignoreNodes);
~SolverFactory(); ~SolverFactory();
......
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