From c04106f2c4b4b9e7597081f9a350801bbc741668 Mon Sep 17 00:00:00 2001 From: kronbichler Date: Mon, 21 Apr 2008 15:53:42 +0000 Subject: [PATCH] Changed a few comments. git-svn-id: https://svn.dealii.org/trunk@16006 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-31/step-31.cc | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/deal.II/examples/step-31/step-31.cc b/deal.II/examples/step-31/step-31.cc index c7b2bbb6cf..21bc6b3b72 100644 --- a/deal.II/examples/step-31/step-31.cc +++ b/deal.II/examples/step-31/step-31.cc @@ -338,24 +338,14 @@ BlockSchurPreconditioner::BlockSchurPrecondit { } - // Now the interesting function, the multiplication of - // the preconditioner with a BlockVector. template void BlockSchurPreconditioner::vmult ( BlockVector &dst, const BlockVector &src) const { - // Form u_new = A^{-1} u a_preconditioner.vmult (dst.block(0), src.block(0)); - // Form tmp = - B u_new + p - // (SparseMatrix::residual - // does precisely this) - system_matrix->block(1,0).residual(tmp, - dst.block(0), src.block(1)); - // Change sign in tmp.block(1) + system_matrix->block(1,0).residual(tmp, dst.block(0), src.block(1)); tmp *= -1; - // Multiply by approximate Schur complement - // (i.e. a pressure mass matrix) m_inverse->vmult (dst.block(1), tmp); } @@ -993,6 +983,11 @@ void BoussinesqFlowProblem::solve () // Define some temporary vectors // for the solution process. + // TODO: Can we somhow avoid copying + // the vectors back and forth? I.e. + // accessing the block vectors in a + // similar way as the matrix with the + // BlockMatrixArray class? std::vector block_sizes(2); block_sizes[0] = solution.block(0).size(); block_sizes[1] = solution.block(1).size(); -- 2.39.5