From: bangerth Date: Sat, 20 Aug 2011 04:49:44 +0000 (+0000) Subject: Provide mutual cross-references regarding a comment of getting in the habit of always... X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9e19b772e612e7819a4f69dc86b49811ac92e55;p=dealii-svn.git Provide mutual cross-references regarding a comment of getting in the habit of always multiplying with test functions from the left. git-svn-id: https://svn.dealii.org/trunk@24118 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/examples/step-3/doc/intro.dox b/deal.II/examples/step-3/doc/intro.dox index 7605ce2918..8f9b71cfcf 100644 --- a/deal.II/examples/step-3/doc/intro.dox +++ b/deal.II/examples/step-3/doc/intro.dox @@ -5,7 +5,7 @@

The basic functioning of finite elements

This is the first example where we actually use finite elements to compute -something. We +something. We will solve a simple version of Poisson's equation with zero boundary values, but a nonzero right hand side: @f{align*} @@ -115,7 +115,9 @@ any sort of confusion, experience has shown that simply getting into the habit of multiplying the equation from the left rather than from the right (as is often done in the mathematical literature) avoids a common class of errors as the matrix is automatically correct and does not need to be transposed when -comparing theory and implementation. +comparing theory and implementation. See step-9 for the first example in this +tutorial where we have a non-symmetric bilinear form for which it makes a +difference whether we multiply from the right or from the left. Now we know what we need (namely objects that hold the matrix and vectors, as well as ways to compute $A_{ij},F_i$), and we can look at what it @@ -139,7 +141,7 @@ takes to make that happen: A^K_{ij} &= \int_K \nabla\varphi_i \cdot \nabla \varphi_j \approx - \sum_q \nabla\varphi_i(\mathbf x^K_q) \cdot \nabla + \sum_q \nabla\varphi_i(\mathbf x^K_q) \cdot \nabla \varphi_j(\mathbf x^K_q) w_q^K, \\ F^K_i &= diff --git a/deal.II/examples/step-9/doc/intro.dox b/deal.II/examples/step-9/doc/intro.dox index 8659188ddc..3662474b1f 100644 --- a/deal.II/examples/step-9/doc/intro.dox +++ b/deal.II/examples/step-9/doc/intro.dox @@ -103,9 +103,14 @@ problem @f[ {\mathbf u}^T A = {\mathbf f}^T, @f] -where ${\mathbf u}=(u_i)$, i.e. we have to solve the transpose problem of -what we might have expected naively. In order to obtain the usual form -of the linear system, it is therefore best to rewrite the weak +where ${\mathbf u}=(u_i)$, i.e., we have to solve the transpose problem of +what we might have expected naively. + +This is a point we made in the introduction of step-3. There, we argued that +to avoid this very kind of problem, one should get in the habit of always +multiplying with test functions from the left instead of from the right +to obtain the correct matrix right away. In order to obtain the form +of the linear system that we need, it is therefore best to rewrite the weak formulation to @f[ (v_h + \delta \beta\cdot\nabla v_h, \beta \cdot \nabla u_h)_\Omega @@ -127,7 +132,7 @@ and then to obtain as system matrix. We will assemble this matrix in the program. There remains the solution of this linear system of equations. As the -resulting matrix is no more symmetric positive definite, we can't +resulting matrix is no longer symmetric positive definite, we can't employ the usual CG method any more. Suitable for the solution of systems as the one at hand is the BiCGStab (bi-conjugate gradients stabilized) method, which is also available in deal.II, so we will use