From 69bd016087b9649148912eef2688feba7c4b87a2 Mon Sep 17 00:00:00 2001 From: wolf Date: Mon, 27 Mar 2006 22:54:26 +0000 Subject: [PATCH] Use doxygen to generate intro. git-svn-id: https://svn.dealii.org/trunk@12686 0785d39b-7218-0410-832d-ea1e28bc413d --- .../step-7.data/{intro.tex => intro.dox} | 70 ++-- .../step-7.data/intro.html | 310 ------------------ .../step-7.data/intro/img1.gif | Bin 90 -> 0 bytes .../step-7.data/intro/img10.gif | Bin 1201 -> 0 bytes .../step-7.data/intro/img11.gif | Bin 431 -> 0 bytes .../step-7.data/intro/img12.gif | Bin 453 -> 0 bytes .../step-7.data/intro/img13.gif | Bin 451 -> 0 bytes .../step-7.data/intro/img14.gif | Bin 233 -> 0 bytes .../step-7.data/intro/img15.gif | Bin 734 -> 0 bytes .../step-7.data/intro/img16.gif | Bin 836 -> 0 bytes .../step-7.data/intro/img17.gif | Bin 1198 -> 0 bytes .../step-7.data/intro/img18.gif | Bin 810 -> 0 bytes .../step-7.data/intro/img19.gif | Bin 389 -> 0 bytes .../step-7.data/intro/img2.gif | Bin 5293 -> 0 bytes .../step-7.data/intro/img20.gif | Bin 335 -> 0 bytes .../step-7.data/intro/img21.gif | Bin 173 -> 0 bytes .../step-7.data/intro/img22.gif | Bin 1794 -> 0 bytes .../step-7.data/intro/img3.gif | Bin 202 -> 0 bytes .../step-7.data/intro/img4.gif | Bin 987 -> 0 bytes .../step-7.data/intro/img5.gif | Bin 391 -> 0 bytes .../step-7.data/intro/img6.gif | Bin 157 -> 0 bytes .../step-7.data/intro/img7.gif | Bin 123 -> 0 bytes .../step-7.data/intro/img8.gif | Bin 435 -> 0 bytes .../step-7.data/intro/img9.gif | Bin 331 -> 0 bytes 24 files changed, 33 insertions(+), 347 deletions(-) rename deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/{intro.tex => intro.dox} (88%) delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.html delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img1.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img10.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img11.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img12.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img13.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img14.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img15.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img16.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img17.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img18.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img19.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img2.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img20.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img21.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img22.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img3.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img4.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img5.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img6.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img7.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img8.gif delete mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img9.gif diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.tex b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.dox similarity index 88% rename from deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.tex rename to deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.dox index ec8d95ea03..a928a5806f 100644 --- a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.tex +++ b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.dox @@ -1,17 +1,18 @@ -\documentclass{article} - -\begin{document} + +

Introduction

In this program, we will mainly consider two aspects: -\begin{itemize} -\item Verification of correctness of the program and generation of convergence -tables; -\item Non-homogeneous Neumann boundary conditions for the Helmholtz equation. -\end{itemize} +
    +
  1. Verification of correctness of the program and generation of convergence + tables; +
  2. Non-homogeneous Neumann boundary conditions for the Helmholtz equation. +
Besides these topics, again a variety of improvements and tricks will be shown. -\paragraph{Verification of correctness.} There has probably never been a +

Verification of correctness

+ +There has probably never been a non-trivial finite element program that worked right from the start. It is therefore necessary to find ways to verify whether a computed solution is correct or not. Usually, this is done by choosing the set-up of a simulation @@ -25,13 +26,13 @@ higher order. In this example, we will not go into the theories of systematic software verification which is a very complicated problem. Rather we will demonstrate the tools which deal.II can offer in this respect. This is basically centered -around the functionality of a single function, \texttt{integrate\_difference}. +around the functionality of a single function, integrate_difference. This function computes the difference between a given continuous function and a finite element field in various norms on each cell. At present, the supported norms are the following, where $u$ denotes the continuous function and $u_h$ the finite element field, and $K$ is an element of the triangulation: -\begin{eqnarray*} +@f{eqnarray*} {\| u-u_h \|}_{L_1(K)} &=& \int_K |u-u_h| \; dx, \\ {\| u-u_h \|}_{L_2(K)} &=& \left( \int_K |u-u_h|^2 \; dx \right)^{1/2}, @@ -42,7 +43,7 @@ triangulation: \\ {\| u-u_h \|}_{H^1(K)} &=& \left( {\| u-u_h \|}^2_{L_2(K)} +{| u-u_h |}^2_{H^1(K)} \right)^{1/2}. -\end{eqnarray*} +@f} All these norms and semi-norms can also be evaluated with weighting functions, for example in order to exclude singularities from the determination of the global error. The function also works for vector-valued functions. It should @@ -53,13 +54,13 @@ norm, where we evaluate the maximal deviation of numerical and exact solution only at the quadrature points; one should then not try to use a quadrature rule with points only at points where super-convergence might occur. -The function \texttt{integrate\_difference} evaluates the desired norm on each +The function integrate_difference evaluates the desired norm on each cell $K$ of the triangulation and returns a vector which holds these values for each cell. From the local values, we can then obtain the global error. For example, if the vector $(e_i)$ contains the local $L_2$ norms, then -$$ +@f[ E = \| {\mathbf e} \| = \left( \sum_i e_i^2 \right)^{1/2} -$$ +@f] is the global $L_2$ error. In the program, we will show how to evaluate and use these quantities, and we @@ -77,7 +78,9 @@ automatically computes convergence rates etc. In addition, we will compare different strategies for mesh refinement. -\paragraph{Non-homogeneous Neumann boundary conditions.} The second, totally +

