From 66aa2539cc87ef157087b8924d32d536f5f5f9a5 Mon Sep 17 00:00:00 2001 From: wolf Date: Mon, 27 Mar 2006 23:34:11 +0000 Subject: [PATCH] Generate intro from doxygen. git-svn-id: https://svn.dealii.org/trunk@12688 0785d39b-7218-0410-832d-ea1e28bc413d --- .../step-9.data/{intro.tex => intro.dox} | 176 +++-- .../step-9.data/intro.html | 624 ------------------ .../step-9.data/intro/img1.gif | Bin 383 -> 0 bytes .../step-9.data/intro/img10.gif | Bin 127 -> 0 bytes .../step-9.data/intro/img11.gif | Bin 435 -> 0 bytes .../step-9.data/intro/img12.gif | Bin 142 -> 0 bytes .../step-9.data/intro/img13.gif | Bin 314 -> 0 bytes .../step-9.data/intro/img14.gif | Bin 2105 -> 0 bytes .../step-9.data/intro/img15.gif | Bin 336 -> 0 bytes .../step-9.data/intro/img16.gif | Bin 1406 -> 0 bytes .../step-9.data/intro/img17.gif | Bin 276 -> 0 bytes .../step-9.data/intro/img18.gif | Bin 358 -> 0 bytes .../step-9.data/intro/img19.gif | Bin 363 -> 0 bytes .../step-9.data/intro/img2.gif | Bin 90 -> 0 bytes .../step-9.data/intro/img20.gif | Bin 328 -> 0 bytes .../step-9.data/intro/img21.gif | Bin 2130 -> 0 bytes .../step-9.data/intro/img22.gif | Bin 1399 -> 0 bytes .../step-9.data/intro/img23.gif | Bin 3721 -> 0 bytes .../step-9.data/intro/img24.gif | Bin 188 -> 0 bytes .../step-9.data/intro/img25.gif | Bin 284 -> 0 bytes .../step-9.data/intro/img26.gif | Bin 1306 -> 0 bytes .../step-9.data/intro/img27.gif | Bin 362 -> 0 bytes .../step-9.data/intro/img28.gif | Bin 340 -> 0 bytes .../step-9.data/intro/img29.gif | Bin 674 -> 0 bytes .../step-9.data/intro/img3.gif | Bin 392 -> 0 bytes .../step-9.data/intro/img30.gif | Bin 263 -> 0 bytes .../step-9.data/intro/img31.gif | Bin 1277 -> 0 bytes .../step-9.data/intro/img32.gif | Bin 485 -> 0 bytes .../step-9.data/intro/img33.gif | Bin 2583 -> 0 bytes .../step-9.data/intro/img34.gif | Bin 1799 -> 0 bytes .../step-9.data/intro/img35.gif | Bin 415 -> 0 bytes .../step-9.data/intro/img36.gif | Bin 816 -> 0 bytes .../step-9.data/intro/img37.gif | Bin 3311 -> 0 bytes .../step-9.data/intro/img4.gif | Bin 168 -> 0 bytes .../step-9.data/intro/img5.gif | Bin 504 -> 0 bytes .../step-9.data/intro/img6.gif | Bin 255 -> 0 bytes .../step-9.data/intro/img7.gif | Bin 945 -> 0 bytes .../step-9.data/intro/img8.gif | Bin 270 -> 0 bytes .../step-9.data/intro/img9.gif | Bin 353 -> 0 bytes 39 files changed, 83 insertions(+), 717 deletions(-) rename deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/{intro.tex => intro.dox} (73%) delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.html delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img1.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img10.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img11.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img12.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img13.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img14.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img15.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img16.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img17.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img18.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img19.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img2.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img20.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img21.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img22.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img23.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img24.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img25.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img26.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img27.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img28.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img29.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img3.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img30.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img31.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img32.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img33.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img34.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img35.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img36.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img37.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img4.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img5.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img6.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img7.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img8.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img9.gif diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.tex b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.dox similarity index 73% rename from deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.tex rename to deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.dox index b5de177771..93caff4b43 100644 --- a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.tex +++ b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.dox @@ -1,25 +1,14 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% intro.html was generated from this file -%% with latex2html and some hand work -%% (copying out the relevant parts from the -%% generated html file, replacing IMG= -%% by the proper path) -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass{article} -\usepackage{amsmath} -\usepackage{amsfonts} + +

Introduction

