From 42ae2a7c3d8f5adc0246f1977f6305f94bad4071 Mon Sep 17 00:00:00 2001 From: Fabian Castelli Date: Thu, 20 May 2021 15:11:02 +0200 Subject: [PATCH] Intro add note on reuse mg_transfer --- examples/step-66/doc/intro.dox | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/examples/step-66/doc/intro.dox b/examples/step-66/doc/intro.dox index 61c5581c41..d65f785336 100644 --- a/examples/step-66/doc/intro.dox +++ b/examples/step-66/doc/intro.dox @@ -206,7 +206,13 @@ linear solver, so in order to apply the multilevel operators we need to pass the last Newton step also to these operators. This is kind of a tricky task, since the vector containing the last Newton step has to be interpolated to all levels of the triangulation. In the code this task will be done by the function -MGTransferMatrixFree::interpolate_to_mg(): +MGTransferMatrixFree::interpolate_to_mg(). Note, a fundamental difference to +the previous cases, where we set up and used a geometric multigrid +preconditioner, is the fact, that we can reuse the MGTransferMatrixFree object +for the computation of all Newton steps. So we can save some work here by +defining a class variable and using an already set up MGTransferMatrixFree +object mg_transfer that was initialized in the +setup_system() function. @code template void GelfandProblem::compute_update() -- 2.39.5