Non-homogeneous Neumann boundary conditions

+ +The second, totally unrelated, subject of this example program is the use of non-homogeneous boundary conditions. These are included into the variational form using boundary integrals which we have to evaluate numerically when assembling the @@ -86,23 +89,23 @@ right hand side vector. Before we go into programming, let's have a brief look at the mathematical formulation. The equation which we want to solve is Helmholtz's equation ``with the nice sign'': -$$ +@f[ -\Delta u + u = f, -$$ +@f] on the square $[-1,1]^2$, augmented by boundary conditions -$$ +@f[ u = g_1 -$$ +@f] on some part $\Gamma_1$ of the boundary $\Gamma$, and -$$ +@f[ {\mathbf n}\cdot \nabla u = g_2 -$$ +@f] on the rest $\Gamma_2 = \Gamma \backslash \Gamma_1$. We choose the right hand side function $f$ such that the exact solution is -$$ +@f[ u(x) = \sum_{i=1}^3 \exp\left(-\frac{|x-x_i|^2}{\sigma^2}\right) -$$ +@f] where the centers $x_i$ of the exponentials are $x_1=(-\frac 12,\frac 12)$, $x_2=(-\frac 12,-\frac 12)$, and @@ -117,30 +120,30 @@ derivatives of the continuous solution. Using the above definitions, we can state the weak formulation of the equation, which reads: find $u\in H^1_g=\{v\in H^1: v|_{\Gamma_1}=g_1\}$ such that -$$ +@f[ {(\nabla u, \nabla v)}_\Omega + {(u,v)}_\Omega = {(f,v)}_\Omega + {(g_2,v)}_{\Gamma_2} -$$ +@f] for all test functions $v\in H^1_0=\{v\in H^1: v|_{\Gamma_1}=0\}$. The boundary term ${(g_2,v)}_{\Gamma_2}$ has appeared by integration by parts and using $\partial_n u=g$ on $\Gamma_2$ and $v=0$ on $\Gamma_1$. The cell matrices and vectors which we use to build the global matrices and right hand side vectors in the discrete formulation therefore look like this: -\begin{eqnarray*} +@f{eqnarray*} A_{ij}^K &=& \left(\nabla \varphi_i, \nabla \varphi_j\right)_K +\left(\varphi_i, \varphi_j\right)_K, \\ f_i^K &=& \left(f,\varphi_i\right)_K +\left(g_2, \varphi_i\right)_{\partial K\cap \Gamma_2}. -\end{eqnarray*} +@f} Since the generation of the domain integrals has been shown in previous examples several times, only the generation of the contour integral is of interest here. It basically works along the following lines: for domain -integrals we have the \texttt{FEValues} class that provides values and +integrals we have the FEValues class that provides values and gradients of the shape values, as well as Jacobian determinants and other information and specified quadrature points in the cell; likewise, there is a -class \texttt{FEFaceValues} that performs these tasks for integrations on +class FEFaceValues that performs these tasks for integrations on faces of cells. One provides it with a quadrature formula for a manifold with dimension one less than the dimension of the domain is, and the cell and the number of its face on which we want to perform the integration. The class will @@ -149,10 +152,3 @@ quadrature points on this face, which we can then use in the same way as for the domain integrals. The details of how this is done are shown in the following program. - -\end{document} - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: t -%%% End: diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.html b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.html deleted file mode 100644 index d29257d4fc..0000000000 --- a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.html +++ /dev/null @@ -1,310 +0,0 @@ - -

Introduction

- -

-In this program, we will mainly consider two aspects: -

Besides these topics, again a variety of improvements and tricks will be -shown. - -

- -

-Verification of correctness. -

There has probably never been a -non-trivial finite element program that worked right from the start. It is -therefore necessary to find ways to verify whether a computed solution is -correct or not. Usually, this is done by choosing the set-up of a simulation -such that we know the exact continuous solution and evaluate the difference -between continuous and computed discrete solution. If this difference -converges to zero with the right order of convergence, this is already a good -indication of correctness, although there may be other sources of error -persisting which have only a small contribution to the total error or are of -higher order. - -

-In this example, we will not go into the theories of systematic software -verification which is a very complicated problem. Rather we will demonstrate -the tools which deal.II can offer in this respect. This is basically centered -around the functionality of a single function, integrate_difference. -This function computes the difference between a given continuous function and -a finite element field in various norms on each cell. At present, the -supported norms are the following, where u denotes the continuous function -and uh the finite element field, and K is an element of the -triangulation: -