-\renewcommand{\vec}[1]{{\mathbf #1}} -\renewcommand{\div}{\nabla \cdot} -\begin{document} In this example, our aims are the following: -\begin{itemize} - \item solve the advection equation $\beta \cdot \nabla u = f$; - \item show how we can use multiple threads to get quicker to +
    +
  1. solve the advection equation $\beta \cdot \nabla u = f$; +
  2. show how we can use multiple threads to get quicker to the desired results if we have a multi-processor machine; - \item develop a simple refinement criterion. -\end{itemize} +
  3. develop a simple refinement criterion. +
While the second aim is difficult to describe in general terms without reference to the code, we will discuss the other two aims in the following. The use of multiple threads will then be detailed at the @@ -27,12 +16,14 @@ relevant places within the program. Furthermore, there exists a report on this subject, which is also available online from the ``Documentation'' section of the deal.II homepage. -\paragraph{Discretizing the advection equation.} + +

Discretizing the advection equation

+ In the present example program, we shall numerically approximate the solution of the advection equation -$$ +@f[ \beta \cdot \nabla u = f, -$$ +@f] where $\beta$ is a vector field that describes advection direction and speed (which may be dependent on the space variables), $f$ is a source function, and $u$ is the solution. The physical process that this @@ -44,19 +35,19 @@ terms. It is obvious that at the inflow, the above equation needs to be augmented by boundary conditions: -$$ - u = g \qquad\qquad \text{on $\partial\Omega_-$}, -$$ +@f[ + u = g \qquad\qquad \mathrm{on}\ \partial\Omega_-, +@f] where $\partial\Omega_-$ describes the inflow portion of the boundary and is formally defined by -$$ +@f[ \partial\Omega_- = - \{\vec x\in \partial\Omega: \beta\cdot\vec n(\vec x) < 0\}, -$$ -and $\vec n(\vec x)$ being the outward normal to the domain at point -$\vec x\in\partial\Omega$. This definition is quite intuitive, since -as $\vec n$ points outward, the scalar product with $\beta$ can only + \{{\mathbf x}\in \partial\Omega: \beta\cdot{\mathbf n}({\mathbf x}) < 0\}, +@f] +and ${\mathbf n}({\mathbf x})$ being the outward normal to the domain at point +${\mathbf x}\in\partial\Omega$. This definition is quite intuitive, since +as ${\mathbf n}$ points outward, the scalar product with $\beta$ can only be negative if the transport direction $\beta$ points inward, i.e. at the inflow boundary. The mathematical theory states that we must not pose any boundary condition on the outflow part of the boundary. @@ -83,56 +74,56 @@ topic. Using the test functions as defined above, the weak formulation of our stabilized problem reads: find a discrete function $u_h$ such that for all discrete test functions $v_h$ there holds -$$ +@f[ (\beta \cdot \nabla u_h, v_h + \delta \beta\cdot\nabla v_h)_\Omega - - (\beta\cdot \vec n u_h, v_h)_{\partial\Omega_-} + (\beta\cdot {\mathbf n} u_h, v_h)_{\partial\Omega_-} = (f, v_h + \delta \beta\cdot\nabla v_h)_\Omega - - (\beta\cdot \vec n g, v_h)_{\partial\Omega_-}. -$$ + (\beta\cdot {\mathbf n} g, v_h)_{\partial\Omega_-}. +@f] Note that we have included the inflow boundary values into the weak form, and that the respective terms to the left hand side operator are -positive definite due to the fact that $\beta\cdot\vec n<0$ on the +positive definite due to the fact that $\beta\cdot{\mathbf n}<0$ on the inflow boundary. One would think that this leads to a system matrix to be inverted of the form -$$ +@f[ a_{ij} = (\beta \cdot \nabla \varphi_i, \varphi_j + \delta \beta\cdot\nabla \varphi_j)_\Omega - - (\beta\cdot \vec n \varphi_i, \varphi_j)_{\partial\Omega_-}, -$$ + (\beta\cdot {\mathbf n} \varphi_i, \varphi_j)_{\partial\Omega_-}, +@f] with basis functions $\varphi_i,\varphi_j$. However, this is a pitfall that happens to every numerical analyst at least once (including the author): we have here expanded the solution $u_h = u_i \varphi_i$, but if we do so, we will have to solve the problem -$$ - \vec u^T A = \vec f^T, -$$ -where $\vec u=(u_i)$, i.e. we have to solve the transpose problem of +@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 formulation to -$$ +@f[ (v_h + \delta \beta\cdot\nabla v_h, \beta \cdot \nabla u_h)_\Omega - - (\beta\cdot \vec n v_h, u_h)_{\partial\Omega_-} + (\beta\cdot {\mathbf n} v_h, u_h)_{\partial\Omega_-} = (v_h + \delta \beta\cdot\nabla v_h, f)_\Omega - - (\beta\cdot \vec n v_h, g)_{\partial\Omega_-} -$$ + (\beta\cdot {\mathbf n} v_h, g)_{\partial\Omega_-} +@f] and then to obtain -$$ +@f[ a_{ij} = (\varphi_i + \delta \beta \cdot \nabla \varphi_i, \beta\cdot\nabla \varphi_j)_\Omega - - (\beta\cdot \vec n \varphi_i, \varphi_j)_{\partial\Omega_-}, -$$ + (\beta\cdot {\mathbf n} \varphi_i, \varphi_j)_{\partial\Omega_-}, +@f] as system matrix. We will assemble this matrix in the program. There remains the solution of this linear system of equations. As the @@ -145,25 +136,25 @@ it. Regarding the exact form of the problem which we will solve, we use the following domain and functions (in $d=2$ space dimensions): -\begin{eqnarray*} +@f{eqnarray*} \Omega &=& [-1,1]^d \\ - \beta(\vec x) + \beta({\mathbf x}) &=& \left( \begin{array}{c}1 \\ 1+\frac 45 \sin(8\pi x)\end{array} \right), \\ - f(\vec x) + f({\mathbf x}) &=& \left\{ \begin{array}{ll} \frac 1{10 s^d} & - \text{for $|\vec x-\vec x_0|2$, we extend $\beta$ and $\vec x_0$ by the same as the last + e^{5(1-|{\mathbf x}|^2)} \sin(16\pi|{\mathbf x}|^2). +@f} +For $d>2$, we extend $\beta$ and ${\mathbf x}_0$ by the same as the last component. Regarding these functions, we have the following annotations: -\begin{itemize} -\item The advection field $\beta$ transports the solution roughly in +
    +
  1. The advection field $\beta$ transports the solution roughly in diagonal direction from lower left to upper right, but with a wiggle structure superimposed. -\item The right hand side adds to the field generated by the inflow +
  2. The right hand side adds to the field generated by the inflow boundary conditions a bulb in the lower left corner, which is then transported along. -\item The inflow boundary conditions impose a weighted sinusoidal -structure that is transported along with the flow field. Since $|\vec -x|\ge 1$ on the boundary, the weighting term never gets very large. -\end{itemize} +
  3. The inflow boundary conditions impose a weighted sinusoidal +structure that is transported along with the flow field. Since +$|{\mathbf x}|\ge 1$ on the boundary, the weighting term never gets very large. +
-\paragraph{A simple refinement criterion.} +

A simple refinement criterion

+ In all previous examples with adaptive refinement, we have used an error estimator first developed by Kelly et al., which assigns to each cell $K$ the following indicator: -$$ +@f[ \eta_K = \left( \frac {h_K}{12} \int_{\partial K} [\partial_n u_h]^2 \; d\sigma \right)^{1/2}, -$$ +@f] where $[\partial n u_h]$ denotes the jump of the normal derivatives across a face $\gamma\subset\partial K$ of the cell $K$. It can be shown that this error indicator uses a discrete analogue of the second derivatives, weighted by a power of the cell size that is adjusted to the linear elements assumed to be in use here: -$$ +@f[ \eta_K \approx C h \| \nabla^2 u \|_K, -$$ +@f] which itself is related to the error size in the energy norm. The problem with this error indicator in the present case is that it @@ -230,49 +222,49 @@ a discrete approximation of the gradient. Although the gradient often does not exist, this is the only criterion available to us, at least as long as we use continuous elements as in the present example. To start with, we note that given two cells $K$, $K'$ of -which the centers are connected by the vector $\vec y_{KK'}$, we can +which the centers are connected by the vector ${\mathbf y}_{KK'}$, we can approximate the directional derivative of a function $u$ as follows: -$$ - \frac{\vec y_{KK'}^T}{|\vec y_{KK'}|} \nabla u +@f[ + \frac{{\mathbf y}_{KK'}^T}{|{\mathbf y}_{KK'}|} \nabla u \approx - \frac{u(K') - u(K)}{|\vec y_{KK'}|}, -$$ + \frac{u(K') - u(K)}{|{\mathbf y}_{KK'}|}, +@f] where $u(K)$ and $u(K')$ denote $u$ evaluated at the centers of the respective cells. We now multiply the above approximation by -$\vec y_{KK'}/|\vec y_{KK'}|$ and sum over all neighbors $K'$ of $K$: -$$ +${\mathbf y}_{KK'}/|{\mathbf y}_{KK'}|$ and sum over all neighbors $K'$ of $K$: +@f[ \underbrace{ - \left(\sum_{K'} \frac{\vec y_{KK'} \vec y_{KK'}^T} - {|\vec y_{KK'}|^2}\right)}_{=:Y} + \left(\sum_{K'} \frac{{\mathbf y}_{KK'} {\mathbf y}_{KK'}^T} + {|{\mathbf y}_{KK'}|^2}\right)}_{=:Y} \nabla u \approx \sum_{K'} - \frac{\vec y_{KK'}}{|\vec y_{KK'}|} - \frac{u(K') - u(K)}{|\vec y_{KK'}|}. -$$ -If the vectors $\vec y_{KK'}$ connecting $K$ with its neighbors span + \frac{{\mathbf y}_{KK'}}{|{\mathbf y}_{KK'}|} + \frac{u(K') - u(K)}{|{\mathbf y}_{KK'}|}. +@f] +If the vectors ${\mathbf y}_{KK'}$ connecting $K$ with its neighbors span the whole space (i.e. roughly: $K$ has neighbors in all directions), then the term in parentheses in the left hand side expression forms a regular matrix, which we can invert to obtain an approximation of the gradient of $u$ on $K$: -$$ +@f[ \nabla u \approx Y^{-1} \left( \sum_{K'} - \frac{\vec y_{KK'}}{|\vec y_{KK'}|} - \frac{u(K') - u(K)}{|\vec y_{KK'}|} + \frac{{\mathbf y}_{KK'}}{|{\mathbf y}_{KK'}|} + \frac{u(K') - u(K)}{|{\mathbf y}_{KK'}|} \right). -$$ +@f] We will denote the approximation on the right hand side by $\nabla_h u(K)$, and we will use the following quantity as refinement criterion: -$$ +@f[ \eta_K = h^{1+d/2} |\nabla_h u_h(K)|, -$$ +@f] which is inspired by the following (not rigorous) argument: -\begin{eqnarray*} +@f{eqnarray*} \|u-u_h\|^2_{L_2} &\le& C h^2 \|\nabla u\|^2_{L_2} @@ -291,6 +283,4 @@ which is inspired by the following (not rigorous) argument: C \sum_K h_K^{2+d} |\nabla_h u_h(K)|^2 -\end{eqnarray*} - -\end{document} +@f} diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.html b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.html deleted file mode 100644 index be47bc32da..0000000000 --- a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro.html +++ /dev/null @@ -1,624 +0,0 @@ - -

