diff --git a/src/one-body-sample.org b/src/one-body-sample.org index f2dcda6362ac713347f9100dcdda0acba4409b71..89042418e39a72e6f38f998c8578f950769f8593 100644 --- a/src/one-body-sample.org +++ b/src/one-body-sample.org @@ -165,26 +165,6 @@ if (parset.get<bool>("printProgress")) std::cerr << std::endl; #+end_src -#+name: setupAndSolveProblem -#+begin_src c++ - { - auto myGlobalNonlinearity - = assemble_nonlinearity<MatrixType, VectorType> - (parset.sub("boundary.friction"), *nodalIntegrals, alpha, - surfaceNormalStress); - - MyConvexProblemType const myConvexProblem - (problem_A, *myGlobalNonlinearity, problem_rhs); - MyBlockProblemType myBlockProblem(parset, myConvexProblem); - auto multigridStep = mySolver.getSolver(); - multigridStep->setProblem(problem_iterate, myBlockProblem); - - LoopSolver<VectorType> overallSolver - (multigridStep, parset.get<size_t>("solver.tnnmg.maxiterations"), - solver_tolerance, &energyNorm, verbosity, false); // absolute error - overallSolver.solve(); - } -#+end_src * Functions #+name: defineInitTimeStepper #+begin_src c++ @@ -414,7 +394,23 @@ // displacement as a convergence criterion VectorType u_saved; for (size_t state_fpi = 1; state_fpi <= state_fpi_max; ++state_fpi) { - <<setupAndSolveProblem>>; + { + auto myGlobalNonlinearity + = assemble_nonlinearity<MatrixType, VectorType> + (parset.sub("boundary.friction"), *nodalIntegrals, alpha, + surfaceNormalStress); + + MyConvexProblemType const myConvexProblem + (problem_A, *myGlobalNonlinearity, problem_rhs); + MyBlockProblemType myBlockProblem(parset, myConvexProblem); + auto multigridStep = mySolver.getSolver(); + multigridStep->setProblem(problem_iterate, myBlockProblem); + + LoopSolver<VectorType> overallSolver + (multigridStep, parset.get<size_t>("solver.tnnmg.maxiterations"), + solver_tolerance, &energyNorm, verbosity, false); // absolute error + overallSolver.solve(); + } timeSteppingScheme->postProcess(problem_iterate); timeSteppingScheme->extractDisplacement(u);