diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index c1d1c872389e03e0bf1e66c6eccd03a821c1ce5a..72f47a00bbf43b33d77f35e6207d0f1cb26112ad 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -282,7 +282,6 @@ int main(int argc, char *argv[]) { OperatorAssembler<P1Basis, P1Basis>(p1Basis, p1Basis) .assemble(localStiffness, stiffnessMatrix); }; - EnergyNorm<MatrixType, VectorType> energyNorm(stiffnessMatrix); auto const nodalIntegrals = assemble_frictional<GridType, GridView, SmallVector, P1Basis>( @@ -311,9 +310,6 @@ int main(int argc, char *argv[]) { auto multigridStep = mySolver.getSolver(); Solver::VerbosityMode const verbosity = parset.get<bool>("verbose") ? Solver::FULL : Solver::QUIET; - LoopSolver<VectorType> overallSolver( - multigridStep, parset.get<size_t>("solver.tnnmg.maxiterations"), - solver_tolerance, &energyNorm, verbosity, false); // absolute error std::fstream coordinate_writer("coordinates", std::fstream::out); for (size_t i = 0; i < frictionalNodes.size(); ++i) @@ -368,6 +364,10 @@ int main(int argc, char *argv[]) { stateUpdater->setup(tau); timeSteppingScheme->setup(ell, tau, time, problem_rhs, problem_iterate, problem_A); + EnergyNorm<MatrixType, VectorType> energyNorm(problem_A); + LoopSolver<VectorType> overallSolver( + multigridStep, parset.get<size_t>("solver.tnnmg.maxiterations"), + solver_tolerance, &energyNorm, verbosity, false); // absolute error size_t iterationCounter; auto solveDisplacementProblem = [&](VectorType &_problem_iterate,