Introduction

- -

-In this example, our aims are the following: -

While the second aim is difficult to describe in general terms without -reference to the code, we will discuss the other two aims in the -following. The use of multiple threads will then be detailed at the -relevant places within the program. Furthermore, there exists a report on this -subject, which is also available online from the ``Documentation'' section of -the deal.II homepage. - -

- -

-Discretizing the advection equation. -

-In the present example program, we shall numerically approximate the -solution of the advection equation -

-
- - - -\begin{displaymath}\beta \cdot \nabla u = f,
-\end{displaymath} -
-
-

-where $\beta$ -is a vector field that describes advection direction and -speed (which may be dependent on the space variables), f is a source -function, and u is the solution. The physical process that this -equation describes is that of a given flow field $\beta$, -with which -another substance is transported, the density or concentration of -which is given by u. The equation does not contain diffusion of this -second species within its carrier substance, but there are source -terms. - -

-It is obvious that at the inflow, the above equation needs to be -augmented by boundary conditions: -

-
- - - -\begin{displaymath}u = g \qquad\qquad \text{on $\partial\Omega_-$},
-\end{displaymath} -
-
-

-where - -$\partial\Omega_-$ -describes the inflow portion of the boundary and is -formally defined by -

-
- - - -\begin{displaymath}\partial\Omega_-
-=
-\{\vec x\in \partial\Omega: \beta\cdot\vec n(\vec x) < 0\},
-\end{displaymath} -
-
-

-and - -$\vec n(\vec x)$ -being the outward normal to the domain at point - - -$\vec x\in\partial\Omega$. -This definition is quite intuitive, since -as $\vec n$ -points outward, the scalar product with $\beta$ -can only -be negative if the transport direction $\beta$ -points inward, i.e. at -the inflow boundary. The mathematical theory states that we must not -pose any boundary condition on the outflow part of the boundary. - -

-As it is stated, the transport equation is not stably solvable using -the standard finite element method, however. The problem is that -solutions to this equation possess only insufficient regularity -orthogonal to the transport direction: while they are smooth parallel -to $\beta$, -they may be discontinuous perpendicular to this -direction. These discontinuities lead to numerical instabilities that -make a stable solution by a straight-forward discretization -impossible. We will thus use the streamline diffusion stabilized -formulation, in which we test the equation with test functions - -$v +
-\delta \beta\cdot\nabla v$ -instead of v, where $\delta$ -is a -parameter that is chosen in the range of the (local) mesh width h; -good results are usually obtained by setting - -$\delta=0.1h$. -Note that -the modification in the test function vanishes as the mesh size tends -to zero. We will not discuss reasons, pros, and cons of the streamline -diffusion method, but rather use it ``as is'', and refer the -interested reader to the sufficiently available literature; every -recent good book on finite elements should have a discussion of that -topic. - -

-Using the test functions as defined above, the weak formulation of -our stabilized problem reads: find a discrete function uh such that -for all discrete test functions vh there holds -

-
- - - -\begin{displaymath}(\beta \cdot \nabla u_h, v_h + \delta \beta\cdot\nabla v_h)_\...
-...v_h)_\Omega
--
-(\beta\cdot \vec n g, v_h)_{\partial\Omega_-}.
-\end{displaymath} -
-
-