-
-\begin{eqnarray*}{\Vert u-u_h \Vert}_{L_1(K)} &=& \int_K \vert u-u_h\vert \; dx,...
-...ert}^2_{L_2(K)}
-+{\vert u-u_h \vert}^2_{H^1(K)} \right)^{1/2}.
-\end{eqnarray*} -

-
All these norms and semi-norms can also be evaluated with weighting functions, -for example in order to exclude singularities from the determination of the -global error. The function also works for vector-valued functions. It should -be noted that all these quantities are evaluated using quadrature formulas; -the choice of the right quadrature formula is therefore crucial to the -accurate evaluation of the error. This holds in particular for the $L_\infty$norm, where we evaluate the maximal deviation of numerical and exact solution -only at the quadrature points; one should then not try to use a quadrature -rule with points only at points where super-convergence might occur. - -

-The function integrate_difference evaluates the desired norm on each -cell K of the triangulation and returns a vector which holds these -values for each cell. From the local values, we can then obtain the global error. For -example, if the vector (ei) contains the local L2 norms, then -

-
- - - -\begin{displaymath}E = \Vert {\mathbf e} \Vert = \left( \sum_i e_i^2 \right)^{1/2}
-\end{displaymath} -
-
-

-is the global L2 error. - -

-In the program, we will show how to evaluate and use these quantities, and we -will monitor their values under mesh refinement. Of course, we have to choose -the problem at hand such that we can explicitly state the solution and its -derivatives, but since we want to evaluate the correctness of the program, -this is only reasonable. If we know that the program produces the correct -solution for one (or, if one wants to be really sure: many) specifically -chosen right hand sides, we can be rather confident that it will also compute -the correct solution for problems where we don't know the exact values. - -

-In addition to simply computing these quantities, we will show how to generate -nicely formatted tables from the data generated by this program that -automatically computes convergence rates etc. In addition, we will compare -different strategies for mesh refinement. - -

- -

-Non-homogeneous Neumann boundary conditions. -

The second, totally -unrelated, subject of this example program is the use of non-homogeneous -boundary conditions. These are included into the variational form using -boundary integrals which we have to evaluate numerically when assembling the -right hand side vector. - -

-Before we go into programming, let's have a brief look at the mathematical -formulation. The equation which we want to solve is Helmholtz's equation -``with the nice sign'': -

-
- - - -\begin{displaymath}-\Delta u + u = f,
-\end{displaymath} -
-
-

-on the square [-1,1]2, augmented by boundary conditions -

-
- - - -u = g1 -
-
-

-on some part $\Gamma_1$ -of the boundary $\Gamma$, -and -

-
- - - -\begin{displaymath}{\mathbf n}\cdot \nabla u = g_2
-\end{displaymath} -
-
-

-on the rest - -$\Gamma_2 = \Gamma \backslash \Gamma_1$. - -

-We choose the right hand side function f such that the exact solution is -

-
- - - -\begin{displaymath}u(x) = \sum_{i=1}^3 \exp\left(-\frac{\vert x-x_i\vert^2}{\sigma^2}\right)
-\end{displaymath} -
-
-

-where the centers xi of the exponentials are - - -$x_1=(-\frac 12,\frac 12)$, - - -$x_2=(-\frac 12,-\frac 12)$, -and - - -$x_3=(\frac 12,-\frac 12)$. -The half width is set to - -$\sigma=\frac 13$. - -

-We further choose - -$\Gamma_1=\Gamma \cap\{\{x=1\} \cup \{y=1\}\}$, -and there -set g1 such that it resembles the exact values of u. Likewise, we choose -g2 on the remaining portion of the boundary to be the exact normal -derivatives of the continuous solution. - -

-Using the above definitions, we can state the weak formulation of the -equation, which reads: find - -$u\in H^1_g=\{v\in H^1: v\vert _{\Gamma_1}=g_1\}$ -such -that -

-
- - - -\begin{displaymath}{(\nabla u, \nabla v)}_\Omega + {(u,v)}_\Omega
-=
-{(f,v)}_\Omega + {(g_2,v)}_{\Gamma_2}
-\end{displaymath} -
-
-

-for all test functions - -$v\in H^1_0=\{v\in H^1: v\vert _{\Gamma_1}=0\}$. -The -boundary term - -${(g_2,v)}_{\Gamma_2}$ -has appeared by integration by parts and -using - -$\partial_n u=g$ -on $\Gamma_2$ -and v=0 on $\Gamma_1$. -The cell -matrices and vectors which we use to build the global matrices and right hand -side vectors in the discrete formulation therefore look like this: -

-
-\begin{eqnarray*}A_{ij}^K &=& \left(\nabla \varphi_i, \nabla \varphi_j\right)_K
-...
-...ight)_K
-+\left(g_2, \varphi_i\right)_{\partial K\cap \Gamma_2}.
-\end{eqnarray*} -

