From 6942c93c216e423490c21f3b70969093dfc6ad9d Mon Sep 17 00:00:00 2001 From: bangerth Date: Wed, 22 Oct 2008 04:59:58 +0000 Subject: [PATCH] Clarify a comment. git-svn-id: https://svn.dealii.org/trunk@17301 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-31/step-31.cc | 42 ++++++++++++++++------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/deal.II/examples/step-31/step-31.cc b/deal.II/examples/step-31/step-31.cc index 1c0ed54dec..f2e8620555 100644 --- a/deal.II/examples/step-31/step-31.cc +++ b/deal.II/examples/step-31/step-31.cc @@ -443,25 +443,29 @@ namespace LinearSolvers // Next is the vmult - // function. We implement the - // action of $P^{-1}$ as described - // above in three successive steps. - // The first step multiplies the - // velocity part of the vector by a - // preconditioner of the matrix - // A. The resuling velocity - // vector is then multiplied by $B$ - // and subtracted from the - // pressure. This second step only - // acts on the pressure vector and - // is accomplished by the command - // SparseMatrix::residual. Next, we - // change the sign in the temporary - // pressure vector and finally - // multiply by the pressure mass - // matrix to get the final pressure - // vector, completing our work on - // the Stokes preconditioner: + // function. We implement the action of + // $P^{-1}$ as described above in three + // successive steps. In formulas, we want + // to compute $Y=P^{-1}X$ where $X,Y$ are + // both vectors with two block components. + // + // The first step multiplies the velocity + // part of the vector by a preconditioner + // of the matrix A, i.e. we compute + // $Y_0={\tilde A}^{-1}X_0$. The resulting + // velocity vector is then multiplied by + // $B$ and subtracted from the pressure, + // i.e. we want to compute $X_1-BY_0$. + // This second step only acts on the + // pressure vector and is accomplished by + // the residual function of our matrix + // classes, except that the sign is + // wrong. Consequently, we change the sign + // in the temporary pressure vector and + // finally multiply by the inverse pressure + // mass matrix to get the final pressure + // vector, completing our work on the + // Stokes preconditioner: template void BlockSchurPreconditioner::vmult ( TrilinosWrappers::BlockVector &dst, -- 2.39.5