From: Fabian Castelli Date: Thu, 20 May 2021 13:11:02 +0000 (+0200) Subject: Intro add note on reuse mg_transfer X-Git-Tag: v9.3.0-rc1~25^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=42ae2a7c3d8f5adc0246f1977f6305f94bad4071;p=dealii.git Intro add note on reuse mg_transfer --- 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()