-
Since the generation of the domain integrals has been shown in previous -examples several times, only the generation of the contour integral is of -interest here. It basically works along the following lines: for domain -integrals we have the FEValues class that provides values and -gradients of the shape values, as well as Jacobian determinants and other -information and specified quadrature points in the cell; likewise, there is a -class FEFaceValues that performs these tasks for integrations on -faces of cells. One provides it with a quadrature formula for a manifold with -dimension one less than the dimension of the domain is, and the cell and the -number of its face on which we want to perform the integration. The class will -then compute the values, gradients, normal vectors, weights, etc. at the -quadrature points on this face, which we can then use in the same way as for -the domain integrals. The details of how this is done are shown in the -following program. diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img1.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img1.gif deleted file mode 100644 index 4525a58002b4f70375555753e5a0117721126cc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmZ?wbhEHboJ$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-7.data/intro/img10.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img10.gif deleted file mode 100644 index 955869a70c74992c74ec557d64d580b96b7d7b23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1201 zcmV;i1Wx-$Nk%w1VaNbD0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0LTD106+x(5Xniay*TU5yZ>M)j$~Ar9*&vY#@$w=ggpeT()!Z9fMfI^~WCn@9vyvoDiAuv1&DvSXD9Bd#1tHcCb z7zSS1lK@Bv4#|Q6MHCtnF@mA!^(hNcFaZr(9syGl133W<0RsS9LjgB7JH$tcy>&w*n|0yi^Q` zxxf&CA_BZ;oT0#|T)kAUyr(*gBscpofc}EtP4SGD8^%#l6CW01FUszylIRSl$2*q%oZ{3!LQQgiH;FB(y2@|t{M}SO1WB)Pe%*< zp(O#j9TCJ30|p{P8x?{u08%*gR8Rr}+$#oB3Pg3}4btY=T_@#!1dg4EDK>$fFW_bB zztFJI3z|IvP)tX{h#^^D%@y_w1*n89^2j8YEb;~CC9BW4R4`m8JQXA~nWGMMP~ZpL zQb1(`MnT64og5>XGF}Jd!m|pGxpLZQrA=_^3k}GonFFg0G(=t*HM)ocDJ_sfuK_DV zrIlEI0+~6)UT`rC??4=b%NDfZ_A*N%K=Hf%9oX~*xXdj=M%rFrfYh4#vH^0uIwNP@ zG6c<208x2dSQ?~YCW_Z$%VZQH16UGZC^<7g^5HYQNN&0>eh=b>F|4@4P9{;`*>Hlx z6e$5-fdi!*R)lqsxDB`)^Va2rm-nJF3cP6{A*1uO8jz)X985EuTIe}hXgr~*%*lo= PJCehFFaG#7MgRaijrri9 diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img11.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img11.gif deleted file mode 100644 index 2f2f027320c5fb8ed63329c8e06031079affef47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 431 zcmV;g0Z{%&Nk%w1VO;C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui09^ng06+x(5Xniay*TU5yZ_!|fD^%d zrZqU$;UtN3FhY5fmjDE$un>m_VX^=WDL$aE@)+Qr(5Q4uty-_u#Nx)$aycUepb$8E zvtPu3z;3rEfVdo>nae4OG?o*fkqQd|P7*vAfP#byg?o&Rj*pO$7YhYADIS+L7y=3k z4F@rUR|E}Dc@GIS8>gui3ketrr3hgNnH7Buy1Toz5_ysuFdwX{QUnVmhzJd^6AH$J zgUu8QzQI!ka|avRa@^SA;^XAy=I2k9AL{5A&?L7Tw*i6Z@tArU_txe*(J1*a+(XdB zLOops0MufKis$?yM36{82LXd*9Dn{QdX&O|2k0n0G0C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0BHas06+x(5Xniay*TU5yZ@lJ7@;htU_m%M2$KZ>DI^-1lLxOyty-_xtai)QCKjmdH_Ra+ z0EGZ@SUg%2WXXU)uh%DlydIF5+wBy4dK7S79sxEXIXe?UREtvq3XX=AmY0~Bnji}W zB`aE>6QVu}3JnJ{Q=ttha1RMLSFf=Z3keqqtq3HH2o1Ouhz!KV#by(Qn>{ie1$zfq z1PdX)z!VCyAlAVW3dqZk&{xlT(c$Rn>g(+7?wg)l@$cB$9;DK70XppX_i_0wd{g(s z-UokG5K6HXgctz;Bm^8VU{Jy^W5&QCP(}|!GZu3Iv?bt!fC05C93>Qx!II@UMJ-#t zfOt?uiw9b0}CE(B?16D1v#nq diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img13.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img13.gif deleted file mode 100644 index c757b8437b62964bdca6fae552d2d9b88f3c32ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+UkNk%w1VO;C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui09^ng06+x(5Xniay*TU5yZ_!|Tm%Dd zr8PL#;UtN3Fai<`60@9^00b4mf^c{cCJVq3BqSOu4;*hwty-_xtai&uEKFH1xHCck z3W24AKzP)wiSYzLuLCjzwthdi(g(+7?(gsyn_Kho7ugk|SD^uj@%j<~Rss0! zoeymRYibn+1J6QM0mI0P&~kl+pi9auzEXqsc1gaS)FP{dmt0J?DV>fOt?uiw9b1FMSw06SF5r^EmN diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img14.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img14.gif deleted file mode 100644 index 90aaa668a830e8cf9745dc181794f5e8e7bfe5c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmZ?wbhEHb)L~F!c+3C-%a<>oJ$rV4e}8jxb9s4rc6N4reEg6C)|p_53QdW7c}M4C8_f zmMg*SiXS}=z5lVNF8D_Lk~-0bMmb9{<`~v!ZPC>9v`hn5hI|e-*Xmp$rc!@KHugBN go-AHH29_2fPV=dCoUY!hIF@YQwtdG=SwRMC0ENF$v;Y7A diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img15.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img15.gif deleted file mode 100644 index bbf9e45facc7b721f33142dd691114e3bd71c9e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 734 zcmV<40wMiJNk%w1VbTB}0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0MY;-06+x(5Xniay*TU5yZ>M)jwA&z zltGl)nXXhLRLOBMiG{NsgH}5WA*Z_$c^aSYI0=FXKO`prt5hk@CX+Bg2(HqlW?)DV z0+}q~YXG3bVjvSvuiNkVynZhUC>l(DfP54QgGhpNdWLh1Em2mGEG`*CHx&j83z(W0 z0{}B&N)-VN3k6n+2$Gqb6afIJpP?+HucoLIrKg0wzQ4f1!o$SH#>dFXaFhrG4|mMY z7XbzeI9(W7654eM3lEa3ssaWVHgR{};OJTy%oe$%KJ)YpKz0U&e{b_MJxc6P~boT0NWJYN;q#JmWKWy-SI;JB}~3lm)LDP(q@%L0UD9m zYImUlwh0P6uB1S~!A_asxN%b^!eIrY!5o}pfpmZa0t-~pQ7UmM(W_XqYTe4UtJkk! z!-^eCwyfDa1{?r5!9cA~I%(JXaLbgz8=Q9c2$&P#fmIUL?%vr;%5UMn6W%2dY!cGq z3IhNUAW(ooOqJsJ%>0QmqMSXOGk?Bt(oX3K11?Vxz)vU>n12o=aB#Ck=%EmS7%8+M zW&x=nZYvs!ptQGyc3{8mvAo@6)B-hDFDN~iSy|O1oV~=3#bL{SJ2}d zS@Jx`j--*3+;?Fj1^W{WQJ44LUbc`Hh>d5#0Q}%r5E`@b_nuDM07wB+6Bxh%0N^On z9t#puNL+W@>^2$#2lzAF0SwSWLIMmtP$3plv9`bgL*U0E1p@fBfI&QPx# diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img16.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img16.gif deleted file mode 100644 index 006b092af95314bfaae2a0cc288038ecb9365a36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 836 zcmV-K1H1f3Nk%w1Vc7s70OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0NDT`06+x(5Xniay*TU5yZ>M)j$~OK z3!@5|(@@G&5sXe8gX%RdQ3Pxk$qYNB|LB_y%02qS-!vSa* zD2YT$iK7S{X{P0x-FCm>arx|7JgO6KaT7;`05=W?cWK154Ol9QB`mY0~Bnwy-R zo|S4fpPHegrWghS3knhr2Nnwk1hcdOKcW%}hnEB?wi2nU5($bGv9z_fFuNwftO&#i zg+{w?zmf+JwgLbHr4<1T3dN@r2?`62N&yQEa^*?W7zqyJMFO*08uSX+@c#e<3LHqV zputIg0616xjm(1{MsO90;*V0og$)5bd?c}iJc9lKp3D=5pujr>Z}f360Dv4fISINX z092xlIblxtxN)Fz151|xV9KNkZ9&DNta3^_nJECe1`2dquxWt+09ywRNkwpAYlZ>< z3QQOf6ht^4XjOPc0B6Wm1Ob?K^#E3^1hPy;ShW?`2otLl0vrXGHmz3xuMjL?D6J!c zC<9v-Ws~<{hiScnl0(2?bBQz(#0?utf$G0i1k6}o&APSg*RW&Do=v;9?b{aY;=Z7J zw`@pBoVxo5+{8zL35I*pMd9ZV$2BV}VLrh*A?SLg!!s@7$^oJl0+gNLpkr|x+&g#& z4{m%b^VmZiADF)60k9I*oJiau!51E6^z*jCS%s-}L0b|OaNi*TxMINp{BhtPS^<9G z2Tcm%*WfFd#WBc$1@hok0K9< z?y<$A2`lF3mmw1z;Gzu;h>}%A;W4lPiUc^2Uk~pH&;WZCPzQ`;nV3d^5YaTTWd~j& zV4VkQ95v=J#mEEL3|xkw+5jRoHdSQ-5WvC!?8SvvPavovjg?7o*C(Oj#l!=nn=CrS zU(8I<86^e?p=Trl?V?%|koiW4c9#~hP%jJ&R%3+l1i(T8FNi8@ZTR>(>#exvs_U-2 O_Uh}ezy|wk1OPi9v{DNI diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img17.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img17.gif deleted file mode 100644 index ac37f1349b9a55d89a5c1c3388105b0fdae2b810..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1198 zcmV;f1X24(Nk%w1VHg1(0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui02l!t06+x(5Xniay*TU5yZ>M)j$~<` zXsWJk>%K6YFjnIP6N4kgQ2>$!O=H_3bd%l>5pWzPi3Eut#mp#5AVP@AGM&(>C%`D1 z&xXqNq8MJh&1ZN-)vP6fhBN?33l0VX8E{|{Q6LKiC_O6!ZU_Vo6Ac6?i5!d^juerT zl_{490ssnP5}BHhof4FmiVh0|LPl?L8=IV35(8-o3o*dK!o$SHEd*{208z}$4kF6U z&CeSOX(R!H8OSZx!Q2-N2@j?n-Xqx?;4tSM1(FvI4-2%A)ItJMzV#FG^cDmj82S{X z$^r!w+Ndjs1>OV#_ZZ|uu#b~KiUhY9L?}VwiFf`N3|uty@8QJ+88rssh`=L;I)fY{ zXpm;W16v3TG}uwm8lL;d3Tn`ThOkp_Tt&6-d`~n0ZwgX@hFfj;@ahSs$ z3i4Rd;-hHPSqqV8)}tJR!eg|}+BDM(uDFgSvC+7@sG!&cJz#8q>5xi(^Lm z^`s#OfF#hu;1`D4#tq@lu;7}7t`q_g5Hvt*fz?|IOYgnw;s5|zM{x(pcS7?D(y3cd zxxIqTUEuoy7(e2Cg`gF#qbETBJ%aDy&HlGddFDAcfk;V6G0`dP@#o%1kmwRX00ShT z$W`b80KgN$5q1?H8zRtQVNrp|p@t+KtC@HK143!iN-~aj0FY| zILMh5q^Sutbf{UT3R(s;Ck3;GP-mPQ+}XmOUeYy`DF)c$3r7X0IVc5%dUlW~4>*S( zpD)pM=qUtVDnO*>sd>UGYAiqwlu$gnsezM*kk|#F;-SC-4YcE!shk$%L2N%%;id$E zJc>XeYwAj<0KTH+TL;n+pzHw({wS*~S&#L~5wL9%%aO6l!6v0R8A$unv1mC<0JGwf zMbRS%$R)~r#E$#GYTjZ5t{ux6uwkMV4245*Ic;FC4-DzcgeiwGVL&O?qzFl-rU}e1 zsS*er0KruRaBu<%UqHqg977q~Y4qiS!^CP-d~wDD(u=1Y3;aSMD+EeRam3P;Gm2RD zGPEhP3^cHSAPcC5LCzNx#Y_c&4HY1E3ukb1SvR%eGtff!<-pMtBpsgwmYwkQZ9rAc z_01r)#S)#MFbDxCU_=3l z>Xi@euD7ni>rBX=MD3zjcwz3^3~(0jz0VH(?Zaauky#F+g{<$nu-!n&L}su33qNS+ M>Gt4C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0MP&;06+x(5Xniay*TU5yZ>M)j-+@j zOe$nfLn#kMFy+N0arx|7JbDyxRYh_H02X6QNCgiC1rAzma%_~9mY0~Bnwy-R zo}ZvZ2`HhTqeG>s2nGTR3K9v56bl9fwzmO3s0a#&ngl4h60EMUvJ$knxVkUCHN>xI zOGXoh5>mpH3C@PH0SpSqstO5Q*+>Bk4U?*r)EWs6;hOOZ=k56U`uqI-{{NQz0C2DX z4Vec#5X`WofWf^=0tp%ffUw6xB=0~KaCI!eg9H8-M!gd7fKMPu9t;4GB>;e&G!GI0 zBH{*CF_I>)q3ocNrArDhWm*{ZP$UAJ3fXPiR&AxE3x;w9P>SF{P7MVB6qqpJr-TLt zq|BV~ZHL(uS0_x70YIu!s~)m$mC%){h^Ppr5^75JVTH11cUU&G{mw01DRSb6q1Nz67#C^`g+T z8so;Cc2DT-n~m*GxB~WO2m7 zL4Sc=#Z+OkAoiVB$Xwt`g;e;}Qg{VP5P$*EQDVRXDUt;u0x?c7B8etehk!)r%$Q2upa?I#1cgV-dP~rFh??ijAJ5T#-uS82moaVQ?7EP2Si!0r8IjL z233?HGy;nYPfbU_dKgS)7M*0O@mmSb1u!RnY3zXKCw|fiq%+M8If4LI-LqXPK|V@? ohpbhDQWLoK`poS{ysHB!^>Zz!vs_Lq&wi5vWJB6fEw*UYD diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img19.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img19.gif deleted file mode 100644 index 953a1ca32aa021b5c37582b6fc496f076d7fd397..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389 zcmV;00eb#NNk%w1VLbpJ0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui06hR706+x(5Xniay*TSEfY>1T3}Lny zmhntQf(Wiu5LG~s)UZkfU=4{vX-F(;6d&Uzum~tA2?nJhMI3wyAA+&S1OP%rcM?Sq z66o}E%?1Vz?6`bR*AS}piUPGRPXY}tUnl|x21yqM2L(O>4sa4^YXuEcC_0c51`SRK z2~89PI|(!s3o$(t2c;kjLJkWA3k;nYiXj7dW?B;iD4%)3!o$SH#>dEXuEck8C&mK~ zYy_1Q0SXHZdqbZJFAscTF-m?C2Mf9SNRuk95CH%?R``4# diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img2.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img2.gif deleted file mode 100644 index 57c9a9131404a2dc56b7c765f8470e1e75ae3c0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5293 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 diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img21.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img21.gif deleted file mode 100644 index 6bc6fef16b2411925babc2dff734e5b2bd425628..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmZ?wbhEHb6k(8Mc+3C-%a<>oJ$rV4e}8jxb9s4rc6N4reEgC2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0Qvwq06+x(5Xniay*TU5yZ>M)j$~Dp^`|L z2x2eU z%~W+FU=k}zDOR-DKo7%G3Sg&>b%T}88*XvM@*!)MC0Z4g){^n+p-NJeh!ZO=@xaW1 z1cw((o{X4*JjK*3Sk?fz;sn5M&bbM?Apn8XUlgDw;4w3T0}qt^8Bp=d1A(j*es&^y zG-Wvz94P30(gz*j6b=(0Zb4EO0SN#ofT94v0*@q&3po8xgL38-oQDBBr5$wX)UDHL zD}ez#010plXwaRq{rmXy>)+46Lji8@ME-Qrbo>QCSSB4@l5J7E`%FM_C~_B_oY#w1J}< zq$jKydJP$A2;e|F1sGv23*m_Ig986tBu)}1yrK^U2PpmFE} z=B#rF1(59Q&Oiq(^w2~XZS>KzRN5n^NH@J-W3NHx^wf*J!?38Nj%4ZpBzN6)wjprs zwbx*?wJHs*=JKix{IuK4FE)MTCIUTQ)&~rAoAR>;$(*3>XJy;cHw@DvVBKWHru!f$ zjU?;DvL0V>5hVsRzANPZobAol&xwn3IkOx%eiY~%Y0d#3r!{akN!!xB_}#k=1RBWH zlJYtwoy~qvs=k3>8fpiqhFWXh=!OXw)aD+0CA_x|!WNISA=&`E`*|(4L#ruzmLw&5;CsNo-0vQ7p);wSuwt(g#7E>7# zJp#lFyk%uq^Hl!UDlo(-p5uxmF%Afp=I~v^6fFK1)6D&w5f9ye)C}SC@ zz04&fS(|1O;7JoCaRfiffGCCXKEzz)IgNT$g(Rjp5`ticA^I7Kq=8Gx5GfGWy50|3 zX#wZ`at>Yq!wLklz7d$vH37gGw1%K717xxdZ}JR+a~7+?ScfYuIc$PEVk=Ui052%I+X z(adq7E{d7kL@Usz;LNlFaxzmEN96$%0wh}pU4$8+GbanwX$i0ssstRs3kEzQR9Z}z zJZM(LiOlf=e+ZNoqKX((g;gH1VAvZ|xe7hH;f;bIgacZTiAALq6md&sC5)g<0%QmQ kZG5Y+wi;83SS6p9%%meDbs7+O1Vs82!(u19mJ58zRM*si- diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img3.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img3.gif deleted file mode 100644 index 202439a2d1ede8941e4092fcbe1daae92a1b5904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmZ?wbhEHblwpu%c+3C-%a<>oJ$rV4e}8jxb9s4rc6RorO`AeOLOeV?Y;0@{3=C9M zR3s!MczAe#iWPsdFfuT(Gw6VHg3NGWDgSW7bM@Y<3{AWDyEPd&FR(bRRFhN9^x{Gi zYk-fV5^wk76Rby>1ZPP0pGaAKFd#~b+iO9E$rpx|*%J#Ut1w()KIEx4`}~WW;<5}q z=Q%z^K3Jv_c5EXZID05O(B A(EtDd diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img4.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img4.gif deleted file mode 100644 index a79273c20932961ec9b689077841ae8035e3de4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 987 zcmV<110?)MNk%w1VWa>%0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0Hgpr06+x(5Xniay*TU5yZ>M)j$~;f zfpUh1(Gg5_6jCrqO|tI%<}AI^0N@H5kEMp=5@-M(HxA)J(z8!Q&bDJQi*Y1Rel%NGk(kh8T%zJPcTjP#y*vJ?&nvH=c77YPgx31XfX9(Im%jOvk)gB5K6bKj~ z1%rD`o;6$8;ZKDCZX!yYIPsK;A-Wi9w1TdJfsXzrrdZravZTqAC_5xrfNcRVKnETS zN{J+(s{!FM$Qg!gLV*P~Xa@P#QyY-N0&hYK(>u1!N3Cs2^=`M2RCG2 zE5-PAD8N7g1H2gIit|DtfZZBdvu2D#_<&}rq#bn*jdk<{ZXWbt#$bBaYze1NHqJ(P zNA6vEd3=2P80xFP7H}z`IMF}?weL(Yh;IBi08YuKS7&IMgF&`+)^6V@zyWp(4lo5# zAbGs|_weJ(pHIKOE4g{>~bfT>g>8XZ>l=fNP#KaocN)U}HdV1#TeHE4)Z( zh)WdYS5AahP}hoKd(pNahZqRhOac#d@D+(|akfwxEFK|^M#PL5BM5fbxC&Y~J`xEv zTuJy507+>O3;{9CRDo19H8KYWP6`&nZ}Jr5AtV1J7ex-)6nBCGKcbLgNWJM)rU?Nk zlz~=VnebCk7VN`Ans^}79*$)~vSzRTWtRF~+oso0K11!HxrW2Ef`?uI00g z1AU}v$!?B5$^e4+{CR;^N_Jq_4I6eqpck= z#%iZ`YSe9NPevn{0gC~|!KUfj5p9o&hDm{J9e9@Pv*#kPfWG*O`=?r4C9JTg-V#`_ zumsD(n~i9F|l8_+wH1I4QB!GFmGEW$uC J=e$7#06WAilIZ{d diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img5.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img5.gif deleted file mode 100644 index d5ace2e0430e4d0dcc4f8e75e2083039c57a0367..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391 zcmV;20eJpLNk%w1VPF6o0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui0AK(c06+x(5Xniay*TU5yZ>M)j^H9l z!Q)KDQ2^4yXhf2=Z#-842YZ2l0t6&;DQF~cg>L|a6a{6K2?rA<6arT$ z00jt3h!g>pM3nMwNvnPV1SbPp7>*gTw6;eJZW0BqkHf^p#>dFX%FE2n&U^#_ zLeC-t4h#w-H3`y3xW=#|1lb7O(-L{)lr+D1V!-Vqd0*!e0|fZ_`4a===-mhm2zZCU z0VY!V4k*yaOCUjmQo3mKH^H2QXnPL8s8`_|q>MEic>o#7fTO2WA(jAG$+9IVP6`<` l&~z)_1eio-@*oJ$rV4e}8jxb9s4rc6RorO`AeOLTqeo3=9k;BqVrv zc)$ulgyK&YMg|6U1|1LwWQGHa*M}3HtLHl0J*ytXqg3)FMaN;;0`JNc>4iH>a*H>J zPpNEGG466?OwbSzyP113$0~L&BeRr^1jnANr5j#`P7&8<%~7^L|6 diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img7.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img7.gif deleted file mode 100644 index d4fc5532fcc80ba40da6ee6eef3299741f3ca9a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmZ?wbhEHb1nSRRE?{K>+| zz`)9&0}=(9;lQG?;e_XEmg8YIuAAnlbuDz^i8foO#+1<;$1Po;|z2zrVS;xxBnQJ3Bi*K7P}tO*J(&At50i9v(I} zHU@x5)wQ-JYY@45{f@r7#SEi7<51yKz2H?{!>uuOUaywN`2LJS59 zC7-SQ4b1EU9|kaVNLU3eIGAI_yR5;vk%NJ!i8<`p+huY*OhzwsXP>ujNIDy5f8pL7 z558&#i6?>&dmXq|#PJ0%3$QD*@l_Ud_w@GlPv~Z1VPUeEYAw*kH&L&oM44M)ntGX1 zr)n502NMHJ8lNY7mKz5zPj`g|;|%5{>1+Z{A@y^Q9Y1mM)af&4&z--Z&un_-s%gN* z7}o|BwmWCp__KI;_!w5}n%rk=Q|98~KAg_T{gnHLF@xs*BS9N;Ljj*ahqa8oQl2ppXEdA~ q7P9in82mVz$}oeC!9&zxrtdK+LEcBA3#V;Z(e23+G>?Ok!5RRzEQD$R diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img9.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img9.gif deleted file mode 100644 index a2c1b2165d7752458cc97a97dfb45e946fc8ff43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331 zcmV-R0kr-{Nk%w1VNC!Z0OJ4v0001|r>C2nn~#r=gM)*2cXw-RYhPbqva+&NR8&Yv zNIX0|FfcGABqSIZ7z_*yA^8LW000O8EC2ui08IcN06+xz5Xniay*TU5Ct#F8bfgDP zqQnT+7mlS>B#1!A_~ekpng76`aCiwUh!s~Q0Z<)>%8TJ`>c4~s#;2nqvz z7YPf$yA}b_2n|#cb9Uf((isio7LS7r01ph^5(Nv{LI&#W?h^!0^y}^C))@stg(6ld dfw&9_7(7T2r&EVg4kJpONU@^DizFfd06RZNdqDsI -- 2.39.5