-Note that we have included the inflow boundary values into the weak -form, and that the respective terms to the left hand side operator are -positive definite due to the fact that - -$\beta\cdot\vec n<0$ -on the -inflow boundary. One would think that this leads to a system matrix -to be inverted of the form -

-
- - - -\begin{displaymath}a_{ij} =
-(\beta \cdot \nabla \varphi_i,
-\varphi_j + \delta ...
-...
-(\beta\cdot \vec n \varphi_i, \varphi_j)_{\partial\Omega_-},
-\end{displaymath} -
-
-

-with basis functions - -$\varphi_i,\varphi_j$. -However, this is a -pitfall that happens to every numerical analyst at least once -(including the author): we have here expanded the solution - - -$u_h = u_i \varphi_i$, -but if we do so, we will have to solve the -problem -

-
- - - -\begin{displaymath}\vec u^T A = \vec f^T,
-\end{displaymath} -
-
-

-where - -$\vec 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 -formulation to -

-
- - - -\begin{displaymath}(v_h + \delta \beta\cdot\nabla v_h, \beta \cdot \nabla u_h)_\...
-...h, f)_\Omega
--
-(\beta\cdot \vec n v_h, g)_{\partial\Omega_-}
-\end{displaymath} -
-
-

-and then to obtain -

-
- - - -\begin{displaymath}a_{ij} =
-(\varphi_i + \delta \beta \cdot \nabla \varphi_i,
-...
-...
-(\beta\cdot \vec n \varphi_i, \varphi_j)_{\partial\Omega_-},
-\end{displaymath} -
-
-

-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 -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 -it. - -

-Regarding the exact form of the problem which we will solve, we use -the following domain and functions (in d=2 space dimensions): -

-
-\begin{eqnarray*}\Omega &=& [-1,1]^d \\
-\beta(\vec x)
-&=&
-\left(
-\begin{ar...
-... &=&
-e^{5(1-\vert\vec x\vert^2)} \sin(16\pi\vert\vec x\vert^2).
-\end{eqnarray*} -

-
For d>2, we extend $\beta$ -and $\vec x_0$ -by the same as the last -component. Regarding these functions, we have the following -annotations: - -

- -

-A simple refinement criterion. -

-In all previous examples with adaptive refinement, we have used an -error estimator first developed by Kelly et al., which assigns to each -cell K the following indicator: -

-
- - - -\begin{displaymath}\eta_K =
-\left(
-\frac {h_K}{12}
-\int_{\partial K}
-[\partial_n u_h]^2 \; d\sigma
-\right)^{1/2},
-\end{displaymath} -
-
-

-where - -$[\partial n u_h]$ -denotes the jump of the normal derivatives -across a face - -$\gamma\subset\partial K$ -of the cell K. It can be -shown that this error indicator uses a discrete analogue of the second -derivatives, weighted by a power of the cell size that is adjusted to -the linear elements assumed to be in use here: -

-
- - - -\begin{displaymath}\eta_K \approx
-C h \Vert \nabla^2 u \Vert _K,
-\end{displaymath} -
-
-

-which itself is related to the error size in the energy norm. - -

-The problem with this error indicator in the present case is that it -assumes that the exact solution possesses second derivatives. This is -already questionable for solutions to Laplace's problem in some cases, -although there most problems allow solutions in H2. If solutions -are only in H1, then the second derivatives would be singular in -some parts (of lower dimension) of the domain and the error indicators -would not reduce there under mesh refinement. Thus, the algorithm -would continuously refine the cells around these parts, i.e. would -refine into points or lines (in 2d). - -

-However, for the present case, solutions are usually not even in H1(and this missing regularity is not the exceptional case as for -Laplace's equation), so the error indicator described above is not -really applicable. We will thus develop an indicator that is based on -a discrete approximation of the gradient. Although the gradient often -does not exist, this is the only criterion available to us, at least -as long as we use continuous elements as in the present -example. To start with, we note that given two cells K, K' of -which the centers are connected by the vector - -$\vec y_{KK'}$, -we can -approximate the directional derivative of a function u as follows: -

-
- - - -\begin{displaymath}\frac{\vec y_{KK'}^T}{\vert\vec y_{KK'}\vert} \nabla u
-\approx
-\frac{u(K') - u(K)}{\vert\vec y_{KK'}\vert},
-\end{displaymath} -
-
-

-where u(K) and u(K') denote u evaluated at the centers of the -respective cells. We now multiply the above approximation by - - -$\vec y_{KK'}/\vert\vec y_{KK'}\vert$ -and sum over all neighbors K' of K: -

-
- - - -\begin{displaymath}\underbrace{
-\left(\sum_{K'} \frac{\vec y_{KK'} \vec y_{KK'}...
-...ec y_{KK'}\vert}
-\frac{u(K') - u(K)}{\vert\vec y_{KK'}\vert}.
-\end{displaymath} -
-
-

-If the vectors - -$\vec y_{KK'}$ -connecting K with its neighbors span -the whole space (i.e. roughly: K has neighbors in all directions), -then the term in parentheses in the left hand side expression forms a -regular matrix, which we can invert to obtain an approximation of the -gradient of u on K: -

-
- - - -\begin{displaymath}\nabla u
-\approx
-Y^{-1}
-\left(
-\sum_{K'}
-\frac{\vec y_{K...
-...}\vert}
-\frac{u(K') - u(K)}{\vert\vec y_{KK'}\vert}
-\right).
-\end{displaymath} -
-
-

-We will denote the approximation on the right hand side by - - -$\nabla_h u(K)$, -and we will use the following quantity as refinement -criterion: -

-
- - - -\begin{displaymath}\eta_K = h^{1+d/2} \vert\nabla_h u_h(K)\vert,
-\end{displaymath} -
-
-

-which is inspired by the following (not rigorous) argument: -

-
-\begin{eqnarray*}\Vert u-u_h\Vert^2_{L_2}
-&\le&
-C h^2 \Vert\nabla u\Vert^2_{L...
-...\\
-&\approx&
-C
-\sum_K
-h_K^{2+d} \vert\nabla_h u_h(K)\vert^2
-\end{eqnarray*} -

-
-

diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img1.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img1.gif deleted file mode 100644 index dd705d2187f4a9084bc8eadf0b33965e62c2ef36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 383 zcmV-_0f7ETNk%w1VNL)Y0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui08RiM06+x(5Xniay*TU5=@|*bI6;RH zKtdS@l`M)>sHXNliBTm(?f(YAQJ$| z84W23*4LWEmpB#!r3f!34G)DA4a961F~0;3yc-Rh5`+^4X#f%n40v^QcNMfS5V&)S zf`SL{COCK?p+UJgkq`(V( zlu-Q1!pOkD#-Ib@gUoPX(YbKKbG4*`=bE+i*%j1o{HQ(3B*U?Y!R2V~&CL4;4Op({ SO>Oe-H4-jUJDSA8U=09(-6U)P diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img11.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img11.gif deleted file mode 100644 index a631c6f324b134b1c3ba842c9db0fdab0e0dd2f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435 zcmV;k0Zjf!Nk%w1VNw7c0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui08#)Q06+x(5Xniay*TU5Z(0f>JVr(& z+n_wobPNf@I6)^706H1R^o666%@QCC5sATZ$!t2G(5Pf_XaJ0o!or{kaRz{}cnlD3 zaJ7IAbIK$d5&@u=z#;uDq69DBKR@C&hiH;ft5Ag#%p|Lg^JeV{A z&ZRy8?l|yw0pEoI4hCQv|83eN|tk5{Y!8!yD2vRzkasq*$zSvYlV4wvOfD2AOZQ^r*Py|Oq*%?Ky(b5|P dCWQoJ$rV4e}8jxb9s4rc6N4reEgG`r?aYNA4$tERyR{725SILAS^fl diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img13.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img13.gif deleted file mode 100644 index 6179400543d2d21e3561c328151d7cc9fe5cf83e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmZ?wbhEHbv}53Bc+3C-%a<>oJ$rV4e}8jxb9s4rc6N4reEga3m( z+Z%3;-hzX=cRCZ>88e*=wRCLs4Lya~{W+Kz%0<(o8pW8{*(TccrA?nSXRa7GJ8$be zR&Fj^aVARFWx%j*0YU?f*trX(sUB>pA_O3-NNYnr`OEV`Y^)#h=M3VdF5VSzK0T Ky?_e?gEas{Mqa4^ diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img14.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img14.gif deleted file mode 100644 index 866666d49c1b222726fb845189c23e2e95787a61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2105 zcmV-92*&qENk%w1VMYQS0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui07e2G06+x(5Xniay*TU5yZ>M)j$~<` zXsWJk>%MR-&vb3yc&_h!@Bg#}qoP0z2n2`V({KbPjHje%AY^YX5z;W1i zJA{O0;22m7lHxJBWICZz@O4~0UlM9!1_}uZ22vzK7IH{RXaE2M2m}B_dRSUqUK*Et zW}6j&6a|C}PXU94hadqAuCK756N-yk7oB9EXn`1PZUAryjC3GPh*48jd%2o_fvALr zh>5mwMvZkFl#!E_5&;cr0RXb2%3@^A7NQfR38sS4s~`(-MLTr?lF1$U`z!Zw_@gkO z+KYPDZVcqdVWAO&lL&N}gM`4e69@$WAXI@$zi?QK zlyI^Fl8F_OTm-_ir_Y~2g9;r=wCE&*19)-U&;S6Sr%xUD43I6u0|^poDh-*TDO9LZ zMHq@f0AkV!OO3`U2c+x;1_>VUVnLO|)k!9|cJTTYP}mS-$s*MYH1LZ84JaU#@J@t- z2k>l$%_2Zef(BHtFpiA%Zi1|rGi#e$!9du?2o@ti9pW+P&Wt67)@Wftpa!5!n?PJa zHEV6&x@k#*sq$*fv^P&9;2AV>%@b@-a1e}vRNNDE$KYN1u5t>@V>5m}I)ir9z88#e zeKGuM=b{zg&i$7JcPznHtA8{+IQ9V#l>VV#d(9meUv#`sCxLYcU?+ig8oaZUS`=1j z;e{AxsNsejcIe@UAciR7h$NP1;)y7xs3JgBVa3&oVj$7tBrnzwz-urlFe8l?-Z&vo zI$9t=Ry+hCqXh)iNP~|x1Zk6!J}?=BMpX?Upne`S@W4fh`IH6+1w8PNm9y-(*OnD@ zIf9rkP+0+)n>BRgkvy>3lbbdH@M8*JeqpB(SN_HnniQxh!k;bRNmHO^W-ufHOVB9; zqAbvYl`L=(@xYDOF^d5@_HAj+N#U#u`m; zuHXeX?WbBC0Nn-bb{nv^2825a4f!`s=XAF8l1X z*KYgmxC^D)6eKI4(gg!RBK+`>uvOFo2Q)=w0lohYJn_&QpEE=)?9Tfj&JX2QP}Upa z00Y_AfV}eUG(Qpa#7n<3_0zH-@T4;cFJH6b@Fr z5z9;F;*))p<$I9H%aFCf45MReIXMv^lW!JL>dQ-~&wC<&XhG@hjd@Jud5a{|-!0J_*Itj1}; z005{$uKpE|;mqnqSAUd5gq_zR8O+jmG z?WvgFI&-w7eQbF&%LOUCmav5lt#6?l+zOypO~^gLas%sGh0eCNLtsM|02W!d5p=ZO zrND5ZlZ)df7Yn;`31g@V1LCyPFizT8SiqM?7IE9diA_pcc zV->IiyK!Lgf&dH(4vX!>kO*;(uaT1((a>^!na>#&yWsE7H%Q(>T j5nc?0D%C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui06+j806+x&5Xniay*TSF&qxg81f1aj z$+9#+u@%fBU7Ps;jJN1f;D+b`k)vu{#X`0Szt{0|z^P8v+CbGsUJD1Pctd5(RRN z&PxNu4#^goJ%&bz&Qgqpj#~zQ2^9(tiiF$~1q}&s8Z|fL2n)RkDL?F&8wL#$We6o9 iK?4c}4g^4UYZ(Rs2MoxQFzJ@Xix@L%+{p1(1OPj-)NF(R diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img16.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img16.gif deleted file mode 100644 index b2ba9ddb7437ea472075925d3f2e23e31aaa8f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmV-^1%diUNk%w1VP63q0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0AB$e06+x(5Xniay*TU5yZ>M)j$~<` zXsWJk>%MR-&vacp0+ImKKum#yCBP^ej|NMEQBfd#1V`@Ea0Didt0XZ^EC>hY^Oxan zzhR&-Lr7=_jzIxXm^h(Qsuio%b%BTG$VQBxcQ0009BmSSc) zfD%3$onBypgA|1m1&Rw-h>DDkCILAD0g5XNbxtz|4i~f(1#1+(7Ph!8yfMbdw}zmB zFuDlKF3lCe62lkR6Ufj{(wbx&Pz30X+%@d&?(gvN^7APK;{(u`9Ss15{{Fw{38IwY zfrN5T@@3k<@87?GBN)Z7R{`GyeF8y9gmHj}4j%qa5*WbYCz*)?4Jc4MGs3}xRuvi~ zuxKxdNRnq9$)w33Ny%^)+GJ?vWx`5NB3#0xu+vS=30zD{SYW7uPXyjXpj26hrH4%i z0f=d;si%&Se`Jw;`m+L62@bk4_+@oMRt#QbW!%fRuiw9b0}CEZxUk{Fh!ZPb%vgg0 zf(I8iCJ_J~@ES2#%sN}<%^-h)`006-O#EN=o@IWnJp&M>|Mh$hr>eew&Jovn# z^y$>LIS8;!?sB``Fy@eXKnwC~HCuaF(V_6g#rklz5w5~b1zA^uQ+L;f_kg*4Go5TAUIfu)I932mWYc^BmO zohV`;GQa=<0N~#@9)eI=Et2(QNNFl8;L|Xb5n$X0o6&bbfF=qPAOa4|c#KDER98Vd zsvOYbiyg#BL5?>ffMO2@2{>RT0whpCS0t#ojgZ8#fMf+VZjX&lT^9j_(85d*D!{s=;BV#>-;00Rmvz-kKwq(s31_!P0nSGw9oi~y+t z@W7kLlzZ+6zhW?e0uMlh0JlrbmFJJ)N?^da>Y_VUuP0<%0lnVdYnKE4EU*ASU6Biw zx&Bh%@D>mQ3or@~7*Z`NRKAPCbAkjX!GfrKTY<6qh7+6sA_pfWu%xw&A9yXIbASTq zWI2HYK8359ff!P zM%7&{*gpcCfVQP+k$~U+A%0+h;DqDH_*7Ha4R$JU|A)~d(p(Ni=9NJBAQR#>J~xrE zgMP^4gq%p#lDOX8E MlFFkV0TTfLJAhVI>Hq)$ diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img17.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img17.gif deleted file mode 100644 index 6962b2cf512e9c9dad5d82e635c5985d50354583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmV+v0qg!pNk%w1VJiR}0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui04o3-06+x65Xniay*Q&JWLm_*NCTm9 z9w<)1aT(4PbW`D0uq6aaqW!?2a7dIi5(6KBVb~ZRw9O(wIVKUy=0?yfdcWYXxOm-4 zxWO_Cfd)DbCJNJ6i&NhAi2yJrmZ*J!f`f#GhKFZ28vqY^8Ul(5jE)uyXOE3{e)QnH@X}oD~8L0Jjgb2nHjk0C}~yjJguJ7kd{D3d9PmYC2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui07w8F06+x(5Xniay*TTQ%PD}gFjB!7 zS-`Api&7palF~p(iGVM}LED^(4iOjxkC(tuVsIpv$f$Hmty-@HCt@T>AQBB_=qkz1 zx(UN$*hmb#gwt0ICEM@#ynfHO1ONpH0suEe0CiV?frEt3pmyk1ONdD2O%g054}k(>T(s|;o}Gf0SXM4oudl^^Ys=24+r!bC2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui080QH06+x(5Xniay*TU5uV@3}BnYu| zX!?a?c~%6#Nb!scwtNLl@BaoEfRrj4k4Q@4kZd}ilh%d-AV3Fz695pBNHH}@LdQ7- zC*!~~M(iXOYN&ipuiFI@!$T6lV+wI{16BxrdVGEp0t5sh0gPPPSITQv!|I@uQ+ZA=yyykfCtPLJJxH#`#%bufaegW3~W5!4B84ItpgJ Jq!T9s06Qe0gUoJ$rV4fB&XUn`~@s3=9lZR8$myvM@3*urTO=RDjev pFw1-F+QV$H&2x1r+pG(IEJsztnjI%zof4FGk)8N2`h diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img20.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img20.gif deleted file mode 100644 index 2a086f0644b554bf0db981c968a40bb1487c0d4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 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 I0}%iKJISA!@&Et; diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img22.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img22.gif deleted file mode 100644 index 4ceb4b342dbbd59ee1a4cfff9e16a8f4a2c57d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1399 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 diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img26.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img26.gif deleted file mode 100644 index d0d05bcfc459ca95da8d295cb8b3315b55a833fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1306 zcmV+#1?BojNk%w1Vch^R0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0NnsF06+x(5Xniay*TU5yZ>M)j$~sCd=5lnRyQZPu3{H_9k0W$#X5RSuykZ4MpLyrRRt6D1z#dW)3)VP-ez$ao- z1crkkL2c0x1%Mo&+$28)0Kqy4@W^)v2@Wr8ejRHzSvVd5ge7JYF^m!lN(BuCM+gA~ z0tf@22mqf8P7-e&ou2}m1bZ56KLxO089|#FUKI&Z38EQd6afYUeQgL2G6xBVw$Bv` z4barp*4NnC+S}Y*l-(Oaz!XK}E(Q;9b>PqmUl#7ltSS?6bL-$i-{hnc3<>lQ7yytZ zT?jU{KoD^74o-r7ClWNMq2tewT~_q@(;`6`0%rcsR$!!-r(p;)aVQNmHw*xdAg}`T ztB`6#99SOX92$rr4;gkQ7EJ3f5&?lj3jl<~kQ8XQA_<+YQ1G)wfCmRMQ8@60z=K19 z21#WRph48JXw#})%eE~yfF=w z6jc{B7dO^`?t`!@1`M#-QNSRRQ&21f@It*h1H%-GLSrzqj1P22^5mwFI1b-01+H7D zY4gFS*#nfNzkAlF6?YQKNf=o0hi7X^Vg9F^QA$bjRWEuVz`!~SotKD20R%w-d%?6J zizPz|@IWpTCYTvx9WHf+Ob}r(5@1Jg*FhYYDU=#H6L5%uD8m``*+n;!kk~es5%pOX zs*FJ%RUjJGgb&fh=0O7-DanC`GENZB1OI?BhaBUul z^9q_I5KtnUaKb`&t=2dXT@5oN0r zz!Xl4YVj27Be+lyT7Im7FwtOr{{H!c7?rZ=5eBbH;6MU(@u`PkA;bYIT8AdO!UJc< zIS`|uOwfrl|6K)a1`QPG9R&**z(kfNus3P6^*CUJ2eZwYz?dJb0e}LZOfhN)MdS$S zZbfRwLMnTjs=8D9N%AvIJKaZS>I^$b`(i$uyY{k z2u$2!Fr9VPeLM6PV!W8K42Db)*lMOo1WX=&2s1=;EKhi~AZ-*efO0C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui05AX_06+x(5Xniay*OKvs4$0+09uI= zOvOz_QdmPU4Z{==0y5+XkS~dj1Z653jRZ%E IR1*OJJG=aO&Hw-a diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img28.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img28.gif deleted file mode 100644 index 5522e327963a809e8c8a051c0bcc160462d15e23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmV-a0jvH;Nk%w1VLAXE0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui06G9206+x(5Xniay*O)29AE(=7?$7+ z+hjBa!7Kn}0L0J`DH1Sw@BhG{aJX3*2#H2z@c=j!k^;afz$7sTQYrxmNg4}^v@mff ziRiR?&2GCVhXrH)x)>JTgrj0sB`yk8Iv`LM3xX*Rg$M)y2NVttj|>l98wrRO0}ck6 z7YhnV4=54_lpiQ7PJbB!o^P}cawm$|Af(on?3NaG{3^+rZ2d@_+%Ul!z z0Dl3w7y}Op2MvFL76*?x2BQ*fGg_Cy6#@<9QE23) mKqU&pC>)@XVvmMubm&~brE3k6T^KWJ+{m$`#~%U_00291+-wd2 diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img29.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img29.gif deleted file mode 100644 index c2dd7a21d3634c6390ede8652aec150c87108335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 674 zcmV;T0$u$_Nk%w1VSNA`0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0DS-)06+x(5Xniay*TU5yZ>M)j-#*; z$3u{xVI;tS6putCxP%*)ISCC0?h&8_01S?UQ54#e20tpiV3=Rnk4HgPjr3#c14?GB{C}d(64iA!Vj|g9*PjM5T44@XNY<|D+mG076Z8+lM)T28{EXxMh6TBoIkV^YT^_Lft{fgmQzF(t1|%og>T(L2mmne z*n|h94kXYX|Ac$r%=3f8+RC2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui08IcJ06+x(5Xniay*TU5yZ>M~Dab$& zj_@^3FflGt90edPj1@3^?;9CKu0j$Sj}`$yk*Lg&(CBB-lmG^t1|Y%havjnRBk`!- z3X{Y_7i|&^d;tJxN{M}`7Bc}SqDF5Qu_^dFX$`S<&1`0(Q z0|3<3)&QKq0}c$)FEOaP7&V><2IYmW76(*3EgqM428oJ$rV4e}8jxb9s4rc6N4reEgb2|5f(+IGh2>av diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img31.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img31.gif deleted file mode 100644 index ac0fdb8a44ac9dfb76fb17294aa6a910261f3a58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1277 zcmVC2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0K@<;06+x(5Xniay*TU5yZ>M)jwB*T z#v=u1>Av4mRLcW6ic|o%kT??p1E!JDY&adyArOX;iHc$&87v4=D#D6I6oABV5D-8d z00;vjF|6!n5=VoRh>{3oGg{5IyeD!Obz+1R4Gv`z42cB?I}!_R6arc%4GeV;iG`e< zAp~{<1fwUS1e-*lo~s(FTcZS}qo^>hVvQ260tXTgEfbLl0S~-1L&L=vwyexScDud5 zkjKOp!N?iQ&D-4F-rYYpd;kptYYYGhUEiGv3prkP1alS!00aXK>$&DMb|dcK6_7`- zf<1itFf90&VZprw@F-lXW=t4G4-L}Q*;oe*I|BZdN+?j%3FL^8*%&s{M!~^@1+)l& ziR7a~%@qtBxGTtsB`cpU+?82ouYmwf6sAMl3H%=OiKdj4i6$q5O8nd1==80BD#C@ zfC2^$7M!5H$v|fS49pqGXcxnSej|GS4n7=kn&ZjSFjx7!gD49=04O-20D$n>3B;2( zFKt5u&l7ld2ylSG0ciptdkDaw{f7VwwEjj2fBt0vpn!L|BtZkH{51n^w>hL$70E<) z7FZ>zM1z0<#Ii+!QeoJWhAg)KXPA=8K!ih$w`xeOMDh%RVzhIJ;?Mj~#uwX_M1 zEmmM752*0CqmFz1NaBok*u%gglcYBu0_B}&f|To7DddttV&ICCP)-oulvTDcW|jp4 z+2xvSw&~`ZX&t~(9s0p(r&*2&bI+A`elX<+J75t2Ow9Z_AE9Bq)+Yx}SWq4X12E9V zW)q-PQfif=5tyWv)_H*`9-5K}ZO|>c0d4;M6-59Ez#)Ne7Iaq#surj!Osf~jx4D^JEwu?DhdmgIzifa=dJhNeD58kJ&ve^M;T|NVL=1x9H3Jo z2^1_gi`{@_kA~6#r{xN+b`Q`vf~hPmhMF<#33}&`zvVfToJ{FTI1Y@%*5{{pxjJL5 zuR)I8FN{84RDhiO*tV`Epcg3F3NOs?u~W?uV~!zTyz|@|?=9~cRse)I&bLZ1r;OGYTd{TH*H=vJ_j$?qA^K$nsM_zXz^x2q@UsmZA~O nHAYLHsRH;A0t(G&4@}8a{_&lkBoBNP+*l$0SGo>bC;|XGsbCtb diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img32.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img32.gif deleted file mode 100644 index 81be96ee2bbd1c35bc49ace03637793c7a1ee03b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 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 diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img35.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img35.gif deleted file mode 100644 index 4c6632ea23e0fca718bfba22d1b02a7c30122dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 415 zcmV;Q0bu?|Nk%w1VLbpJ0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui06hR706+x(5Xniay*O*#UZ~Bc34l-q zK!OBGaXrJfd{v1oi7EwzIhd1$L1Y;`h{&XJ$;>E#qQGq9I3gOfosEKWkqDCnqe9Xd z07Hwo$!@#f@VGqFNagN1N1HINC;$`#3}6xpX%`I+SqxbP42K8>2L*sPeF$q631|x` z7&#hMQxpkUBohRBmI68jAryZU2LOZ=I88tSF-Qw8NrH31!o$SH#>dFU0|3m;&S-7D zwhsUf3KEpn0(=;hIur)qOhOh8uL$841F9ATo)ZQK8wm^7k>3R8@U#OBwH3E6c$1Kh z!Xt13>Pc`QPeLXN4j3X};NikU3uh*Yi}Zk=Jp@heKFmVr@Dervz7UwRxUs^SmJM9E znjql80R;>iEC51+h5?EI7{oA8$H7JzOj1c;V2B8T1x%VIn-G8jlnntCWSPpftJkk! J!_J8S06XaylfD1| diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img36.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img36.gif deleted file mode 100644 index dee4f6f8f7e1acd33c4afc867d632822a9481b91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 816 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 Q;tg4EuDShwG6#b-07+pt4gdfE diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img5.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img5.gif deleted file mode 100644 index acd0a8951bcdb844e37dcbd93c7fec24f814b21c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmVC2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0G|LH06+x(5Xniay*TU5yZ>M)j$~<` z=$I^uR3vDiERABMxHl|G!UzZhfYDnv13Z!~qbb1dM=z3^x@32NDYlYAFeP5&-}O2#pf}1Qv~X5)Fz4 z0|E~dSXGOqrl+W>s;jK6uCK5a1`C=A4hRo$6nlgn1_CS+4u>WO4|z}nu^M|5P?wYv zmKP6O2vdgz(-RFxAfN{d44h&l0}cxePs56aR2+v4TwTv3Mmc+4roK!b}^bX7;d*w&_-5>7#_~nfpAAOr-=qP23*C6HpsC_ju6P5fXBt* u0SX8#5W}Fr3l1wZ1t0)~W(otLHkK3-(#n!9=p-|UDAQEX*03`~0028U$FlVR diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img6.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img6.gif deleted file mode 100644 index a47dd019de03317902d7ba0ea9953bcf350d9ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 255 zcmZ?wbhEHbRA!K6c+3C-%a<>oJ$rV4e}8jxb9s4rc6N4reEgoGEFRYl76v0x6fN{kO}c%yzGxUs3ZCD@8pjG3j(pN)@6h)aW&p^Af%&&7|4jh)G!Sy@$G zpRG_x&6F=v#J)p!%KBC2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0NVf@06+x(5Xniay*TU5yZ>M)j$~<` zXsWJkOBv4~5kP}DPL%)!7%;$~(139yD1ipR025pehYn1JpxJObo@McHS`>%@f#C3N zXaE_FF-fo|$z_w0IARJ61r@WK&Z!Uy_golBM2n#(L1A~YTQ4KZX($Ac845%w2@L^BjS{LCGyxI?56A-w1Pfja z1qG{!#c&Nr3IJdh0u5#u$H~iK&d|iu)e;E{$Q6ujs2yuF0D}cK*xK9_3+omPG*A$( z!h=S?C|qObj+4WO5F<*QNU`EXYQrXo0kkQAf^7bZFk0A%YflP-83Hs!^b24G0R|2T z*fHQ<1sX0}EZj&S*cgr#21qJ+0j5lvHYwl)F~Cwg4g$tFkxD@T053d!j+qdH-U0?D zlU=p9XCZ}A!wigFw8|>c76ul~t1znEg$1GN=zT{?iv+b^{!MTTflAdknY11| zU9bSyZ37urHoh79*aP|_o&}K>5t#MiCP>(12{NXr6oBfA1&19yC_MM&0RxytuPXpF zwC~@*g9{%{ytwh>$dfBy&b+zv=g^}EhfN@1G6xE%Vb>%mcMIy)VPV(aO+*3M3d*1G zoFUhW^UjbwuoQ4*f*cR@O*pUw(`XO}eEtQ*TXDT}9|HMRz+Y?~Fz`+QYncFB2SPFB z(gPeFFxv$GO&}0&3@mU}QhorC6AKI7C)of4Jn#Ty0yuEm1s~=jqE)&qrNc@J)&hhB z-UZ}o+HREG$bM?(~&^wvOSEIi}jOD=YGmjOTh zLhIa@n`4e4;0Bp4hP9^!xuCQGm4CpIM{jxpz*hsP6fl4Q8|rz) zi5L7J#H9>QU_=F`Yy->_nOd;JqK!TpX&rigkN{^^($g4;f5L%X4Va;dfdQ(#RU$_; zm|@6W&Lm(a0ss`t5d+0eVt`(HVTC%vLdcq!sIenCV8Dz{20LuAt%{cH7K_2tz%+Sy zutTv7ppleS??gK(w;T-%C8KXCGmVUN`qOQ2SQeK6wz$-`i?b_?CTMUffux+SD*V8( TM?tP|p8}XgEZxP?MF0RhHyU*U diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img8.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img8.gif deleted file mode 100644 index 6eb703e886b37b2ad1c47ab245e4bd52385a7fe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmZ?wbhEHbRA!K8c+3C-%a<>oJ$rV4e}8jxb9s4rc6RorO`AeOLOeV?Y;0@{3=C9M zR3s!MczAe#iWPsdFfuT(Gw6VHg3NGW+5O>!=jy#bIGm0=oTtL@@PMFWLD0Dgv0Wd7 znvL&Q_^B$2X*6;(ZkWK+&CW6@h{2*sbZMT~+Nkxxhl-|62yJ7y9;h^zMS`LE;6-KS zeJ;s=0ulnwy=PGf4BWGvi`AStI-;$;qqD2Kt=cmjku>Qfl@b0-uk2XODt=h)A{BCH$9Wf>dF$ek<3 Q$hoWM_MN-;x&#@l0WqstsQ>@~ diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img9.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-9.data/intro/img9.gif deleted file mode 100644 index dd4b351ab9f86f26a4c7320c231564d73ede15e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmV-n0iOOxNk%w1VKo390OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui05t#|06+x(5Xniay*TUSz#GH!FqYs9 z+GI2Z!7P9PkQ4zVX|C^l@BhHd!aztgCIyG0z)@fVNy- z!Wsew(pdvD6*gzc4Sxm?(|xZg;e<9v4h|Jrx)#O{iWQ}0_6hTm?+6Al5)0jAjFS+c z0S*NK8U<=F(1MLE1>_+ZU}}Ld1_hX)36MaJoKX+B672IuvZTqAC{wEJ5di=@vch+X -- 2.39.5