From: Wolfgang Bangerth Date: Tue, 8 Dec 2020 21:32:54 +0000 (-0700) Subject: Better document step-22 solvers. X-Git-Tag: v9.3.0-rc1~779^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa38a2d5020125474c2126d3ab4f4b021f659bdf;p=dealii.git Better document step-22 solvers. --- diff --git a/doc/doxygen/references.bib b/doc/doxygen/references.bib index 5ed6044eb3..aad5f5dc3d 100644 --- a/doc/doxygen/references.bib +++ b/doc/doxygen/references.bib @@ -276,6 +276,20 @@ } +% ------------------------------------ +% Step 22 +% ------------------------------------ + +@Article{SW94, + author = {D. Silvester and A. Wathen}, + title = {Fast iterative solution of stabilised {S}tokes systems. {P}art + {II}: {U}sing general block preconditioners}, + journal = {SIAM J. Numer. Anal.}, + year = 1994, + volume = 31, + pages = {1352--1367}} + + % ------------------------------------ % Step 47 % ------------------------------------ diff --git a/examples/step-22/doc/intro.dox b/examples/step-22/doc/intro.dox index 32da0ccba4..002bc0dd5c 100644 --- a/examples/step-22/doc/intro.dox +++ b/examples/step-22/doc/intro.dox @@ -588,6 +588,25 @@ classes, we will be able to use them interchangeably using the same syntax in all places. +

Is this how one should solve the Stokes equations?

+ +The discussions above showed *one* way in which the linear system that +results from the Stokes equations can be solved, and because the +tutorial programs are teaching tools that makes sense. But is this the +way this system of equations *should* be solved? + +The answer to this is no. The primary bottleneck with the approach, +already identified above, is that we have to repeatedly solve linear +systems with $A$ inside the Schur complement, and because we don't +have a good preconditioner for the Schur complement, these solves just +have to happen too often. A better approach is to use a block +decomposition, which is based on an observation of Silvester and +Wathen @cite SW94 and explained in much greater detail in +@cite elman2005 . An implementation of this alternative approach is +discussed below, in the section on a block Schur +complementation preconditioner in the results section of this program. + +

A note on the structure of the linear system

Above, we have claimed that the linear system has the form diff --git a/examples/step-22/doc/results.dox b/examples/step-22/doc/results.dox index 7c3a6c7512..c9fc2037b0 100644 --- a/examples/step-22/doc/results.dox +++ b/examples/step-22/doc/results.dox @@ -346,6 +346,7 @@ mesh-independent number of iterations, say 10 to 30. We have seen such a candidate in step-16: multigrid.
Block Schur complement preconditioner
+ Even with a good preconditioner for $A$, we still need to solve of the same linear system repeatedly (with different right hand sides, though) in order to make the Schur complement solve