From ba4ac6a2405c1f585631a30b4ba254d9892fd7bb Mon Sep 17 00:00:00 2001 From: bangerth Date: Mon, 24 Jul 2006 14:00:10 +0000 Subject: [PATCH] Remove old tex/html version of introduction git-svn-id: https://svn.dealii.org/trunk@13418 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-18/doc/intro.html | 1538 ----------------- deal.II/examples/step-18/doc/intro.pdf | Bin 132708 -> 0 bytes deal.II/examples/step-18/doc/intro.tex | 666 ------- deal.II/examples/step-18/doc/intro/img1.png | Bin 1189 -> 0 bytes deal.II/examples/step-18/doc/intro/img10.png | Bin 427 -> 0 bytes deal.II/examples/step-18/doc/intro/img100.png | Bin 177 -> 0 bytes deal.II/examples/step-18/doc/intro/img101.png | Bin 208 -> 0 bytes deal.II/examples/step-18/doc/intro/img11.png | Bin 421 -> 0 bytes deal.II/examples/step-18/doc/intro/img12.png | Bin 558 -> 0 bytes deal.II/examples/step-18/doc/intro/img13.png | Bin 419 -> 0 bytes deal.II/examples/step-18/doc/intro/img14.png | Bin 506 -> 0 bytes deal.II/examples/step-18/doc/intro/img15.png | Bin 123 -> 0 bytes deal.II/examples/step-18/doc/intro/img16.png | Bin 696 -> 0 bytes deal.II/examples/step-18/doc/intro/img17.png | Bin 223 -> 0 bytes deal.II/examples/step-18/doc/intro/img18.png | Bin 215 -> 0 bytes deal.II/examples/step-18/doc/intro/img19.png | Bin 525 -> 0 bytes deal.II/examples/step-18/doc/intro/img2.png | Bin 220 -> 0 bytes deal.II/examples/step-18/doc/intro/img20.png | Bin 654 -> 0 bytes deal.II/examples/step-18/doc/intro/img21.png | Bin 338 -> 0 bytes deal.II/examples/step-18/doc/intro/img22.png | Bin 161 -> 0 bytes deal.II/examples/step-18/doc/intro/img23.png | Bin 527 -> 0 bytes deal.II/examples/step-18/doc/intro/img24.png | Bin 193 -> 0 bytes deal.II/examples/step-18/doc/intro/img25.png | Bin 240 -> 0 bytes deal.II/examples/step-18/doc/intro/img26.png | Bin 241 -> 0 bytes deal.II/examples/step-18/doc/intro/img27.png | Bin 374 -> 0 bytes deal.II/examples/step-18/doc/intro/img28.png | Bin 178 -> 0 bytes deal.II/examples/step-18/doc/intro/img29.png | Bin 185 -> 0 bytes deal.II/examples/step-18/doc/intro/img3.png | Bin 156 -> 0 bytes deal.II/examples/step-18/doc/intro/img30.png | Bin 305 -> 0 bytes deal.II/examples/step-18/doc/intro/img31.png | Bin 347 -> 0 bytes deal.II/examples/step-18/doc/intro/img32.png | Bin 525 -> 0 bytes deal.II/examples/step-18/doc/intro/img33.png | Bin 379 -> 0 bytes deal.II/examples/step-18/doc/intro/img34.png | Bin 379 -> 0 bytes deal.II/examples/step-18/doc/intro/img35.png | Bin 468 -> 0 bytes deal.II/examples/step-18/doc/intro/img36.png | Bin 323 -> 0 bytes deal.II/examples/step-18/doc/intro/img37.png | Bin 196 -> 0 bytes deal.II/examples/step-18/doc/intro/img38.png | Bin 450 -> 0 bytes deal.II/examples/step-18/doc/intro/img39.png | Bin 708 -> 0 bytes deal.II/examples/step-18/doc/intro/img4.png | Bin 430 -> 0 bytes deal.II/examples/step-18/doc/intro/img40.png | Bin 280 -> 0 bytes deal.II/examples/step-18/doc/intro/img41.png | Bin 432 -> 0 bytes deal.II/examples/step-18/doc/intro/img42.png | Bin 572 -> 0 bytes deal.II/examples/step-18/doc/intro/img43.png | Bin 549 -> 0 bytes deal.II/examples/step-18/doc/intro/img44.png | Bin 411 -> 0 bytes deal.II/examples/step-18/doc/intro/img45.png | Bin 468 -> 0 bytes deal.II/examples/step-18/doc/intro/img46.png | Bin 700 -> 0 bytes deal.II/examples/step-18/doc/intro/img47.png | Bin 581 -> 0 bytes deal.II/examples/step-18/doc/intro/img48.png | Bin 659 -> 0 bytes deal.II/examples/step-18/doc/intro/img49.png | Bin 703 -> 0 bytes deal.II/examples/step-18/doc/intro/img5.png | Bin 227 -> 0 bytes deal.II/examples/step-18/doc/intro/img50.png | Bin 672 -> 0 bytes deal.II/examples/step-18/doc/intro/img51.png | Bin 1331 -> 0 bytes deal.II/examples/step-18/doc/intro/img52.png | Bin 3008 -> 0 bytes deal.II/examples/step-18/doc/intro/img53.png | Bin 270 -> 0 bytes deal.II/examples/step-18/doc/intro/img54.png | Bin 194 -> 0 bytes deal.II/examples/step-18/doc/intro/img55.png | Bin 803 -> 0 bytes deal.II/examples/step-18/doc/intro/img56.png | Bin 335 -> 0 bytes deal.II/examples/step-18/doc/intro/img57.png | Bin 291 -> 0 bytes deal.II/examples/step-18/doc/intro/img58.png | Bin 245 -> 0 bytes deal.II/examples/step-18/doc/intro/img59.png | Bin 238 -> 0 bytes deal.II/examples/step-18/doc/intro/img6.png | Bin 171 -> 0 bytes deal.II/examples/step-18/doc/intro/img60.png | Bin 267 -> 0 bytes deal.II/examples/step-18/doc/intro/img61.png | Bin 697 -> 0 bytes deal.II/examples/step-18/doc/intro/img62.png | Bin 422 -> 0 bytes deal.II/examples/step-18/doc/intro/img63.png | Bin 665 -> 0 bytes deal.II/examples/step-18/doc/intro/img64.png | Bin 2153 -> 0 bytes deal.II/examples/step-18/doc/intro/img65.png | Bin 258 -> 0 bytes deal.II/examples/step-18/doc/intro/img66.png | Bin 250 -> 0 bytes deal.II/examples/step-18/doc/intro/img67.png | Bin 232 -> 0 bytes deal.II/examples/step-18/doc/intro/img68.png | Bin 543 -> 0 bytes deal.II/examples/step-18/doc/intro/img69.png | Bin 393 -> 0 bytes deal.II/examples/step-18/doc/intro/img7.png | Bin 159 -> 0 bytes deal.II/examples/step-18/doc/intro/img70.png | Bin 221 -> 0 bytes deal.II/examples/step-18/doc/intro/img71.png | Bin 289 -> 0 bytes deal.II/examples/step-18/doc/intro/img72.png | Bin 384 -> 0 bytes deal.II/examples/step-18/doc/intro/img73.png | Bin 245 -> 0 bytes deal.II/examples/step-18/doc/intro/img74.png | Bin 538 -> 0 bytes deal.II/examples/step-18/doc/intro/img75.png | Bin 451 -> 0 bytes deal.II/examples/step-18/doc/intro/img76.png | Bin 451 -> 0 bytes deal.II/examples/step-18/doc/intro/img77.png | Bin 228 -> 0 bytes deal.II/examples/step-18/doc/intro/img78.png | Bin 1148 -> 0 bytes deal.II/examples/step-18/doc/intro/img79.png | Bin 556 -> 0 bytes deal.II/examples/step-18/doc/intro/img8.png | Bin 510 -> 0 bytes deal.II/examples/step-18/doc/intro/img80.png | Bin 847 -> 0 bytes deal.II/examples/step-18/doc/intro/img81.png | Bin 266 -> 0 bytes deal.II/examples/step-18/doc/intro/img82.png | Bin 1316 -> 0 bytes deal.II/examples/step-18/doc/intro/img83.png | Bin 511 -> 0 bytes deal.II/examples/step-18/doc/intro/img84.png | Bin 938 -> 0 bytes deal.II/examples/step-18/doc/intro/img85.png | Bin 243 -> 0 bytes deal.II/examples/step-18/doc/intro/img86.png | Bin 205 -> 0 bytes deal.II/examples/step-18/doc/intro/img87.png | Bin 223 -> 0 bytes deal.II/examples/step-18/doc/intro/img88.png | Bin 182 -> 0 bytes deal.II/examples/step-18/doc/intro/img89.png | Bin 404 -> 0 bytes deal.II/examples/step-18/doc/intro/img9.png | Bin 379 -> 0 bytes deal.II/examples/step-18/doc/intro/img90.png | Bin 2067 -> 0 bytes deal.II/examples/step-18/doc/intro/img91.png | Bin 191 -> 0 bytes deal.II/examples/step-18/doc/intro/img92.png | Bin 291 -> 0 bytes deal.II/examples/step-18/doc/intro/img93.png | Bin 526 -> 0 bytes deal.II/examples/step-18/doc/intro/img94.png | Bin 355 -> 0 bytes deal.II/examples/step-18/doc/intro/img95.png | Bin 1152 -> 0 bytes deal.II/examples/step-18/doc/intro/img96.png | Bin 501 -> 0 bytes deal.II/examples/step-18/doc/intro/img97.png | Bin 589 -> 0 bytes deal.II/examples/step-18/doc/intro/img98.png | Bin 287 -> 0 bytes deal.II/examples/step-18/doc/intro/img99.png | Bin 394 -> 0 bytes 104 files changed, 2204 deletions(-) delete mode 100644 deal.II/examples/step-18/doc/intro.html delete mode 100644 deal.II/examples/step-18/doc/intro.pdf delete mode 100644 deal.II/examples/step-18/doc/intro.tex delete mode 100644 deal.II/examples/step-18/doc/intro/img1.png delete mode 100644 deal.II/examples/step-18/doc/intro/img10.png delete mode 100644 deal.II/examples/step-18/doc/intro/img100.png delete mode 100644 deal.II/examples/step-18/doc/intro/img101.png delete mode 100644 deal.II/examples/step-18/doc/intro/img11.png delete mode 100644 deal.II/examples/step-18/doc/intro/img12.png delete mode 100644 deal.II/examples/step-18/doc/intro/img13.png delete mode 100644 deal.II/examples/step-18/doc/intro/img14.png delete mode 100644 deal.II/examples/step-18/doc/intro/img15.png delete mode 100644 deal.II/examples/step-18/doc/intro/img16.png delete mode 100644 deal.II/examples/step-18/doc/intro/img17.png delete mode 100644 deal.II/examples/step-18/doc/intro/img18.png delete mode 100644 deal.II/examples/step-18/doc/intro/img19.png delete mode 100644 deal.II/examples/step-18/doc/intro/img2.png delete mode 100644 deal.II/examples/step-18/doc/intro/img20.png delete mode 100644 deal.II/examples/step-18/doc/intro/img21.png delete mode 100644 deal.II/examples/step-18/doc/intro/img22.png delete mode 100644 deal.II/examples/step-18/doc/intro/img23.png delete mode 100644 deal.II/examples/step-18/doc/intro/img24.png delete mode 100644 deal.II/examples/step-18/doc/intro/img25.png delete mode 100644 deal.II/examples/step-18/doc/intro/img26.png delete mode 100644 deal.II/examples/step-18/doc/intro/img27.png delete mode 100644 deal.II/examples/step-18/doc/intro/img28.png delete mode 100644 deal.II/examples/step-18/doc/intro/img29.png delete mode 100644 deal.II/examples/step-18/doc/intro/img3.png delete mode 100644 deal.II/examples/step-18/doc/intro/img30.png delete mode 100644 deal.II/examples/step-18/doc/intro/img31.png delete mode 100644 deal.II/examples/step-18/doc/intro/img32.png delete mode 100644 deal.II/examples/step-18/doc/intro/img33.png delete mode 100644 deal.II/examples/step-18/doc/intro/img34.png delete mode 100644 deal.II/examples/step-18/doc/intro/img35.png delete mode 100644 deal.II/examples/step-18/doc/intro/img36.png delete mode 100644 deal.II/examples/step-18/doc/intro/img37.png delete mode 100644 deal.II/examples/step-18/doc/intro/img38.png delete mode 100644 deal.II/examples/step-18/doc/intro/img39.png delete mode 100644 deal.II/examples/step-18/doc/intro/img4.png delete mode 100644 deal.II/examples/step-18/doc/intro/img40.png delete mode 100644 deal.II/examples/step-18/doc/intro/img41.png delete mode 100644 deal.II/examples/step-18/doc/intro/img42.png delete mode 100644 deal.II/examples/step-18/doc/intro/img43.png delete mode 100644 deal.II/examples/step-18/doc/intro/img44.png delete mode 100644 deal.II/examples/step-18/doc/intro/img45.png delete mode 100644 deal.II/examples/step-18/doc/intro/img46.png delete mode 100644 deal.II/examples/step-18/doc/intro/img47.png delete mode 100644 deal.II/examples/step-18/doc/intro/img48.png delete mode 100644 deal.II/examples/step-18/doc/intro/img49.png delete mode 100644 deal.II/examples/step-18/doc/intro/img5.png delete mode 100644 deal.II/examples/step-18/doc/intro/img50.png delete mode 100644 deal.II/examples/step-18/doc/intro/img51.png delete mode 100644 deal.II/examples/step-18/doc/intro/img52.png delete mode 100644 deal.II/examples/step-18/doc/intro/img53.png delete mode 100644 deal.II/examples/step-18/doc/intro/img54.png delete mode 100644 deal.II/examples/step-18/doc/intro/img55.png delete mode 100644 deal.II/examples/step-18/doc/intro/img56.png delete mode 100644 deal.II/examples/step-18/doc/intro/img57.png delete mode 100644 deal.II/examples/step-18/doc/intro/img58.png delete mode 100644 deal.II/examples/step-18/doc/intro/img59.png delete mode 100644 deal.II/examples/step-18/doc/intro/img6.png delete mode 100644 deal.II/examples/step-18/doc/intro/img60.png delete mode 100644 deal.II/examples/step-18/doc/intro/img61.png delete mode 100644 deal.II/examples/step-18/doc/intro/img62.png delete mode 100644 deal.II/examples/step-18/doc/intro/img63.png delete mode 100644 deal.II/examples/step-18/doc/intro/img64.png delete mode 100644 deal.II/examples/step-18/doc/intro/img65.png delete mode 100644 deal.II/examples/step-18/doc/intro/img66.png delete mode 100644 deal.II/examples/step-18/doc/intro/img67.png delete mode 100644 deal.II/examples/step-18/doc/intro/img68.png delete mode 100644 deal.II/examples/step-18/doc/intro/img69.png delete mode 100644 deal.II/examples/step-18/doc/intro/img7.png delete mode 100644 deal.II/examples/step-18/doc/intro/img70.png delete mode 100644 deal.II/examples/step-18/doc/intro/img71.png delete mode 100644 deal.II/examples/step-18/doc/intro/img72.png delete mode 100644 deal.II/examples/step-18/doc/intro/img73.png delete mode 100644 deal.II/examples/step-18/doc/intro/img74.png delete mode 100644 deal.II/examples/step-18/doc/intro/img75.png delete mode 100644 deal.II/examples/step-18/doc/intro/img76.png delete mode 100644 deal.II/examples/step-18/doc/intro/img77.png delete mode 100644 deal.II/examples/step-18/doc/intro/img78.png delete mode 100644 deal.II/examples/step-18/doc/intro/img79.png delete mode 100644 deal.II/examples/step-18/doc/intro/img8.png delete mode 100644 deal.II/examples/step-18/doc/intro/img80.png delete mode 100644 deal.II/examples/step-18/doc/intro/img81.png delete mode 100644 deal.II/examples/step-18/doc/intro/img82.png delete mode 100644 deal.II/examples/step-18/doc/intro/img83.png delete mode 100644 deal.II/examples/step-18/doc/intro/img84.png delete mode 100644 deal.II/examples/step-18/doc/intro/img85.png delete mode 100644 deal.II/examples/step-18/doc/intro/img86.png delete mode 100644 deal.II/examples/step-18/doc/intro/img87.png delete mode 100644 deal.II/examples/step-18/doc/intro/img88.png delete mode 100644 deal.II/examples/step-18/doc/intro/img89.png delete mode 100644 deal.II/examples/step-18/doc/intro/img9.png delete mode 100644 deal.II/examples/step-18/doc/intro/img90.png delete mode 100644 deal.II/examples/step-18/doc/intro/img91.png delete mode 100644 deal.II/examples/step-18/doc/intro/img92.png delete mode 100644 deal.II/examples/step-18/doc/intro/img93.png delete mode 100644 deal.II/examples/step-18/doc/intro/img94.png delete mode 100644 deal.II/examples/step-18/doc/intro/img95.png delete mode 100644 deal.II/examples/step-18/doc/intro/img96.png delete mode 100644 deal.II/examples/step-18/doc/intro/img97.png delete mode 100644 deal.II/examples/step-18/doc/intro/img98.png delete mode 100644 deal.II/examples/step-18/doc/intro/img99.png diff --git a/deal.II/examples/step-18/doc/intro.html b/deal.II/examples/step-18/doc/intro.html deleted file mode 100644 index 22a9f287ba..0000000000 --- a/deal.II/examples/step-18/doc/intro.html +++ /dev/null @@ -1,1538 +0,0 @@ - -

Introduction

- -

-[A higher quality version of the introduction is available as a PDF -file by clicking here] -

- - -

-This tutorial program is another one in the series on the elasticity problem -that we have already started with step-8 and step-17. It extends it into two -different directions: first, it solves the quasistatic but time dependent -elasticity problem for large deformations with a Lagrangian mesh movement -approach. Secondly, it shows some more techniques for solving such problems -using parallel processing with PETSc's linear algebra. In addition to this, we -show how to work around the main bottleneck of step-17, namely that we -generated graphical output from only one process, and that this scaled very -badly with larger numbers of processes and on large problems. Finally, a good -number of assorted improvements and techniques are demonstrated that have not -been shown yet in previous programs. - -

-As before in step-17, the program runs just as fine on a single sequential -machine as long as you have PETSc installed. Information on how to tell -deal.II about a PETSc installation on your system can be found in the deal.II -README file, which is linked to from the main documentation page -doc/index.html in your installation of deal.II, or on the deal.II -webpage http://www.dealii.org/. - -

- -

-Quasistatic elastic deformation -

- -

- -

-Motivation of the model -

- -

-In general, time-dependent small elastic deformations are described by the -elastic wave equation -

-
- - - -
$\displaystyle \rho \frac{\partial^2 \vec u}{\partial t^2} + c \frac{\partial \vec u}{\partial t} - \div ( C \varepsilon(\vec u)) = \vec f$   in $ \Omega$ -$\displaystyle ,$ -(1)
-

-where -$ \vec u=\vec u (\vec x,t)$ - is the deformation of the body, $ \rho$ - -and $ c$ - the density and attenuation coefficient, and $ \vec f$ - external forces. -In addition, initial conditions -

-
- - - -
$\displaystyle \vec u(\cdot, 0) = \vec u_0(\cdot)$   on $ \Omega$ -$\displaystyle ,$ -(2)
-

-and Dirichlet (displacement) or Neumann (traction) boundary conditions need -to be specified for a unique solution: -

-
- - - - - - - - - - - - -
$\displaystyle \vec u(\vec x,t)$$\displaystyle = \vec d(\vec x,t) \qquad$ on -$ \Gamma_D\subset\partial\Omega$ -$\displaystyle ,$ -(3)
$\displaystyle \vec n \ C \varepsilon(\vec u(\vec x,t))$$\displaystyle = \vec b(\vec x,t) \qquad$ on -$ \Gamma_N=\partial\Omega\backslash\Gamma_D$ -$\displaystyle .$ -(4)
-

-In above formulation, -$ \varepsilon(\vec u)= \tfrac 12 (\nabla \vec u + \nabla
-\vec u^T)$ - is the symmetric gradient of the displacement, also called the -strain. $ C$ - is a tensor of rank 4, called the stress-strain - tensor that contains knowledge of the elastic strength of the material; its -symmetry properties make sure that it maps symmetric tensors of rank 2 -(``matrices'' of dimension $ d$ -, where $ d$ - is the spatial dimensionality) onto -symmetric tensors of the same rank. We will comment on the roles of the strain -and stress tensors more below. For the moment it suffices to say that we -interpret the term -$ \div ( C \varepsilon(\vec u))$ - as the vector with -components -$ \tfrac \partial{\partial x_j} C_{ijkl} \varepsilon(\vec u)_{kl}$ -, -where summation over indices $ j,k,l$ - is implied. - -

-The quasistatic limit of this equation is motivated as follows: each small -perturbation of the body, for example by changes in boundary condition or the -forcing function, will result in a corresponding change in the configuration -of the body. In general, this will be in the form of waves radiating away from -the location of the disturbance. Due to the presence of the damping term, -these waves will be attenuated on a time scale of, say, $ \tau$ -. Now, assume -that all changes in external forcing happen on times scales that are -much larger than $ \tau$ -. In that case, the dynamic nature of the change is -unimportant: we can consider the body to always be in static equilibrium, -i.e. we can assume that at all times the body satisfies -

-
- - - - - - - - - - - - - - - - - - -
$\displaystyle - \div ( C \varepsilon(\vec u))$$\displaystyle = \vec f$ in $ \Omega$ -$\displaystyle ,$ -(5)
$\displaystyle \vec u(\vec x,t)$$\displaystyle = \vec d(\vec x,t) \qquad$ on $ \Gamma_D$ -$\displaystyle ,$ -(6)
$\displaystyle \vec n \ C \varepsilon(\vec u(\vec x,t))$$\displaystyle = \vec b(\vec x,t) \qquad$ on $ \Gamma_N$ -$\displaystyle .$ -(7)
-

-Note that the differential equation does not contain any time derivatives any -more - all time dependence is introduced through boundary conditions and a -possibly time-varying force function -$ \vec f(\vec x,t)$ -. The changes in -configuration can therefore be considered as being stationary -instantaneously. An alternative view of this is that $ t$ - is not really a time -variable, but only a time-like parameter that governs the evolution of the -problem. - -

-While these equations are sufficient to describe small deformations, computing -large deformations is a little more complicated. To do so, let us first -introduce a tensorial stress variable $ \sigma$ -, and write the differential -equations in terms of the stress: -

-
- - - - - - - - - - - - - - - - - - -
$\displaystyle - \div\sigma$$\displaystyle = \vec f$ in $ \Omega(t)$ -$\displaystyle ,$ -(8)
$\displaystyle \vec u(\vec x,t)$$\displaystyle = \vec d(\vec x,t) \qquad$ on -$ \Gamma_D\subset\partial\Omega(t)$ -$\displaystyle ,$ -(9)
$\displaystyle \vec n \ C \varepsilon(\vec u(\vec x,t))$$\displaystyle = \vec b(\vec x,t) \qquad$ on -$ \Gamma_N=\partial\Omega(t)\backslash\Gamma_D$ -$\displaystyle .$ -(10)
-

-Note that these equations are posed on a domain $ \Omega(t)$ - that -changes with time, with the boundary moving according to the -displacements -$ \vec u(\vec x,t)$ - of the points on the boundary. To -complete this system, we have to specify the incremental relationship between -the stress and the strain, as follows: -

-
- - - -
$\displaystyle \dot\sigma = C \varepsilon (\dot{\vec u}),$ -(11)
-

-where a dot indicates a time derivative. Both the stress $ \sigma$ - and the -strain -$ \varepsilon(\vec u)$ - are symmetric tensors of rank 2. - -

- -

-Time discretization -

- -

-Numerically, this system is solved as follows: first, we discretize -the time component using a backward Euler scheme. This leads to a -discrete equilibrium of force at time step $ n$ -: -

-
- - - -
$\displaystyle -\div\sigma^n = f^n,$ -(12)
-

-where -

-
- - - -
$\displaystyle \sigma^n = \sigma^{n-1} + C \varepsilon (\Delta \vec u^n),$ -(13)
-

-and -$ \Delta \vec u^n$ - the incremental displacement for time step -$ n$ -. In addition, we have to specify initial data -$ \vec u(\cdot,0)=\vec u_0$ -. -This way, if we want to solve for the displacement increment, we -have to solve the following system: -

-
- - - - - - - - - - - - - - - - - - -
$\displaystyle - \div C \varepsilon(\Delta\vec u^n)$$\displaystyle = \vec f + \div\sigma^{n-1}$ in -$ \Omega(t_{n-1})$ -$\displaystyle ,$ -(14)
$\displaystyle \Delta \vec u^n(\vec x,t)$$\displaystyle = \vec d(\vec x,t_n) - \vec d(\vec x,t_{n-1}) \qquad$ on -$ \Gamma_D\subset\partial\Omega(t_{n-1})$ -$\displaystyle ,$ -(15)
$\displaystyle \vec n \ C \varepsilon(\Delta \vec u^n(\vec x,t))$$\displaystyle = \vec b(\vec x,t_n)-\vec b(\vec x,t_{n-1}) \qquad$ on -$ \Gamma_N=\partial\Omega(t_{n-1})\backslash\Gamma_D$ -$\displaystyle .$ -(16)
-

-The weak form of this set of equations, which as usual is the basis for the -finite element formulation, reads as follows: find -$ \Delta \vec u^n \in
-\{v\in H^1(\Omega(t_{n-1}))^d: v\vert _{\Gamma_D}=\vec d(\cdot,t_n) - \vec d(\cdot,t_{n-1})\}$ - -such that -

-
- - - -
\begin{gather*}\begin{split}(C \varepsilon(\Delta\vec u^n), \varepsilon(\varphi)...
-...in H^1(\Omega(t_{n-1}))^d: \vec v\vert _{\Gamma_D}=0\}. \end{split}\end{gather*} -(17)
-

-We note that, for simplicity, in the program we will always assume that there -are no boundary forces, i.e.  -$ \vec b = 0$ -, and that the deformation of the -body is driven by body forces $ \vec f$ - and prescribed boundary displacements -$ \vec d$ - alone. It is also worth noting that when integrating by parts, we -would get terms of the form -$ (C \varepsilon(\Delta\vec u^n), \nabla \varphi
-)_{\Omega(t_{n-1})}$ -, but that we replace it with the term involving the -symmetric gradient -$ \varepsilon(\varphi)$ - instead of -$ \nabla\varphi$ -. Due to -the symmetry of $ C$ -, the two terms are equivalent, but the symmetric version -avoids a potential for round-off to render the resulting matrix slightly -non-symmetric. - -

-The system at time step $ n$ -, to be solved on the old domain - -$ \Omega(t_{n-1})$ -, has exactly the form of a stationary elastic -problem, and is therefore similar to what we have already implemented -in previous example programs. We will therefore not comment on the -space discretization beyond saying that we again use lowest order -continuous finite elements. - -

-There are differences, however: - -

    -
  1. We have to move (update) the mesh after each time step, in order to be - able to solve the next time step on a new domain; - -

    -

  2. -
  3. We need to know -$ \sigma^{n-1}$ - to compute the next incremental - displacement, i.e. we need to compute it at the end of the time step - to make sure it is available for the next time step. Essentially, - the stress variable is our window to the history of deformation of - the body. -
  4. -
-These two operations are done in the functions move_mesh and -update_quadrature_point_history in the program. While moving -the mesh is only a technicality, updating the stress is a little more -complicated and will be discussed in the next section. - -

- -

-Updating the stress variable -

- -

-As indicated above, we need to have the stress variable $ \sigma^n$ - available -when computing time step $ n+1$ -, and we can compute it using -

-
- - - -
$\displaystyle \sigma^n = \sigma^{n-1} + C \varepsilon (\Delta \vec u^n).$ -(18)
-

-There are, despite the apparent simplicity of this equation, two questions -that we need to discuss. The first concerns the way we store $ \sigma^n$ -: even -if we compute the incremental updates -$ \Delta \vec u^n$ - using lowest-order -finite elements, then its symmetric gradient -$ \varepsilon(\Delta\vec u^n)$ - is -in general still a function that is not easy to describe. In particular, it is -not a piecewise constant function, and on general meshes (with cells that are -not rectangles parallel to the coordinate axes) or with non-constant -stress-strain tensors $ C$ - it is not even a bi- or trilinear function. Thus, it -is a priori not clear how to store $ \sigma^n$ - in a computer program. - -

-To decide this, we have to see where it is used. The only place where we -require the stress is in the term - -$ (\sigma^{n-1},\varepsilon(\varphi))_{\Omega(t_{n-1})}$ -. In practice, we of -course replace this term by numerical quadrature: -

-
- - - -
$\displaystyle (\sigma^{n-1},\varepsilon(\varphi))_{\Omega(t_{n-1})} = \sum_{K\s...
-...athbb{T}}} \sum_q w_q \ \sigma^{n-1}(\vec x_q) : \varepsilon(\varphi(\vec x_q),$ -(19)
-

-where $ w_q$ - are the quadrature weights and $ \vec x_q$ - the quadrature points on -cell $ K$ -. This should make clear that what we really need is not the stress - -$ \sigma^{n-1}$ - in itself, but only the values of the stress in the quadrature -points on all cells. This, however, is a simpler task: we only have to provide -a data structure that is able to hold one symmetric tensor of rank 2 for each -quadrature point on all cells (or, since we compute in parallel, all -quadrature points of all cells that the present MPI process ``owns''). At the -end of each time step we then only have to evaluate -$ \varepsilon(\Delta \vec u^n(\vec x_q))$ -, multiply it by the stress-strain tensor $ C$ -, and use the -result to update the stress -$ \sigma^n(\vec x_q)$ - at quadrature point $ q$ -. - -

-The second complication is not visible in our notation as chosen above. It is -due to the fact that we compute -$ \Delta u^n$ - on the domain -$ \Omega(t_{n-1})$ -, -and then use this displacement increment to both update the stress as well as -move the mesh nodes around to get to -$ \Omega(t_n)$ - on which the next increment -is computed. What we have to make sure, in this context, is that moving the -mesh does not only involve moving around the nodes, but also making -corresponding changes to the stress variable: the updated stress is a variable -that is defined with respect to the coordinate system of the material in the -old domain, and has to be transferred to the new domain. The reason for this -can be understood as follows: locally, the incremental deformation -$ \Delta\vec u$ - can be decomposed into three parts, a linear translation (the constant part -of the displacement increment field in the neighborhood of a point), a -dilational -component (that part of the gradient of the displacement field that has a -nonzero divergence), and a rotation. A linear translation of the material does -not affect the stresses that are frozen into it - the stress values are -simply translated along. The dilational or compressional change produces a -corresponding stress update. However, the rotational component does not -necessarily induce a nonzero stress update (think, in 2d, for example of the -situation where -$ \Delta\vec u=(y, -x)^T$ -, with which -$ \varepsilon(\Delta \vec u)=0$ -). Nevertheless, if the the material was pre-stressed in a certain -direction, then this direction will be rotated along with the material. To -this end, we have to define a rotation matrix -$ R(\Delta \vec u^n)$ - that -describes, in each point the rotation due to the displacement increments. It -is not hard to see that the actual dependence of $ R$ - on -$ \Delta \vec u^n$ - can -only be through the curl of the displacement, rather than the displacement -itself or its full gradient (as mentioned above, the constant components of -the increment describe translations, its divergence the dilational modes, and -the curl the rotational modes). Since the exact form of $ R$ - is cumbersome, we -only state it in the program code, and note that the correct updating formula -for the stress variable is then -

-
- - - -
$\displaystyle \sigma^n = R(\Delta \vec u^n)^T [\sigma^{n-1} + C \varepsilon (\Delta \vec u^n)] R(\Delta \vec u^n).$ -(20)
-

- -

-Both stress update and rotation are implemented in the function -update_quadrature_point_history of the example program. - -

- -

-Parallel graphical output -

- -

-In the step-17 example program, the main bottleneck for parallel computations -was that only the first processor generated output for the entire domain. -Since generating graphical output is expensive, this did not scale well when -large numbers of processors were involved. However, no viable ways around this -problem were implemented in the library at the time, and the problem was -deferred to a later version. - -

-This functionality has been implemented in the meantime, and this is the time -to explain its use. Basically, what we need to do is let every process -generate graphical output for that subset of cells that it owns, write them -into separate files and have a way to merge them later on. At this point, it -should be noted that none of the graphical output formats known to the author -of this program allows for a simple way to later re-read it and merge it with -other files corresponding to the same simulation. What deal.II therefore -offers is the following: When you call the DataOut::build_patches -function, an intermediate format is generated that contains all the -information for the data on each cell. Usually, this intermediate format is -then further processed and converted into one of the graphical formats that we -can presently write, such as gmv, eps, ucd, gnuplot, or a number of other -ones. Once written in these formats, there is no way to reconstruct the -necessary information to merge multiple blocks of output. However, the base -classes of DataOut also allow to simply dump the intermediate format -to a file, from which it can later be recovered without loss of information. - -

-This has two advantages: first, simulations may just dump the intermediate -format data during run-time, and the user may later decide which particular -graphics format she wants to have. This way, she does not have to re-run the -entire simulation if graphical output is requested in a different format. One -typical case is that one would like to take a quick look at the data with -gnuplot, and then create high-quality pictures using GMV or OpenDX. Since both -can be generated out of the intermediate format without problem, there is no -need to re-run the simulation. - -

-In the present context, of more interest is the fact that in contrast to any -of the other formats, it is simple to merge multiple files of intermediate -format, if they belong to the same simulation. This is what we will do here: -we will generate one output file in intermediate format for each processor -that belongs to this computation (in the sequential case, this will simply be -a single file). They may then later be read in and merged so that we can -output a single file in whatever graphical format is requested. - -

-The way to do this is to first instruct the DataOutBase class to -write intermediate format rather than in gmv or any other graphical -format. This is simple: just use -data_out.write_deal_II_intermediate. We will write to a file -called solution-TTTT.TTTT.d2 if there is only one processor, or -files solution-TTTT.TTTT.NNN.d2 if this is really a parallel -job. Here, TTTT.TTTT denotes the time for which this output has -been generated, and NNN the number of the MPI process that did this. - -

-The next step is to convert this file or these files into whatever -format you like. The program that does this is the step-19 tutorial program: -for example, for the first time step, call it through -

-../step-19/step-19 solution-0001.0000.*.d2 solution-0001.0000.gmv - -
-to merge all the intermediate format files into a single file in GMV -format. More details on the parameters of this program and what it can do for -you can be found in the documentation of the step-19 tutorial program. - -

- -

-Overall structure of the program -

- -

-The overall structure of the program can be inferred from the run() -function that first calls do_initial_timestep() for the first time -step, and then do_timestep() on all subsequent time steps. The -difference between these functions is only that in the first time step we -start on a coarse mesh, solve on it, refine the mesh adaptively, and then -start again with a clean state on that new mesh. This procedure gives us a -better starting mesh, although we should of course keep adapting the mesh as -iterations proceed - this isn't done in this program, but commented on below. - -

-The common part of the two functions treating time steps is the following -sequence of operations on the present mesh: - -

- -

-With this general structure of the code, we only have to define what case we -want to solve. For the present program, we have chosen to simulate the -quasistatic deformation of a vertical cylinder for which the bottom boundary -is fixed and the top boundary is pushed down at a prescribed vertical -velocity. However, the horizontal velocity of the top boundary is left -unspecified - one can imagine this situation as a well-greased plate pushing -from the top onto the cylinder, the points on the top boundary of the cylinder -being allowed to slide horizontally along the surface of the plate, but forced -to move downward by the plate. The inner and outer boundaries of the cylinder -are free and not subject to any prescribed deflection or traction. In -addition, gravity acts on the body. - -

-The program text will reveal more about how to implement this situation, and -the results section will show what displacement pattern comes out of this -simulation. - -

- -

-Possible directions for extensions -

- -

-The program as is does not really solve an equation that has many applications -in practice: quasi-static material deformation based on a purely elastic law -is almost boring. However, the program may serve as the starting point for -more interesting experiments, and that indeed was the initial motivation for -writing it. Here are some suggestions of what the program is missing and in -what direction it may be extended: - -

- -

-Plasticity models. -

The most obvious extension is to use a more -realistic material model for large-scale quasistatic deformation. The natural -choice for this would be plasticity, in which a nonlinear relationship between -stress and strain replaces equation ([*]). Plasticity -models are usually rather complicated to program since the stress-strain -dependence is generally non-smooth. The material can be thought of being able -to withstand only a maximal stress (the yield stress) after which it starts to -``flow''. A mathematical description to this can be given in the form of a -variational inequality, which alternatively can be treated as minimizing the -elastic energy -

-
- - - -
$\displaystyle E(\vec u) = (\varepsilon(\vec u), C\varepsilon(\vec u))_{\Omega} - (\vec f, \vec u)_{\Omega} - (\vec b, \vec u)_{\Gamma_N},$ -(24)
-

-subject to the constraint -

-
- - - -
$\displaystyle f(\sigma(\vec u)) \le 0$ -(25)
-

-on the stress. This extension makes the problem to be solved in each time step -nonlinear, so we need another loop within each time step. - -

-Without going into further details of this model, we refer to the excellent -book by Simo and Hughes on ``Computational Inelasticity'' for a -comprehensive overview of computational strategies for solving plastic -models. Alternatively, a brief but concise description of an algorithm for -plasticity is given in an article by S. Commend, A. Truty, and Th. Zimmermann, -titled ``Stabilized finite elements applied to -elastoplasticity: I. Mixed displacement-pressure formulation'' -(Computer Methods in Applied Mechanics and Engineering, vol. 193, -pp. 3559-3586, 2004). - -

- -

-Stabilization issues. -

The formulation we have chosen, i.e. using -piecewise (bi-, tri-)linear elements for all components of the displacement -vector, and treating the stress as a variable dependent on the displacement is -appropriate for most materials. However, this so-called displacement-based -formulation becomes unstable and exhibits spurious modes for incompressible or -nearly-incompressible materials. While fluids are usually not elastic (in most -cases, the stress depends on velocity gradients, not displacement gradients, -although there are exceptions such as electro-rheologic fluids), there are a -few solids that are nearly incompressible, for example rubber. Another case is -that many plasticity models ultimately let the material become incompressible, -although this is outside the scope of the present program. - -

-Incompressibility is characterized by Poisson's ratio -

-
- - - -
$\displaystyle \nu = \frac{\lambda}{2(\lambda+\mu)},$ -   
-

-where -$ \lambda,\mu$ - are the Lamé constants of the material. -Physical constraints indicate that -$ -1\le \nu\le \tfrac 12$ - (the condition -also follows from mathematical stability considerations). If $ \nu$ - -approaches $ \tfrac 12$ -, then the material becomes incompressible. In that -case, pure displacement-based formulations are no longer appropriate for the -solution of such problems, and stabilization techniques have to be employed -for a stable and accurate solution. The book and paper cited above give -indications as to how to do this, but there is also a large volume of -literature on this subject; a good start to get an overview of the topic can -be found in the references of the paper by -H.-Y. Duan and Q. Lin on ``Mixed finite elements of least-squares type for -elasticity'' (Computer Methods in Applied Mechanics and Engineering, vol. 194, -pp. 1093-1112, 2005). - -

- -

-Refinement during timesteps. -

In the present form, the program -only refines the initial mesh a number of times, but then never again. For any -kind of realistic simulation, one would want to extend this so that the mesh -is refined and coarsened every few time steps instead. This is not hard to do, -in fact, but has been left for future tutorial programs or as an exercise, if -you wish. The main complication one has to overcome is that one has to -transfer the data that is stored in the quadrature points of the cells of the -old mesh to the new mesh, preferably by some sort of projection scheme. This -is only slightly messy in the sequential case; in fact, the functions -FETools :: get_projection_from_quadrature_points_matrix will do -the projection, and the FiniteElement :: get_restriction_matrix and -FiniteElement :: get_prolongation_matrix functions will do the -transfer between mother and child cells. However, it becomes complicated -once we run the program in parallel, since then each process only stores this -data for the cells it owned on the old mesh, and it may need to know the -values of the quadrature point data on other cells if the corresponding cells -on the new mesh are assigned to this process after subdividing the new mesh. A -global communication of these data elements is therefore necessary, making the -entire process a little more unpleasant. - -

- -

-Ensuring mesh regularity. -

At present, the program makes no attempt -to make sure that a cell, after moving its vertices at the end of the time -step, still has a valid geometry (i.e. that its Jacobian determinant is -positive and bounded away from zero everywhere). It is, in fact, not very hard -to set boundary values and forcing terms in such a way that one gets distorted -and inverted cells rather quickly. Certainly, in some cases of large -deformation, this is unavoidable with a mesh of finite mesh size, but in some -other cases this should be preventable by appropriate mesh refinement and/or a -reduction of the time step size. The program does not do that, but a more -sophisticated version definitely should employ some sort of heuristic defining -what amount of deformation of cells is acceptable, and what isn't. - -

- -

-Compiling the program -

- -

-Finally, just to remind everyone: the program runs in 3d (see the definition -of the elastic_problem variable in main(), unlike almost -all of the other example programs. While the compiler doesn't care what -dimension it compiles for, the linker has to know which library to link with. -And as explained in other places, this requires slight changes to the Makefile -compared to the other tutorial programs. In particular, everywhere where the -2d versions of libraries are mentioned, one needs to change this to 3d, -although this is already done in the distributed version of the Makefile. -Conversely, if you want to run the program in 2d (after making the necessary -changes to accommodate for a 2d geometry), you have to change the Makefile -back to allow for 2d. diff --git a/deal.II/examples/step-18/doc/intro.pdf b/deal.II/examples/step-18/doc/intro.pdf deleted file mode 100644 index d03b5a01be7d163de03fc945fd346f450cbef27f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132708 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

eiyvy%_J~1aC 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 Kf~KOAiLglbeU9wJ}~V- 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 KlMBfR!~b8bi(X0q diff --git a/deal.II/examples/step-18/doc/intro.tex b/deal.II/examples/step-18/doc/intro.tex deleted file mode 100644 index 0bc030bd3a..0000000000 --- a/deal.II/examples/step-18/doc/intro.tex +++ /dev/null @@ -1,666 +0,0 @@ -\documentclass{article} -\usepackage{amsmath} -\usepackage{amsfonts} -\renewcommand{\vec}[1]{\mathbf{#1}} -\renewcommand{\div}{\mathrm{div}\ } -\begin{document} - -This tutorial program is another one in the series on the elasticity problem -that we have already started with step-8 and step-17. It extends it into two -different directions: first, it solves the quasistatic but time dependent -elasticity problem for large deformations with a Lagrangian mesh movement -approach. Secondly, it shows some more techniques for solving such problems -using parallel processing with PETSc's linear algebra. In addition to this, we -show how to work around the main bottleneck of step-17, namely that we -generated graphical output from only one process, and that this scaled very -badly with larger numbers of processes and on large problems. Finally, a good -number of assorted improvements and techniques are demonstrated that have not -been shown yet in previous programs. - -As before in step-17, the program runs just as fine on a single sequential -machine as long as you have PETSc installed. Information on how to tell -deal.II about a PETSc installation on your system can be found in the deal.II -README file, which is linked to from the main documentation page -\texttt{doc/index.html} in your installation of deal.II, or on the deal.II -webpage \texttt{http://www.dealii.org/}. - - -\subsection*{Quasistatic elastic deformation} - -\subsubsection*{Motivation of the model} - -In general, time-dependent small elastic deformations are described by the -elastic wave equation -\begin{gather} - \rho \frac{\partial^2 \vec u}{\partial t^2} - + c \frac{\partial \vec u}{\partial t} - - \div ( C \varepsilon(\vec u)) = \vec f - \qquad - \text{in $\Omega$}, -\end{gather} -where $\vec u=\vec u (\vec x,t)$ is the deformation of the body, $\rho$ -and $c$ the density and attenuation coefficient, and $\vec f$ external forces. -In addition, initial conditions -\begin{align} - \vec u(\cdot, 0) = \vec u_0(\cdot) - \qquad - \text{on $\Omega$}, -\end{align} -and Dirichlet (displacement) or Neumann (traction) boundary conditions need -to be specified for a unique solution: -\begin{align} - \vec u(\vec x,t) &= \vec d(\vec x,t) - \qquad - &&\text{on $\Gamma_D\subset\partial\Omega$}, - \\ - \vec n \ C \varepsilon(\vec u(\vec x,t)) &= \vec b(\vec x,t) - \qquad - &&\text{on $\Gamma_N=\partial\Omega\backslash\Gamma_D$}. -\end{align} -In above formulation, $\varepsilon(\vec u)= \tfrac 12 (\nabla \vec u + \nabla -\vec u^T)$ is the symmetric gradient of the displacement, also called the -\textit{strain}. $C$ is a tensor of rank 4, called the \textit{stress-strain - tensor} that contains knowledge of the elastic strength of the material; its -symmetry properties make sure that it maps symmetric tensors of rank 2 -(``matrices'' of dimension $d$, where $d$ is the spatial dimensionality) onto -symmetric tensors of the same rank. We will comment on the roles of the strain -and stress tensors more below. For the moment it suffices to say that we -interpret the term $\div ( C \varepsilon(\vec u))$ as the vector with -components $\tfrac \partial{\partial x_j} C_{ijkl} \varepsilon(\vec u)_{kl}$, -where summation over indices $j,k,l$ is implied. - -The quasistatic limit of this equation is motivated as follows: each small -perturbation of the body, for example by changes in boundary condition or the -forcing function, will result in a corresponding change in the configuration -of the body. In general, this will be in the form of waves radiating away from -the location of the disturbance. Due to the presence of the damping term, -these waves will be attenuated on a time scale of, say, $\tau$. Now, assume -that all changes in external forcing happen on times scales that are -much larger than $\tau$. In that case, the dynamic nature of the change is -unimportant: we can consider the body to always be in static equilibrium, -i.e.~we can assume that at all times the body satisfies -\begin{align} - - \div ( C \varepsilon(\vec u)) &= \vec f - &&\text{in $\Omega$}, - \\ - \vec u(\vec x,t) &= \vec d(\vec x,t) - \qquad - &&\text{on $\Gamma_D$}, - \\ - \vec n \ C \varepsilon(\vec u(\vec x,t)) &= \vec b(\vec x,t) - \qquad - &&\text{on $\Gamma_N$}. -\end{align} -Note that the differential equation does not contain any time derivatives any -more -- all time dependence is introduced through boundary conditions and a -possibly time-varying force function $\vec f(\vec x,t)$. The changes in -configuration can therefore be considered as being stationary -instantaneously. An alternative view of this is that $t$ is not really a time -variable, but only a time-like parameter that governs the evolution of the -problem. - -While these equations are sufficient to describe small deformations, computing -large deformations is a little more complicated. To do so, let us first -introduce a tensorial stress variable $\sigma$, and write the differential -equations in terms of the stress: -\begin{align} - - \div \sigma &= \vec f - &&\text{in $\Omega(t)$}, - \\ - \vec u(\vec x,t) &= \vec d(\vec x,t) - \qquad - &&\text{on $\Gamma_D\subset\partial\Omega(t)$}, - \\ - \vec n \ C \varepsilon(\vec u(\vec x,t)) &= \vec b(\vec x,t) - \qquad - &&\text{on $\Gamma_N=\partial\Omega(t)\backslash\Gamma_D$}. -\end{align} -Note that these equations are posed on a domain $\Omega(t)$ that -changes with time, with the boundary moving according to the -displacements $\vec u(\vec x,t)$ of the points on the boundary. To -complete this system, we have to specify the incremental relationship between -the stress and the strain, as follows: -\begin{align} - \label{eq:stress-strain} - \dot\sigma = C \varepsilon (\dot{\vec u}), -\end{align} -where a dot indicates a time derivative. Both the stress $\sigma$ and the -strain $\varepsilon(\vec u)$ are symmetric tensors of rank 2. - - -\subsubsection*{Time discretization} - -Numerically, this system is solved as follows: first, we discretize -the time component using a backward Euler scheme. This leads to a -discrete equilibrium of force at time step $n$: -\begin{gather} - -\div \sigma^n = f^n, -\end{gather} -where -\begin{gather} - \sigma^n = \sigma^{n-1} + C \varepsilon (\Delta \vec u^n), -\end{gather} -and $\Delta \vec u^n$ the incremental displacement for time step -$n$. In addition, we have to specify initial data $\vec u(\cdot,0)=\vec u_0$. -This way, if we want to solve for the displacement increment, we -have to solve the following system: -\begin{align} - - \div C \varepsilon(\Delta\vec u^n) &= \vec f + \div \sigma^{n-1} - &&\text{in $\Omega(t_{n-1})$}, - \\ - \Delta \vec u^n(\vec x,t) &= \vec d(\vec x,t_n) - \vec d(\vec x,t_{n-1}) - \qquad - &&\text{on $\Gamma_D\subset\partial\Omega(t_{n-1})$}, - \\ - \vec n \ C \varepsilon(\Delta \vec u^n(\vec x,t)) &= \vec b(\vec x,t_n)-\vec b(\vec x,t_{n-1}) - \qquad - &&\text{on $\Gamma_N=\partial\Omega(t_{n-1})\backslash\Gamma_D$}. -\end{align} -The weak form of this set of equations, which as usual is the basis for the -finite element formulation, reads as follows: find $\Delta \vec u^n \in -\{v\in H^1(\Omega(t_{n-1}))^d: v|_{\Gamma_D}=\vec d(\cdot,t_n) - \vec d(\cdot,t_{n-1})\}$ -such that -\begin{gather} - \begin{split} - \label{eq:linear-system} - (C \varepsilon(\Delta\vec u^n), \varepsilon(\varphi) )_{\Omega(t_{n-1})} - = - (\vec f, \varphi)_{\Omega(t_{n-1})} - -(\sigma^{n-1},\varepsilon(\varphi))_{\Omega(t_{n-1})} - \\ - +(\vec b(\vec x,t_n)-\vec b(\vec x,t_{n-1}), \varphi)_{\Gamma_N} - \\ - \forall \varphi \in \{\vec v\in H^1(\Omega(t_{n-1}))^d: \vec - v|_{\Gamma_D}=0\}. - \end{split} -\end{gather} -We note that, for simplicity, in the program we will always assume that there -are no boundary forces, i.e.~$\vec b = 0$, and that the deformation of the -body is driven by body forces $\vec f$ and prescribed boundary displacements -$\vec d$ alone. It is also worth noting that when integrating by parts, we -would get terms of the form $(C \varepsilon(\Delta\vec u^n), \nabla \varphi -)_{\Omega(t_{n-1})}$, but that we replace it with the term involving the -symmetric gradient $\varepsilon(\varphi)$ instead of $\nabla\varphi$. Due to -the symmetry of $C$, the two terms are equivalent, but the symmetric version -avoids a potential for round-off to render the resulting matrix slightly -non-symmetric. - -The system at time step $n$, to be solved on the old domain -$\Omega(t_{n-1})$, has exactly the form of a stationary elastic -problem, and is therefore similar to what we have already implemented -in previous example programs. We will therefore not comment on the -space discretization beyond saying that we again use lowest order -continuous finite elements. - -There are differences, however: -\begin{enumerate} - \item We have to move (update) the mesh after each time step, in order to be - able to solve the next time step on a new domain; - - \item We need to know $\sigma^{n-1}$ to compute the next incremental - displacement, i.e.~we need to compute it at the end of the time step - to make sure it is available for the next time step. Essentially, - the stress variable is our window to the history of deformation of - the body. -\end{enumerate} -These two operations are done in the functions \texttt{move\_mesh} and -\texttt{update\_\-quadrature\_\-point\_history} in the program. While moving -the mesh is only a technicality, updating the stress is a little more -complicated and will be discussed in the next section. - - -\subsubsection*{Updating the stress variable} - -As indicated above, we need to have the stress variable $\sigma^n$ available -when computing time step $n+1$, and we can compute it using -\begin{gather} - \label{eq:stress-update} - \sigma^n = \sigma^{n-1} + C \varepsilon (\Delta \vec u^n). -\end{gather} -There are, despite the apparent simplicity of this equation, two questions -that we need to discuss. The first concerns the way we store $\sigma^n$: even -if we compute the incremental updates $\Delta\vec u^n$ using lowest-order -finite elements, then its symmetric gradient $\varepsilon(\Delta\vec u^n)$ is -in general still a function that is not easy to describe. In particular, it is -not a piecewise constant function, and on general meshes (with cells that are -not rectangles parallel to the coordinate axes) or with non-constant -stress-strain tensors $C$ it is not even a bi- or trilinear function. Thus, it -is a priori not clear how to store $\sigma^n$ in a computer program. - -To decide this, we have to see where it is used. The only place where we -require the stress is in the term -$(\sigma^{n-1},\varepsilon(\varphi))_{\Omega(t_{n-1})}$. In practice, we of -course replace this term by numerical quadrature: -\begin{gather} - (\sigma^{n-1},\varepsilon(\varphi))_{\Omega(t_{n-1})} - = - \sum_{K\subset {\mathbb{T}}} - (\sigma^{n-1},\varepsilon(\varphi))_K - \approx - \sum_{K\subset {\mathbb{T}}} - \sum_q - w_q \ \sigma^{n-1}(\vec x_q) : \varepsilon(\varphi(\vec x_q), -\end{gather} -where $w_q$ are the quadrature weights and $\vec x_q$ the quadrature points on -cell $K$. This should make clear that what we really need is not the stress -$\sigma^{n-1}$ in itself, but only the values of the stress in the quadrature -points on all cells. This, however, is a simpler task: we only have to provide -a data structure that is able to hold one symmetric tensor of rank 2 for each -quadrature point on all cells (or, since we compute in parallel, all -quadrature points of all cells that the present MPI process ``owns''). At the -end of each time step we then only have to evaluate $\varepsilon(\Delta \vec -u^n(\vec x_q))$, multiply it by the stress-strain tensor $C$, and use the -result to update the stress $\sigma^n(\vec x_q)$ at quadrature point $q$. - -The second complication is not visible in our notation as chosen above. It is -due to the fact that we compute $\Delta u^n$ on the domain $\Omega(t_{n-1})$, -and then use this displacement increment to both update the stress as well as -move the mesh nodes around to get to $\Omega(t_n)$ on which the next increment -is computed. What we have to make sure, in this context, is that moving the -mesh does not only involve moving around the nodes, but also making -corresponding changes to the stress variable: the updated stress is a variable -that is defined with respect to the coordinate system of the material in the -old domain, and has to be transferred to the new domain. The reason for this -can be understood as follows: locally, the incremental deformation $\Delta\vec -u$ can be decomposed into three parts, a linear translation (the constant part -of the displacement increment field in the neighborhood of a point), a -dilational -component (that part of the gradient of the displacement field that has a -nonzero divergence), and a rotation. A linear translation of the material does -not affect the stresses that are frozen into it -- the stress values are -simply translated along. The dilational or compressional change produces a -corresponding stress update. However, the rotational component does not -necessarily induce a nonzero stress update (think, in 2d, for example of the -situation where $\Delta\vec u=(y, -x)^T$, with which $\varepsilon(\Delta \vec -u)=0$). Nevertheless, if the the material was pre-stressed in a certain -direction, then this direction will be rotated along with the material. To -this end, we have to define a rotation matrix $R(\Delta \vec u^n)$ that -describes, in each point the rotation due to the displacement increments. It -is not hard to see that the actual dependence of $R$ on $\Delta \vec u^n$ can -only be through the curl of the displacement, rather than the displacement -itself or its full gradient (as mentioned above, the constant components of -the increment describe translations, its divergence the dilational modes, and -the curl the rotational modes). Since the exact form of $R$ is cumbersome, we -only state it in the program code, and note that the correct updating formula -for the stress variable is then -\begin{gather} - \label{eq:stress-update+rot} - \sigma^n - = - R(\Delta \vec u^n)^T - [\sigma^{n-1} + C \varepsilon (\Delta \vec u^n)] - R(\Delta \vec u^n). -\end{gather} - -Both stress update and rotation are implemented in the function -\texttt{update\_\-quadrature\_\-point\_history} of the example program. - - -\subsection*{Parallel graphical output} - -In the step-17 example program, the main bottleneck for parallel computations -was that only the first processor generated output for the entire domain. -Since generating graphical output is expensive, this did not scale well when -large numbers of processors were involved. However, no viable ways around this -problem were implemented in the library at the time, and the problem was -deferred to a later version. - -This functionality has been implemented in the meantime, and this is the time -to explain its use. Basically, what we need to do is let every process -generate graphical output for that subset of cells that it owns, write them -into separate files and have a way to merge them later on. At this point, it -should be noted that none of the graphical output formats known to the author -of this program allows for a simple way to later re-read it and merge it with -other files corresponding to the same simulation. What deal.II therefore -offers is the following: When you call the \texttt{DataOut::build\_patches} -function, an intermediate format is generated that contains all the -information for the data on each cell. Usually, this intermediate format is -then further processed and converted into one of the graphical formats that we -can presently write, such as gmv, eps, ucd, gnuplot, or a number of other -ones. Once written in these formats, there is no way to reconstruct the -necessary information to merge multiple blocks of output. However, the base -classes of \texttt{DataOut} also allow to simply dump the intermediate format -to a file, from which it can later be recovered without loss of information. - -This has two advantages: first, simulations may just dump the intermediate -format data during run-time, and the user may later decide which particular -graphics format she wants to have. This way, she does not have to re-run the -entire simulation if graphical output is requested in a different format. One -typical case is that one would like to take a quick look at the data with -gnuplot, and then create high-quality pictures using GMV or OpenDX. Since both -can be generated out of the intermediate format without problem, there is no -need to re-run the simulation. - -In the present context, of more interest is the fact that in contrast to any -of the other formats, it is simple to merge multiple files of intermediate -format, if they belong to the same simulation. This is what we will do here: -we will generate one output file in intermediate format for each processor -that belongs to this computation (in the sequential case, this will simply be -a single file). They may then later be read in and merged so that we can -output a single file in whatever graphical format is requested. - -The way to do this is to first instruct the \texttt{DataOutBase} class to -write intermediate format rather than in gmv or any other graphical -format. This is simple: just use -\texttt{data\_out.write\_deal\_II\_intermediate}. We will write to a file -called \texttt{solution-TTTT.TTTT.d2} if there is only one processor, or -files \texttt{solution-TTTT.TTTT.NNN.d2} if this is really a parallel -job. Here, \texttt{TTTT.TTTT} denotes the time for which this output has -been generated, and \texttt{NNN} the number of the MPI process that did this. - -The next step is to convert this file or these files into whatever -format you like. The program that does this is the step-19 tutorial program: -for example, for the first time step, call it through -\begin{center} - \texttt{../step-19/step-19 solution-0001.0000.*.d2 solution-0001.0000.gmv} -\end{center} -to merge all the intermediate format files into a single file in GMV -format. More details on the parameters of this program and what it can do for -you can be found in the documentation of the step-19 tutorial program. - - - -\subsection*{Overall structure of the program} - -The overall structure of the program can be inferred from the \texttt{run()} -function that first calls \texttt{do\_initial\_timestep()} for the first time -step, and then \texttt{do\_timestep()} on all subsequent time steps. The -difference between these functions is only that in the first time step we -start on a coarse mesh, solve on it, refine the mesh adaptively, and then -start again with a clean state on that new mesh. This procedure gives us a -better starting mesh, although we should of course keep adapting the mesh as -iterations proceed -- this isn't done in this program, but commented on below. - -The common part of the two functions treating time steps is the following -sequence of operations on the present mesh: -\begin{itemize} -\item \texttt{assemble\_system ()} [via \texttt{solve\_timestep ()}]: - This first function is also the most interesting one. It assembles the - linear system corresponding to the discretized version of equation - \eqref{eq:linear-system}. This leads to a system matrix $A_{ij} = \sum_K - A^K_{ij}$ built up of local contributions on each cell $K$ with entries - \begin{gather} - A^K_{ij} = (C \varepsilon(\varphi_j), \varepsilon(\varphi_i))_K; - \end{gather} - In practice, $A^K$ is computed using numerical quadrature according to the - formula - \begin{gather} - A^K_{ij} = \sum_q w_q [\varepsilon(\varphi_i(\vec x_q)) : C : - \varepsilon(\varphi_j(\vec x_q))], - \end{gather} - with quadrature points $\vec x_q$ and weights $w_q$. We have built these - contributions before, in step-8 and step-17, but in both of these cases we - have done so rather clumsily by using knowledge of how the rank-4 tensor $C$ - is composed, and considering individual elements of the strain tensors - $\varepsilon(\varphi_i),\varepsilon(\varphi_j)$. This is not really - convenient, in particular if we want to consider more complicated elasticity - models than the isotropic case for which $C$ had the convenient form - $C_{ijkl} = \lambda \delta_{ij} \delta_{kl} + \mu (\delta_{ik} \delta_{jl} - + \delta_{il} \delta_{jk})$. While we in fact do not use a more complicated - form than this in the present program, we nevertheless want to write it in a - way that would easily allow for this. It is then natural to introduce - classes that represent symmetric tensors of rank 2 (for the strains and - stresses) and 4 (for the stress-strain tensor $C$). Fortunately, deal.II - provides these: the \texttt{SymmetricTensor} class template - provides a full-fledged implementation of such tensors of rank \texttt{rank} - (which needs to be an even number) and dimension \texttt{dim}. - - What we then need is two things: a way to create the stress-strain rank-4 - tensor $C$ as well as to create a symmetric tensor of rank 2 (the strain - tensor) from the gradients of a shape function $\varphi_i$ at a quadrature - point $\vec x_q$ on a given cell. At the top of the implementation of this - example program, you will find such functions. The first one, - \texttt{get\_stress\_strain\_tensor}, takes two arguments corresponding to - the Lam\'e constants $\lambda$ and $\mu$ and returns the stress-strain tensor - for the isotropic case corresponding to these constants (in the program, we - will choose constants corresponding to steel); it would be simple to replace - this function by one that computes this tensor for the anisotropic case, or - taking into account crystal symmetries, for example. The second one, - \texttt{get\_strain} takes an object of type \texttt{FEValues} and indices - $i$ and $q$ and returns the symmetric gradient, i.e. the strain, - corresponding to shape function $\varphi_i(\vec x_q)$, evaluated on the cell - on which the \texttt{FEValues} object was last reinitialized. - - Given this, the innermost loop of \texttt{assemble\_system} computes the - local contributions to the matrix in the following elegant way (the variable - \texttt{stress\_strain\_tensor}, corresponding to the tensor $C$, has - previously been initialized with the result of the first function above): - \begin{verbatim} -for (unsigned int i=0; i - eps_phi_i = get_strain (fe_values, i, q_point), - eps_phi_j = get_strain (fe_values, j, q_point); - - cell_matrix(i,j) - += (eps_phi_i * stress_strain_tensor * eps_phi_j - * - fe_values.JxW (q_point)); - } - \end{verbatim} - It is worth noting the expressive power of this piece of code, and to - compare it with the complications we had to go through in previous examples - for the elasticity problem. (To be fair, the \texttt{SymmetricTensor} class - template did not exist when these previous examples were written.) For - simplicity, \texttt{operator*} provides for the (double summation) product - between symmetric tensors of even rank here. - - Assembling the local contributions - \begin{gather} - \begin{split} - f^K_i &= - (\vec f, \varphi_i)_K -(\sigma^{n-1},\varepsilon(\varphi_i))_K - \\ - &\approx - \sum_q - w_q \left\{ - \vec f(\vec x_q) \cdot \varphi_i(\vec x_q) - - \sigma^{n-1}_q : \varepsilon(\varphi_i(\vec x_q)) - \right\} - \end{split} - \end{gather} - to the right hand side of \eqref{eq:linear-system} is equally - straightforward (note that we do not consider any boundary tractions $\vec - b$ here). Remember that we only had to store the old stress in the - quadrature points of cells. In the program, we will provide a variable - \texttt{local\_quadrature\_points\_data} that allows to access the stress - $\sigma^{n-1}_q$ in each quadrature point. With this the code for the right - hand side looks as this, again rather elegant: - \begin{verbatim} -for (unsigned int i=0; i &old_stress - = local_quadrature_points_data[q_point].old_stress; - - cell_rhs(i) += (body_force_values[q_point](component_i) * - fe_values.shape_value (i,q_point) - - - old_stress * - get_strain (fe_values,i,q_point)) - * - fe_values.JxW (q_point); - } - } - \end{verbatim} - Note that in the multiplication $\vec f(\vec x_q) \cdot \varphi_i(\vec - x_q)$, we have made use of the fact that for the chosen finite element, only - one vector component (namely \texttt{component\_i}) of $\varphi_i$ is - nonzero, and that we therefore also have to consider only one component of - $\vec f(\vec x_q)$. - - This essentially concludes the new material we present in this function. It - later has to deal with boundary conditions as well as hanging node - constraints, but this parallels what we had to do previously in other - programs already. - -\item \texttt{solve\_linear\_problem ()} [via \texttt{solve\_timestep ()}]: - Unlike the previous one, this function is not really interesting, since it - does what similar functions have done in all previous tutorial programs -- - solving the linear system using the CG method, using an incomplete LU - decomposition as a preconditioner (in the parallel case, it uses an ILU of - each processor's block separately). It is virtually unchanged - from step-17. - -\item \texttt{update\_quadrature\_point\_history ()} [via - \texttt{solve\_timestep ()}]: Based on the displacement field $\Delta \vec - u^n$ computed before, we update the stress values in all quadrature points - according to \eqref{eq:stress-update} and \eqref{eq:stress-update+rot}, - including the rotation of the coordinate system. - -\item \texttt{move\_mesh ()}: Given the solution computed before, in this - function we deform the mesh by moving each vertex by the displacement vector - field evaluated at this particular vertex. - -\item \texttt{output\_results ()}: This function simply outputs the solution - based on what we have said above, i.e. every processor computes output only - for its own portion of the domain, and this can then be later merged by an - external program. In addition to the solution, we also compute the norm of - the stress averaged over all the quadrature points on each cell. -\end{itemize} - -With this general structure of the code, we only have to define what case we -want to solve. For the present program, we have chosen to simulate the -quasistatic deformation of a vertical cylinder for which the bottom boundary -is fixed and the top boundary is pushed down at a prescribed vertical -velocity. However, the horizontal velocity of the top boundary is left -unspecified -- one can imagine this situation as a well-greased plate pushing -from the top onto the cylinder, the points on the top boundary of the cylinder -being allowed to slide horizontally along the surface of the plate, but forced -to move downward by the plate. The inner and outer boundaries of the cylinder -are free and not subject to any prescribed deflection or traction. In -addition, gravity acts on the body. - -The program text will reveal more about how to implement this situation, and -the results section will show what displacement pattern comes out of this -simulation. - -\subsection*{Possible directions for extensions} - -The program as is does not really solve an equation that has many applications -in practice: quasi-static material deformation based on a purely elastic law -is almost boring. However, the program may serve as the starting point for -more interesting experiments, and that indeed was the initial motivation for -writing it. Here are some suggestions of what the program is missing and in -what direction it may be extended: - -\paragraph*{Plasticity models.} The most obvious extension is to use a more -realistic material model for large-scale quasistatic deformation. The natural -choice for this would be plasticity, in which a nonlinear relationship between -stress and strain replaces equation \eqref{eq:stress-strain}. Plasticity -models are usually rather complicated to program since the stress-strain -dependence is generally non-smooth. The material can be thought of being able -to withstand only a maximal stress (the yield stress) after which it starts to -``flow''. A mathematical description to this can be given in the form of a -variational inequality, which alternatively can be treated as minimizing the -elastic energy -\begin{gather} - E(\vec u) = - (\varepsilon(\vec u), C\varepsilon(\vec u))_{\Omega} - - (\vec f, \vec u)_{\Omega} - (\vec b, \vec u)_{\Gamma_N}, -\end{gather} -subject to the constraint -\begin{gather} - f(\sigma(\vec u)) \le 0 -\end{gather} -on the stress. This extension makes the problem to be solved in each time step -nonlinear, so we need another loop within each time step. - -Without going into further details of this model, we refer to the excellent -book by Simo and Hughes on ``Computational Inelasticity'' for a -comprehensive overview of computational strategies for solving plastic -models. Alternatively, a brief but concise description of an algorithm for -plasticity is given in an article by S. Commend, A. Truty, and Th. Zimmermann, -titled ``Stabilized finite elements applied to -elastoplasticity: I. Mixed displacement-pressure formulation'' -(Computer Methods in Applied Mechanics and Engineering, vol. 193, -pp. 3559--3586, 2004). - - -\paragraph*{Stabilization issues.} The formulation we have chosen, i.e. using -piecewise (bi-, tri-)linear elements for all components of the displacement -vector, and treating the stress as a variable dependent on the displacement is -appropriate for most materials. However, this so-called displacement-based -formulation becomes unstable and exhibits spurious modes for incompressible or -nearly-incompressible materials. While fluids are usually not elastic (in most -cases, the stress depends on velocity gradients, not displacement gradients, -although there are exceptions such as electro-rheologic fluids), there are a -few solids that are nearly incompressible, for example rubber. Another case is -that many plasticity models ultimately let the material become incompressible, -although this is outside the scope of the present program. - -Incompressibility is characterized by Poisson's ratio -\begin{gather*} - \nu = \frac{\lambda}{2(\lambda+\mu)}, -\end{gather*} -where $\lambda,\mu$ are the Lam\'e constants of the material. -Physical constraints indicate that $-1\le \nu\le \tfrac 12$ (the condition -also follows from mathematical stability considerations). If $\nu$ -approaches $\tfrac 12$, then the material becomes incompressible. In that -case, pure displacement-based formulations are no longer appropriate for the -solution of such problems, and stabilization techniques have to be employed -for a stable and accurate solution. The book and paper cited above give -indications as to how to do this, but there is also a large volume of -literature on this subject; a good start to get an overview of the topic can -be found in the references of the paper by -H.-Y. Duan and Q. Lin on ``Mixed finite elements of least-squares type for -elasticity'' (Computer Methods in Applied Mechanics and Engineering, vol. 194, -pp. 1093--1112, 2005). - - -\paragraph*{Refinement during timesteps.} In the present form, the program -only refines the initial mesh a number of times, but then never again. For any -kind of realistic simulation, one would want to extend this so that the mesh -is refined and coarsened every few time steps instead. This is not hard to do, -in fact, but has been left for future tutorial programs or as an exercise, if -you wish. The main complication one has to overcome is that one has to -transfer the data that is stored in the quadrature points of the cells of the -old mesh to the new mesh, preferably by some sort of projection scheme. This -is only slightly messy in the sequential case; in fact, the functions -\texttt{FETools} \texttt{::} \texttt{get\_projection\_from\_quadrature\_points\_matrix} will do -the projection, and the \texttt{FiniteElement} \texttt{::} \texttt{get\_restriction\_matrix} and -\texttt{FiniteElement} \texttt{::} \texttt{get\_prolongation\_matrix} functions will do the -transfer between mother and child cells. However, it becomes complicated -once we run the program in parallel, since then each process only stores this -data for the cells it owned on the old mesh, and it may need to know the -values of the quadrature point data on other cells if the corresponding cells -on the new mesh are assigned to this process after subdividing the new mesh. A -global communication of these data elements is therefore necessary, making the -entire process a little more unpleasant. - - -\paragraph*{Ensuring mesh regularity.} At present, the program makes no attempt -to make sure that a cell, after moving its vertices at the end of the time -step, still has a valid geometry (i.e. that its Jacobian determinant is -positive and bounded away from zero everywhere). It is, in fact, not very hard -to set boundary values and forcing terms in such a way that one gets distorted -and inverted cells rather quickly. Certainly, in some cases of large -deformation, this is unavoidable with a mesh of finite mesh size, but in some -other cases this should be preventable by appropriate mesh refinement and/or a -reduction of the time step size. The program does not do that, but a more -sophisticated version definitely should employ some sort of heuristic defining -what amount of deformation of cells is acceptable, and what isn't. - - -\subsection*{Compiling the program} - -Finally, just to remind everyone: the program runs in 3d (see the definition -of the \texttt{elastic\_problem} variable in \texttt{main()}, unlike almost -all of the other example programs. While the compiler doesn't care what -dimension it compiles for, the linker has to know which library to link with. -And as explained in other places, this requires slight changes to the Makefile -compared to the other tutorial programs. In particular, everywhere where the -2d versions of libraries are mentioned, one needs to change this to 3d, -although this is already done in the distributed version of the Makefile. -Conversely, if you want to run the program in 2d (after making the necessary -changes to accommodate for a 2d geometry), you have to change the Makefile -back to allow for 2d. - -\end{document} diff --git a/deal.II/examples/step-18/doc/intro/img1.png b/deal.II/examples/step-18/doc/intro/img1.png deleted file mode 100644 index 4f85ec90841b045c59d6c40ea663378127ee7d25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1189 zcmV;W1X}xvP)RHR400001 zbW%=J06^y0W&i*LBS}O-R9J=WSWSo=MHK$}XJ>kLdZrq@7zDSY7X`t_Qw{+~$RXk( zgL;+$4_=gAMDP;a4w6HVWM^{_gqYoHPEJ@wJjjklLXHg@K@@kqDLGh)t63ejebv?7 zQ$5quGnpMig!zW)s#mXGy{cEQU%hIe7`%mQl}c6u^rSIx4Lr(1sx^S_gb@;i8BFZn zg4RP14m4Qs;zkzzqM7LK%zA@@-V9t6oje|wg&#ewRghf*#yb&b8K_J4j7^sMEvEJQ|zmA6Y;8&Pv_Pdo#ZYzL@_I)@hTlQdK>0~OfLJ>%6CD*JX8Bk(5o$;0=5_1S(J=Qd98DI-c%xGqlwEvioYBGb7x5TtmZ zM1x|DKhfjIeoSe9iWe_}AqQ(<{fdkLjtDXWA7w`vnV}T)YbeXuU?&O59r{-SRZ#m` zkz40{e;4q461!`V{Y-Iki;fg066LYra#9yD$Kz;tQnAsIW?+Mir~~-zKdtKm&kr)$Y8~I94;%c2To@XrxS8YVs(~C z%~VjZG8EFva$`%n;*@qWoQtp5@o-92YIRJB=3}akY_KfEn_bNxP@PScT3~^E6s27S zctDcI`+_6?G;LhS=V@Cv=dZAf=Yf~;KIc$icy4^4nfqo}E|z|XDq$3%v-rS$ zqf4!aO!~993H{DEg|#N0cIU0|Q~i=W4}NvFh80%Vp8Nv!+m#}PFOCux4R~grb6iob z^mO(a-+AR*2@&BW9iF}_vHMD|V7!UBk=o%bv~Q?*Hzp*?bmMqim55EG-FPVPlp4Rvfy<*Zhduf$^<#>?-PObnV)S zUC*T4=7k)Ew`K9FevO``y=xhT5+(1c;(YsL9$~w{m!o~HR#K~BshfWF8Ac#@V_~*N z35~+xkph|X{Zm#LHVik1XYGA_K)eF!d&hgg0ghui?2q!S4w!#@uIi$XXl?8mxjfp= zE8}=GRHR400001 zbW%=J06^y0W&i*IDM>^@R5*?8l(A03Kn#X|AT%e1Vph7qBft#9u^};l7*PiX20C?Q zJq9F3SXlE2RO-rrc#^&WW zX9bYhW+d04XLpf=7^hQf^BwqTjPJ@TV+i?C;^st&Xq+_(+Fv+l_hI$l{Hz_L=I0>} z8`$Qt;wbm;GTcBkS+iU{=HGaLa3-970{Js=*Qh9%jNWZ=P0V5iE<@w~4}ul7`~qQ6 VM3y524i5kT002ovPDHLkV1fn{t~dYy diff --git a/deal.II/examples/step-18/doc/intro/img100.png b/deal.II/examples/step-18/doc/intro/img100.png deleted file mode 100644 index 074293292dd4d51725eb0aaba07bc7033b3371a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4zdz`*$Z(8-%Xj(UJki0kIfn^&w@F=4`lmX?-^ zii(7UgpiOB4-XF;8yf=y0~Hk&9v&W`TJb&QCx8@VNswPKgTu2MX+VyJr;B3<$IRpe z2L?F{?Z!sQV>*u+K5|P09AsPYr;&xN&4rQe7z3M4!{vrT<&JMD7lartcAsq!VQ@-j VTUGaB!yTX*44$rjF6*2UngB%8Hq8J4 diff --git a/deal.II/examples/step-18/doc/intro/img101.png b/deal.II/examples/step-18/doc/intro/img101.png deleted file mode 100644 index 60d2b911055fd784c656a9284c7acf15bc62479a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^{6MVC!py+Hcy40tA|OXAz$e6Y^XAPfR;-vaXU>EP z6IxnYDk>^+a&kgKLTqeo3=9lZR8%A+BzSmufXdIl^o|Bnj3q&S!3+-1ZlnP@A)YRd zAre!Q6A~V zCYNUJ7d&ny&F`2PXI)_W#vCA~ePy){6YGjr>mdKI;Vst E01?APJpcdz diff --git a/deal.II/examples/step-18/doc/intro/img11.png b/deal.II/examples/step-18/doc/intro/img11.png deleted file mode 100644 index edf440bcf94345f395da0d6045641078e82f1cf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 421 zcmV;W0b2fvP)RHR400001 zbW%=J06^y0W&i*IBS}O-R5*=eV1NPv{tpZc9~dye1_lNP7@PkSh-Bgikszg9n99)r zKiEX$nP3hp1H*lYC=ZY*hf9+O8bCz+e;~oTfMEexs6dhd?6wUY2@DAg4F4M#3Pczf zE&@gN3EZc|E`osL|9?0;;egyj26$NR2TL??z(sgLM85-=4HRjZ05O2!16+*&D5QWs znbg4H05lmWcY%Qu=pV+P3?KLdK&t(J(apa-N_ZGpCg?RW^(lZj zptuZx$#7m1fUElO5op*4m=XrI|Nno2B#*-6XDZ|#*v!DdyaBF+VJSodEDi7mFz74r z2r$S%+yc_gx`2Ug0g#S`+QVI-d63cQ0K*|xxV^jztjEBN=>JIZJ#qm6@g7AUbDJ7s P00000NkvXXu0mjfo6((t diff --git a/deal.II/examples/step-18/doc/intro/img12.png b/deal.II/examples/step-18/doc/intro/img12.png deleted file mode 100644 index 897795f8bcb0b9afb4afb1e8e0a86f3df7581c47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558 zcmV+}0@3}6P)RHR400001 zbW%=J06^y0W&i*ItVu*cR5*?8Q$0%qK@ffM&dbF!*>on|)fRfKh;Wq%775lCDJ|{n zWK)Qxf`x^D;=szvufj6eh+R@?VY7$`8eyHCy~I_5prjFeOm61h%+73P=71qWKpO31 z6mIEPwC3~|*94z6@TAg|M2^hx9h&@<&MVat3Q#W1cJFKXU!$D#tPxoia;5S-*T10B zN+CF?0(qDa!1W?Fn;CgLzuwwF%}45{3}E{g1J%N~?l~6FkT7Y@;msC`8ITP_dTBoT zLW;!BMDn{VViS0q6(Fh9RTdE^(#R=j z^QVIg#*V{~feqL%ji&>D9y6WSIvai~XO>-eoyElxP4SSem7MYAhj-m9xe=oEZuf?C zxDT_tweCHRiBt`ZC=oi_>zk-O{e)E*A&5t4qin9r2mVy)i`9k-`sYl0XB=UJ*a=M0 zUM*lcMt-8eC%ltq4vLZlv@jKWtA0b9ZJE_q6w!H2u|v7LcRCB3LgQ3pTcPw)#TJZ= wL^Lq+wF_k42e%cUv6kz}*dg02|M&sk0fO&sjVQ{OlmGw#07*qoM6N<$f_lsOvj6}9 diff --git a/deal.II/examples/step-18/doc/intro/img13.png b/deal.II/examples/step-18/doc/intro/img13.png deleted file mode 100644 index e24e3a6c2975011a9b75ac31bfc856f8d5e50ede..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 419 zcmV;U0bKrxP)`o;}Kw`i`fuU;0Zdyg4oJv237p_NFFr`e*H(>Mt^eYvP`RJWHo9OQqI17`T9|->Wl25uUKKSxj^iu!; N002ovPDHLkV1lz~utop? diff --git a/deal.II/examples/step-18/doc/intro/img14.png b/deal.II/examples/step-18/doc/intro/img14.png deleted file mode 100644 index 18f848a3b58e25bcb2c731523e7b066f010f3964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 506 zcmVRHR400001 zbW%=J06^y0W&i*Icu7P-R5*?8Q@c*XFcdv;+cfDzNf#s}5E&T|>c+y*Pl)&eFGvg^ zMNA#Duopf6WrQsQJN<;hz}kw9%^kXQz+C4=nuJFsSP)0DeSLiHy?$H+@32H-m<&ZU zRObRS8ak^>U6_f*sU0aJDEWVdQGQ~f78{S$SdS?N+S)NcgUxtmo4bbN<(at!OG<&O z(-2`>F>+2_57F@q9De#qm@R-i&olZ&ta~vn5b9)L$~v}9P)1Ps=bG6pZ1T! zkOZeh>;1jHcKvz@Jd`x_d*D~an%s~!z*b3PRi~cb2~`O6e11_A&(1jW@(v*^|Aa;k zT%?*IHbYnxPn z6k|z{UoeBivm0qZj)JF)V+hC0xK>npwp}Y*I?3r(e T8f94m)iQXx`njxgN@xNA{p=z( diff --git a/deal.II/examples/step-18/doc/intro/img16.png b/deal.II/examples/step-18/doc/intro/img16.png deleted file mode 100644 index abfc0473d396a6a44c371e6fce40adbcb16ff643..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 696 zcmV;p0!RIcP)RHR400001 zbW%=J06^y0W&i*JHc3Q5R7i>KRy~i?KoEUN>?9_M*OV0K{13RE#xy4+ikuFK+M+<$ zB^|9PK%s#X1sz|%08129=n&PF)^!w!;}_f_ol-!t?Ck9NE72X$fZ(2F&v<6u?0R-* zZJ-H}7~u)h5sYv)JQjDxz(Ikr(A1-!pjkv9igd%5=`@D=>iUhxUqxPOPg#uVmKZhW z$Iu4I6ME-JNv7E#C% zwlJUC`f9V9PL`&`F(jlc$pZc^M2F)<3|hq+POtrnw_MNv1p8}j7hh(qB>LK8Rp`dz zdK0cFm1^ z$s!Z>2<`{H>>=#~J9b>g-O3<0U|OX24cq;t9B|BR(?@>~lj9sV&upe8dvmxB(+9!Y z1BAWwHg-SvxEtGu+J@Kpny7R9CD>go9yAO)EbcYKM9p;y{3wk4I@fI_FI!1BLhwb4 zpq=A6?I7EGSTwo!opQH9*moIumW~Dz5#` e55zhCMf?Cf5|oZrs*UFW0000@x5)wQ-JU~saB2Ui)Qj8@*e!&b5&u*jv zIkBEDjv*W~lM@=6n0a_EOG?a;JSdZvCvfr_!(@@f1hz@?5;77K7}pmgkdP1$4-Xp~8v_Fa6%`c;2?-t^9-yXIk*DVYDaMi@zhDN3XE)M- zoKQ~}#}JO0$q5M$fI0;jlGyI?D@=OG#B9yX9L&rtvZ1j>%s_#0LehdSjm$hejEp=y zVN53`@!XlOVDg$p;N*@vzKC6u6`6H@HGW*o-0`h?+qp(YhTB{Dnc4()u>vh%@O1Ta JS?83{1ORrFL3scG diff --git a/deal.II/examples/step-18/doc/intro/img19.png b/deal.II/examples/step-18/doc/intro/img19.png deleted file mode 100644 index bee30fa41fad1f33e90bf7d3e053c9a506c656ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 525 zcmV+o0`mQdP)O9a0000mP)t-sv$M0P zsHmKroRE-^goK26czA4VY+ztuR8&+*NJu<9JTNdYBqSsl7#Iu;3;+NC>RHR400001 zbW%=J06^y0W&i*Ii%CR5R5*?8Q?X70K@fd%2e*2_9nnOoq_VK0GO;kZ!otKt;ur7% z7%nyzHfLcCou$8Ui9bNJu!MvU5GxA{wlEf$c+Spp9O^a(3kzQ+JNqWHJ8x%qffSK; z0gQ08D}IgV)k2RZl16D>YeZwNW=W`72zWifilmpNk(}NSb~V5+X+JDa1CgNNH1vc^ zs!4ybM#`rp!-}V*#HH2P$-8*GMqp=K6|`#tOYj#{wIFiZ)n-a`>tm~X4$!$^>xal(YR$JIO7i5GI?7zxCQl;DpRBf$ij;PTijbik!T+-+(i=Z*Wb-j+7a2Y#zGiSnt z2`w!x6%`dZIXMXl2_YdN9v&VxHZ}$Z1}Z8l5)u+TJUl>6uOd&+15%77L4Lsu4$p3+ z0Xb2gE{-7_Gm{e-n(y-X`0$)bP;+PQcw)&gG2sV83r|lE&xr>URHR400001 zbW%=J06^y0W&i*J3`s;mR5*?8Q$2{(KotJ+v$>e;X08zN&?1fEAsn%`a4Q=T)7e;v zorRdr!Yg8R9Eb!vZM-Y2O=lbKTG7*MwAvhkho~^yoRrf*&OFe&@~m z<_(~cX7F7h7_jUebRj^Z1nX1|C!P_p*wXuejgS(8+F;N(>@3g?%WoN??_k`PC7l%a zZpMsLNRX1n(}jSAKd&&zx_v=1rJ8_ysNAQXPr}lwU`0oN5DNxU4m0C!x2fisk)6VhOel`|rWfu&r!xTJU>Nqm2~S6p|Kv?TxD3*>8JU-!p) zA=4In=F`3U2;uSyHEY@foRGeHAa0}95oDwER%g$RnK**7+w~8?yYy_XJT^zpQoejBKyL4Ge%W0>zu+>p>9r8_2aC)>4Ke8)+qXMoq9MuH$umzk1 z7va&|Y+(DFY?*OXLQqDD27xc>keTrY?oTYADeSZ#qRuiZG2POrgAWNbU;U!4&I5Px zd<|Y?y*n7fjp2;GR5>0fqY5PgFZipCGrx_^v5~K2{aop}W~FHq1U_5{8)^N6sh8hV ozDF|&JUi2R42<1*vi<|V0ZWg3nclmp%m4rY07*qoM6N<$f`ig20{{R3 diff --git a/deal.II/examples/step-18/doc/intro/img21.png b/deal.II/examples/step-18/doc/intro/img21.png deleted file mode 100644 index 59f19b94768246b458944fd8a051a87fabfb4e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^>Od^V!py+HsP$j#E0ALl;1lAydGqEKD^|>zGiSnt z2`w!x6%`dZIXMXl2_YdN9v&VxHZ}$Z1}Z8l5)u+TJUl>6uOd&+15%77L4Lsu4$p3+ z0XY{uT^vI+CMG8^F!9N;g#;Wppm2;a)&2qVL_QuiCY~Dy8QJpK%-Z-JuGz4$vf0V3 zx^R%0jjc>!X+cAyV21Pwqp~)3o0>=RPdZE(xD!kg9=)eUH~8dz{G0R<_(^OdnO)@5O;X7Heu3jL6J*5 zHfg==4I-x*J7nCMJ9^G?Fq~F(VEHO}qt3t}CM`ejM1I1D>kS-o=?(4|nKjOSzTMEc ilJU^B1x@N2Yz#>P@~MwlAASb$r{DK)Ap4~_Ta`Zf1978x}CMO(Vija`F zk?>|ks6!KT?9nx?JZIJflrfnpFKEydObak-Nz!8wVmQ^w{L?i!<~>j+gQu&X%Q~lo FCIEMEF--sf diff --git a/deal.II/examples/step-18/doc/intro/img23.png b/deal.II/examples/step-18/doc/intro/img23.png deleted file mode 100644 index 37de84a542fed4e9ef234d9ee4423b33ed14c714..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmV+q0`UEbP)RHR400001 zbW%=J06^y0W&i*IjY&j7R5*?8lRZwuKoEtWV>>o-k~N|sosW=$hRzZQAt96;!3RLX zqDe#HlvK$L5Ct{90Vo`RNI5`40|iC4qCiN?>`yF5n1U!3;?roy-`k~4R*CcGpHNd`?17yg|AQveMtWY&; zL;zz&NxIE20c<-NcrH4WiJg@_O%wwb!VS*430&=Z<=K|@-j zwAOq7RqO@iVKf}kXT20Rqh%mzD=WiF*G>j|O0uRV(2SK8c#9#ZA1drULq-g}x|tndryr=_8gwefA=9nd|?oUtSTA422RExY74upzNPt^94LbT#^5h R0nq>e002ovPDHLkV1ffK=Rp7f diff --git a/deal.II/examples/step-18/doc/intro/img24.png b/deal.II/examples/step-18/doc/intro/img24.png deleted file mode 100644 index 50bf784172d408ba3dceee13f2b1c26ca4a239d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^vOp}y!py+H7^-K%0^~>s_=LD_-n@CvoH;EmEfp0N zAt50)HZ}$Z20T1GK>3H?_)38kV@Z%-FoVOh8)-mJh^LEVh{V+71O_HPHkJSf18E5h zD~SyZZtNX$eSCa5mtHh93m$9e%rFsH%rCmZ>1zRp!wWw4mW8siyak6h?wavR;qV@Y nR{pJ9nOUSZ>}V3GS72ah^yb-K@W|pd(0m3@S3j3^P6zGpD7c zrJ|xDCnqN%At59r#KXhG#>PfPMMXkF0;qQD(Noeuim@cfFPOpM*^M+Hr`*%UF+^f& zazaA`GY>}sgHi=wVn;J0e@qMe%w|5WgdP@7g~DYGijES~gM1FuJ>yxmdcun)HjQ|O zC4G%^6PY89JyZF3Oqer8LgEVZ1Dgf;k}?4mJZsX=%@Jt$EV0bMpy{qAvrzKP0|%@a l*UgD;Ox3)4x1E)NA?mv5C7IJ}Zvvgb;OXk;vd$@?2>`+yPr3jA diff --git a/deal.II/examples/step-18/doc/intro/img26.png b/deal.II/examples/step-18/doc/intro/img26.png deleted file mode 100644 index 91695bc5bc45ab6a35ad64337861ec299f0b6eba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)n!py+Hxc!rIEs&!g;1lAydGqEKD^|>zGpD7c zrJ|xDCnqN%At59r#Ky)(MMXtILV|~f2dLKewDw&f#aI&L7tG-B>_!@pQ{n027$Pw> zIiaC}iH#+LLC~iCz#9fOlLN&J$D$aXEI56L@y?zAGljxs4BehP7=O<+7GOK0r&86( zG$Sp=mtkdc!s8-_(>Db2tu{KeH9E>Z%$N`^8&JWMvz)cU??5HbLhcBW1HV`rSh^il kqz`EnvR&)FQm&xJz`*A!Wb9sF4)PF#r>mdKI;Vst00DeV+W-In diff --git a/deal.II/examples/step-18/doc/intro/img27.png b/deal.II/examples/step-18/doc/intro/img27.png deleted file mode 100644 index d1adfec4b53cafbf03f7750d1a701dd16bf6d9e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 374 zcmV-+0g3*JP)p=j% z3lRDO2iTAYeB3}<0b=3?ZjgWj#4&6TlLd$|lrUg|P$1K`Uf2NPH~{ejh5!(ggMl5) zVaPOOVBiHpFo&Z7B*O>h7&uO2YhY~P2J379c>rdp1B5YwIu4}_Fs*yRz>}}RpGXn#o%-5n@K#p#JPl)U0&6`)OSTSeLoCy;q zR8&;t6MI=-Rx>0urT8bUa$vf{7?gTe~DWM4fUl%vp diff --git a/deal.II/examples/step-18/doc/intro/img3.png b/deal.II/examples/step-18/doc/intro/img3.png deleted file mode 100644 index fbd9219f0ef86c387d72cb508e23fe5fe84ed142..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^oIotc!py+HSe-374agA<@Ck9RHR400001 zbW%=J06^y0W&i*HuSrBfR49>SU;qO)hYt+spaD&Y4@zHPIKV#vLp2h(0HGfI-@pkr z;zI&H)x?4S|36${;Ade5ItwbolHbozz`$UyK)K;)fEmr>sNDJwAO7<*Fv$OdxXR!I z11}3wV0~a<1GxwqKq1HegB*E_>TaYdkcY=1Cg8`Zt45)of$;;w4hCrfAde>@8cFU0 zNZ$vbU;&7CiNOv@u7p8e0H}}Q2AFq^{UJqe9})lntq(45IgAEg00000NkvXXu0mjf DnVxSO diff --git a/deal.II/examples/step-18/doc/intro/img31.png b/deal.II/examples/step-18/doc/intro/img31.png deleted file mode 100644 index 52d702af1ec7ab1e40e1360a49efa952a5ec66db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 347 zcmV-h0i^zkP)RHR400001 zbW%=J06^y0W&i*H*-1n}R49?PkTD9vKoCXW#;6Mh%@I;si3hOQ(lU4gOUsm&HiD&I zKrJl;ULZG7JV6>;<4jgjQ0)9Lv!B^NJM$M5D+$LF6)zY~C0~)&xs8c!Pg(F?R-!g8%5+j*YScDtbg?XM1a-fGLXkv2#XD=B@;GmK(`hZ5ng7JARU^8^SvT3 zJagXc-(j}54TMvr-ts{<+cSn{L6m5vtmBBSDi`KjnTckq_0i)xuo?4E=}|nMRdXt- tt}J1T;ts=vD0(gAaQ6TJ002ovPDHLkV1l(Ih}ZxC diff --git a/deal.II/examples/step-18/doc/intro/img32.png b/deal.II/examples/step-18/doc/intro/img32.png deleted file mode 100644 index df422c0b279c24c7c740b2398e50ab784645d815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 525 zcmV+o0`mQdP)RHR400001 zbW%=J06^y0W&i*Ii%CR5R5*?0Q$0_^Fc5tXNl9o+(vbm?kpZFnfDRrzMqLq7Mh1q8 zsbdx-#+Dxd9bt=9_GV%4#M+9D%?vCIn6sS(sUILDB#?O0+2`lyyYm-NV(JTO!x&3& z$S%lo0lqNRBn!w!WL@~nYd^t22ZoNIR`$qza;z3op?Rs>@LN$A5m-s(d;2a0n{zXg z&uFOr@-#yx5N?y-qOEMfQCm98+YMwsudfJNQ`P@A_S98baFs9Iiq84tAu=FUv}U|S zcL77}>Qfe|$>Q_}(`WmfFKWtp~=uYAoxnGe-jGrNGU${u_v`!{$8ndM%p_|HGn P00000NkvXXu0mjfhd0fhdEP)UAlJb4^;9OL`;mx zD+_`jL9j4;h$=OMzk%F2w4Oo{6)(#9&hPGW?-YPhldgGXOVf7(}y567K`DgGBppu(B%2flg0enA)cY`1bNFXPD zJZd;^(DLxeh88buSKLILZ`Qx#HVs6w#>^i5B``1PF8I3uU76sTj)*3-$Q*gbBhVIP z_sS&`QtTrmn3+87n9)@Q@GmCcK7&)W33v|Jdd&6(rkmquT|8u*WRVPdStfxhekb|A Z@dbTFGKsdeDWCuV002ovPDHLkV1mF+oz4IN diff --git a/deal.II/examples/step-18/doc/intro/img34.png b/deal.II/examples/step-18/doc/intro/img34.png deleted file mode 100644 index 4a0ae7d8cbc78fb776120789c4c826523f2d53fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmV->0fhdEP)UAlJb4^;9OL`;mx zD+_`jL9j4;h$=OMzk%F2w4Oo{6)(#9&hPGW?-YPhldgGXOVf7(}y567K`DgGBppu(B%2flg0enA)cY`1bNFXPD zJZd;^(DLxeh88buSKLILZ`Qx#HVs6w#>^i5B``1PF8I3uU76sTj)*3-$Q*gbBhVIP z_sS&`QtTrmn3+87n9)@Q@GmCcK7&)W33v|Jdd&6(rkmquT|8u*WRVPdStfxhekb|A Z@dbTFGKsdeDWCuV002ovPDHLkV1mF+oz4IN diff --git a/deal.II/examples/step-18/doc/intro/img35.png b/deal.II/examples/step-18/doc/intro/img35.png deleted file mode 100644 index 96f95c6216c3ffa8c8ea050842c4a31737107359..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmV;_0W1EAP)RHR400001 zbW%=J06^y0W&i*IQb|NXR5*>@Q#($>KoETnn#yg&M=t4zI6*pS5I#aE zkZ6$HAu1XUV2KMvG?bW*(l=o1AbB(Uf%ro}d>VL?{bt^dcV~9Sz#CjmHd=UUOBw;t zkBB=dXUk&V#i;5enyie0FVyf$8`h9(>PLk(V)^Qhz=YuP=t)57a$kj-kjE`@Gk?H) ztwOr=r0(~#`3f1 zbmb1Abx|g`#lEmt4v=FI;1lAydGqEKD^|>zGiSnt z2`w!x6%`dZIXMXl2_YdN9v&VxHZ}$Z1}Z8l5)u+TJUl>6uOd&+15%77L4Lsu4$p3+ z0XYXfT^vI+CMG8wV3FbB(ecRPtNX_v5n{N(Nu!LdZUqCsS?CKjW0|BM2R<<7Bsd;m zQ{YY#l@{O@xY93caPVs$LlV1zHp3euwl+4#1)uFc7#bLyOJmsBkjGlY^FzhHp!uq) z!&m1oz6zIFRhXx-aOiT1e{3-1YvkzseO}Vcc*CFn5B|?@JSeSF^uv_d;DJO#;K%ul zGLLMycmf2E{ZH^WG?@SY>46JeJg0x3|CgVj(Jpy{ck^b(yhwqTtR}RpGXn#o%-5n@K#oCxPl)U0&6`)OSTSeLoCy;q zw6wHTR8-{T@*cccXsHmt&NJ#MT@BlTviab3JNHLZK`2{mLJiCzw zBDgQu&X%Q~loCICe6Iye9T diff --git a/deal.II/examples/step-18/doc/intro/img38.png b/deal.II/examples/step-18/doc/intro/img38.png deleted file mode 100644 index 71f20f386cd624279658eb4fd6f90eccf7e54bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmV;z0X_bSP)RHR400001 zbW%=J06^y0W&i*IKuJVFR5*=eV1NNOhYt+=47fqV2LxLHS%MFw86?sM7QVo6fPVr5 z|9?D2;RF{LAWk?BA|CwTzzMPw>ZlJ1K;r)gJ`@d13~c1sLkO^lLm3GW*8l$>E->)3 zFatvYu7(3id44}b0Rw}*0!)CL0TL`j2r$E_5)Kl sZopXpWss7;d7i=SY#_z1QGf#g0M*4#>r6zXxc~qF07*qoM6N<$f>YV5fB*mh diff --git a/deal.II/examples/step-18/doc/intro/img39.png b/deal.II/examples/step-18/doc/intro/img39.png deleted file mode 100644 index 3ccaa26cd98955269d4a97ec16d62507daeb8893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcmV;#0z3VQP)RHR400001 zbW%=J06^y0W&i*JLPKRxxkWKoowCojQ)4oFx{Jpvl;QAxxcGj97{oidb3P zg@vJ&I&`aCsSFiJMCuP{enO=FfL2JYm>ED~fWXAoql$zC73SSLUvqJ;X{<6JHJ{|u z-MjDJd-v|WI|CRH;a8%b%Q-hOF2YBE1fT^q?013`CRp6n2Ni16svaLTbXK z?n^j{X22011j7U#Fh@GZL{pVg7A&#!Ik;=ZtQEjN*c;SetKLm5wC=AqKunvq-asfs zURuqz-S|TRkd}~QefBXf?PbQ{&=E4;mfoSlwq~jdUWp>~f?0*K2#q8Kw{^`KPwX@kQc zUB)Ew1tC%9waTRG09#aexy#tOM7Y5)U6`j+%g_>zN5F|%7vfK9-agf-r8BtSDPzW+ z)lN{mTOSh_0e`UJnMh5L!(x7Ut!el2GO`!T%j}`G^P74$7Uq{o zQ>r5M!Tma-G~P6nv0SjQV!sOOYxp~{FC0a3A5Ox(OzC4-O-5IaK|TqV44k*(pXMrX q;t|m;fVnH_oMH+iCce)n2mcG0;wZw;#2_930000+wA8pnq%dhF*2^P!nwYYC`K_U&m?& zoiJ7Jsik9vORz{7E!NStz!M)&Dm-aa>3rc|WCH6(*ny2>`kr))Bv2kpV(aHM{W&y; zvA0{JJSxrB9q^#L#SJ9V41^43?2*0B>8Bz+9P1K)g;+_4i~~0Fd-V?yn&*`buVkMI zRqm-WnZN7$ED5dS-p3cQQOxs?iyRZ~#6sGy!1M;V`o5y&$A(e3iL9ph)7Tl;2>$~< Y0SRbMY<4MW@&Et;07*qoM6N<$fzGiSnt z2`w!x6%`dZIXMXl2_YdN9v&VxHZ}$Z1}Z8l5)u+TJUl>6uOd&+15%77L4Lsu4$p3+ z0Xfq=T^vIsrY0vaFxIiLEM-_ULsG)t;J^XqHkSz;5e@%UnWZL#F$ndsIy6mu$Yp<+ zy`+-Gf+grNyUGklu|flBhMjk~{s^4rm9TS&WO7LUQ8=6F%1wsU6QzF|J9qwRF^Z6~ zNYG*X&&l)ef8@XV2T2bs83c&~AL?*j;%>B>LQZG^T|LOlW b4hDv~!ODDLlk}Z{E@bd@^>bP0l+XkKcuHT= diff --git a/deal.II/examples/step-18/doc/intro/img41.png b/deal.II/examples/step-18/doc/intro/img41.png deleted file mode 100644 index 64019e29db9150f5f5d1633f5786d7f841ad4044..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;ykP)RHR400001 zbW%=J06^y0W&i*IE=fc|R5*=eV1R;v3t*}Nhzl5q1q}%110d!nTB`yo7pjf_1C;+A zN*@4XcA{N_3v2*l#{(QFV*LDI3S=Sw|NkEtKJdeY4S?QoJir1`_HaH-g98J|00D{} zLn#OVli1v`(ZK;#0OI2dC;|8Z=5aodzk&1zm?$XzFYrTEeORynVE~RRO_n#2N^r a015!rDN~s`ercEh0000k}@P)RHR400001 zbW%=J06^y0W&i*Ix=BPqR5*?8R69D zK5aLEDpFagbJytb)u~Md*fiU#!SRhXVVOz)TwO~x_XvXAjgY4<+vJYyIGFOOWL#L3 z?qVhb*c#H@_f;cxx-Bgm@$pa@?0egP6?&7-FNC(??N>-Kic*+vU|zf*2gW*htWDQ1 zWvBg9pCyrd4D2Q!S*0h_!a%c(l3*S`p)=hE-L}!I8ywS$$XAf}3@>=-b0j0$S#s7SAm`ls#b0pT!Pe z9O&my99zISmGgq-*V40!UHh!9@96S>8t&ILEJQ4ueX#z~C*A;_Z*_;W*JxG%0000< KMNUMnLSTY_tM^&} diff --git a/deal.II/examples/step-18/doc/intro/img43.png b/deal.II/examples/step-18/doc/intro/img43.png deleted file mode 100644 index 8a5fc6c6ad1cf9f4bd1e0ca9ecd01d73a9f1d4b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 549 zcmV+=0^0qFP)Kjc(LDiHnY$g)|S~>Q%Mu z&-I~qyLa?^Qf5<=R_G*~)>m?y>I;z_c8-t`Kq*be4VzFfFf<*4?3&{_0LyWG470C} z`CF{-f7HE)eMwrnE7|N?&FrX9W(}RTba&SPb^qYQ+}3&6TVd(M!Xk396egP%x?I`PmQ46EcDZ0(%RHR400001 zbW%=J06^y0W&i*I8A(JzR49>SU;u*-5aCe3fCT=7NfrhazyTsYFc1a-$Q*VC21Wr6 zIG2%uk%tH)kbnk<0t3SXgcCL}Z1}*SfRMN0Vc5X$_L1TLf4Ga;U~&SaSw$>hLN@=A z9?(fp-~bY1WC(!y7wCBg17-#WJ}4hVAK-xoB?CVYGB7GI1sE_k`tkq&z|X)9QP#k~ z!E6AMXF?bY1`}xE8|nhadH*H?BO(D^ToOX90D67_g9ifx>j6~xLtyd)7;k3a`2XJl zMcNxoW&m|3fE3vvWVrV;fPxALm^ca;Dp)|$o0;W0{y^nHQjqY!|AFEESB6#whWQg& z8aR-o%aJSsM*$ZD55#%g|GzM>G$1=92;F0i=mJ9u0069aF?i?=x7Ppw002ovPDHLk FV1hx*lO_NF diff --git a/deal.II/examples/step-18/doc/intro/img45.png b/deal.II/examples/step-18/doc/intro/img45.png deleted file mode 100644 index 457a2eea244a08900c0871f37dd7361cb55fd0e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmV;_0W1EAP)RHR400001 zbW%=J06^y0W&i*IQb|NXR5*>@QcX(3KotIBCTVJFCg8?yY)&9KLKY(K>H%En&W*I- zUUC4T1uv4VE2|f9;{kevSrnl}9N+vTjW8&RAozv6eDBT6`OZRC=nZt(d$ESDhmj2Dc_PFq+*Nu0vdj(c*Tux~&nPv>* zImVJnq18C&vYOS3&g2Tr>`Z}xOcLBU(ZIv{K~sML=(W=;HL1vH)H?ZhFE(hdR+8`} z39q<(o7AST6E1NtaV^kar|3_YP)RHR400001 zbW%=J06^y0W&i*JI!Q!9R7i>KRXuMLK@fe$>+=N@)&&Kj0RIFdN>W@Jgp?u?B}(Cf zBB|mo9a;)ds7!=JYf3sSrHX_ULyg2wh)X&q5<-BHhW)s`JMW!CW2*RB-o2T5GqX24 zy9WeNu^rL3Qi84?YqfDm3n0xvnHXQpw&p8g2qGU#>EHjucEw_HG%F}FNof+5D_b{% z!bJ2JvcSb5t>`3wOKQy!RQ|}!khh4WVRXDUIwC}`+criOWRpfM36jZ;iEthX)x}zG z7dQ9YlF9T?h{$JddyOdOto{4NE)TL}lGUnFG?!{6G4hW|I_F(rAj%%L-A#uyy@#@s zO2tB3v)<9YJHXyu;5ytN<-VEBrXYQAV&!s3=OOfQr>rljaCulfk?3x`iB#>yIb6#Y zJ59GLPRyKG{bqsF`0|_4>Pj9BrbZs{ z_t_wuxB#o?*s@1?|AV`()>DHy^lYH#v$kNPh^8N{tv=2Jv`*n~hyd1GM_#2g#rRHR400001 zbW%=J06^y0W&i*I!%0LzR5*?8RKH8ZKotIxrZu&-NyiRqMhB7n0S=i&5F~UJA)|vs zaj|0@gpSoeKpk}p=-wc>cXCzS+)mI%#PeM)cm1WHqLY4bdGGGM@7{NJuLU&v4im-; zfdCUI(&z{$We8g1(HUuC8YeWGa3**7B)VCt9Io0(RCLHU>sb*Ap69sfx2wGa*Nn7Z zUa&pjR!;1^>I1669&RT{7`y?qPN$zn(Is~$U9KW=Rvy4frS(pklCJlY;(r12)DSS$ zOsHkH4yM7~5)w5FL@@Kpk<2y_s^qCGSmOBucl&+;sO7<$WQOuGX28;_x^O4!0Y$6I^?wO%)?5#VTIjBfRkqY*BzFQ2t;0vafJ%m6x-7j6k--OKx-o$drU-XTm*8^(p zXgt=CMm$=q7dJRpkJCS;ZBMXD|0(Gx^HLKvHr21gzPVtcwHVHYs9=P+HbiWr(S>S5 z;w5n6EwYhVS{`sJJx!5c21Agpp!J`bb_;Dw5YG#9otHsG_ATk46H?BskW;>vT8-Yl ziyH?1gni)nz>4i5;;t58asE7dj3II2GmWaepbCG46@QRAhUWOf-sgD#_%hxA33zBA TEJs`F00000NkvXXu0mjfZ0!T4 diff --git a/deal.II/examples/step-18/doc/intro/img48.png b/deal.II/examples/step-18/doc/intro/img48.png deleted file mode 100644 index 4752bb803a99697724e5e358afc1d1db33229deb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 659 zcmV;E0&M+>P)RHR400001 zbW%=J06^y0W&i*J5lKWrR5*?8RIzRoK@ffCyTk^^UJD9H16NbPQAP;qkWhp~VT+o= z>5>8^5=Gigfhdy-3JUmy6;xClP*7TF5M7cgky3C%7ESe}_i0$*DprK8=@Zx^LWY(SDG45`|n*v2YV;dK)Ez^;=l#m{7vrdMTph z&NGETr%~C%Ea+1G~il26}qJ~D1&r}U_H5Ch=YAJfO2nkuY@$>*iJF zuTn0UMRsuAm6(>DTCb6dg{0Qd*Cz8SSyqUG7gA|dI5iWmeg1`n-4!uR0yI*p>oEB| z`Y`o!p11QdXx!t_#-UIjo&JNoVl5)Z3qSOw<)p(}j4he?{nQ*>c*AGHy$` zJa^nZlDm6_yp~>kj7X0RAM!bJh#UKK<1=k|bulh)Y~u~ZXs@AdBkOt=>WQ*ubwGC2 z_HiE^0`(1+li&8^E*lT)VnR%%TT!^MF=ct=^hv(>Lsn|m!RgJUe}V`N1W tn|D;wSI*#%c<{4mA};-`xN(O6iX%ALgkq}&XjcFL002ovPDHLkV1hB^Ain?r diff --git a/deal.II/examples/step-18/doc/intro/img49.png b/deal.II/examples/step-18/doc/intro/img49.png deleted file mode 100644 index 2ce876f00fb3e795fa025caf3762ec10a635c8f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 703 zcmV;w0zmzVP)RHR400001 zbW%=J06^y0W&i*JJxN4CR7i>KRy~i?Fc^MvP1BT|&K(%&g8B~#V&sP0f{<)pi<8NM%MEGuxC6 zMedK5l;UzgbSJN7$q>z$(7MYx2f4)i7a3*WWMxdE{TH>3W-e2Z*u23D5YOUI)+FmQM=M&vew4^{@Jbc$fmAkBvj+Ri> zp{0pY)?Do9dUu5TSAh)_f4Fs%&vJyK@IqQ}kdi|jcV^Tjvpm{qy!9%e-jnZT$(ofW zN|n{~tUwFqtx>gTNvXJ|I0lYKq8IqNmQ=MV(RCbFIENT>+4@6U-Z%OoR~39?Zjk<5 zje?@MS&!RU@jNzch@|joEx2a|ImROJw`VC1z^5UXXD8%5QSxn*;`HPbqL}c>cq+$Z z{$n=CHWuL*)_%*Qy!)ZJt~Pa8s22>Evm_K(z6e1u{it-UtoDzNVBAGB`M?oY->;2CnY#d*HdS>Ke8oT)V;7y9h;4I>-a{}zY5IaMGJ;P?> z?z2OLDd9Ncc*xK_?fF!HOGt`6H?9r+F5Xe?JA8&u9i#G^3zX&p*0aJ@>`Q~Oi`%x~ lk!#Z)%=2zAUSWmh;twlynN}qHyAl8Z002ovPDHLkV1i?fNCyA_ diff --git a/deal.II/examples/step-18/doc/intro/img5.png b/deal.II/examples/step-18/doc/intro/img5.png deleted file mode 100644 index 095ea468290eebeb1fdd17353d49532d7244136f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp@KrF|?%)r1{)UfjnkYf@x5)wQ-JU~saB2Ui)Qj8@*e!&b5&u*jv zIfc0#Z}NG%VG2L5Gq@D`HQdNNeBds_qVhYlITl5T2|N^7Q^s_VouS~7 Wln>J-^+iC-7(8A5T-G@yGywq9j7xR^ diff --git a/deal.II/examples/step-18/doc/intro/img50.png b/deal.II/examples/step-18/doc/intro/img50.png deleted file mode 100644 index 6208f147f1f78b885cd5642e141cfa3f9cd60573..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmV;R0$=@!P)RHR400001 zbW%=J06^y0W&i*J9!W$&R7i>KRlkeWKotHazt_#0EQp28r4kE~`~g?2ja=tqWtm2> zPzY9*skFR1I~!fWLMsDaXL0)nSRA6Zw^(U6cOZy`<9m~AGMkOaag}l(%+BQf_}-iM zW@Z5skp$k<>jLo52bV?wpO*_7>2b1dGXhL$M&ni$A%b+{UfvU6r}Yafp%m#$kA7UVfm%3CY%uNrf{iKAwz?QJ3ZtU)$(L)bN8nTMFIP4uQ!G#{ zeSD-#RtbOclRH8O=ODEq&o>@i#z@7QC!1=~2yz~pu@f5S*ns*H=2|oyj1y~GibqFa zRtKJl$!4aL^UOm$0j}qKR736>tgxp5&80l`Ejq(V5hy~kCic>+sd)BlmzFoWIwgC>7QJgMd~F3e9y+{yYm2Yj%e}Gp z0(epLka|N$R;u7jIl5yeDfYj`IFwM|Ir8&eY&A6`Z=X`XM0Nf_pN}Cvwi_m{S#O>1jR`J0000MpV0000mP)t-sv$M0P zsHmKroRE-^goK26czA4VY+ztuR8&+*NJu<9JTNdYBqSsl7#Iu;3;+NC>RHR400001 zbW%=J06^y0W&i*Lu}MThR9J=WSUrpzMHGJPU7z>7wr5e0_$dyT5sHuxDwJmF4k2Q5 zq9IL=hKAxSQBa}m6_KnE$u6Ks6)RmTEYTo=bPh!dgoG&&CC(wCbTtZ@6FEs zp3euI6e-&8w4OKLyuX=QzZoCEQaAtsNN`cSAN4`-h`^=~9ntGzgDL}jgz)8ZU;hy< z1`4iY8Zf7>jIxmM9f?B19xB+x906w0g>y(j#M0<=HHm-W+o;|E2oo!pa}efJY1WR% zJ>67wc7wZ|6_6{ElT$qK2^Dn8{|R{<+d4M^mL!6S)pCy5!$>uYPm3t zltaZk88nfRN-kj5puP=4y~o+iJh&!leUA>M#J3IR%A29z5%mA?vHuR##D)^JIJbD$ zc>P??O7wJ2se!Xj^+^RSj5XA9#gIZO+?Ab;hp=X-kp&{ugDGnvjlw8TXmUo4GwR|u zUO^pnqqXi(5+qFc_*$c?+ld|O6SEh9iVMW|x;|}oXl9o)t(WK&h%sv(HxG&Wlwg9{&Ev;K>pn}uQEM}T{Hl|joJAdq{3 z1Q=v}*YMQ)5RTq_<&3kqVdOz#f4W9GQsj6OykGG=i~e7Mco4NsoNS8^V#Cz%7t@i+ z%EP_9%wF=pkmkvvHECbwwcIQe0hzTwpZZKDLkEey!4i#Bq=zinxTHS?=~+;S0Iwq7 zp!^A6y&?ugAL^l*1>6T~N`f0EZoiazEd4gF2M%%4D*R6fLv}ewz6-{F-6r|j9P=#l zbHJ5ez;%fp5W6Az2{#7E+J2cvG1AhqaWz``0+Yg4M%apPXXv!i2KYMfQ_td6xKa$K zUCrsk30-Z!RHG1S)sOM!-BSjgowP89Z*^~91@z)PSJ0P3T8F9qpfI96Tx78hjcM`4 pOKapKx$_mXC{dzBi4y04e*i7Be*Uz9|D*r_002ovPDHLkV1l)XaOwa6 diff --git a/deal.II/examples/step-18/doc/intro/img52.png b/deal.II/examples/step-18/doc/intro/img52.png deleted file mode 100644 index a1369cbfc848e350d06382d788e1bf3610217bd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3008 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 diff --git a/deal.II/examples/step-18/doc/intro/img55.png b/deal.II/examples/step-18/doc/intro/img55.png deleted file mode 100644 index 964a5b666ac970cb709aaecc7abba56eda310986..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 803 zcmV+;1Kj+HP)RHR400001 zbW%=J06^y0W&i*Jp-DtRR7i>KRlkc9Q4s$2N0LpldvE2g@Tyy^w9)NEP}u`f;fmxM z>$MRZNje*gy;4xJ2loe@ptbuSsHcU6VBiERA&p`qw}J%aj$3Em?#m^cOBz8?Zo=C) z^WL{J^S+t40mfw=zEUGVN8n@w0H5%PnVP}Y^ z6qRpHR3y+|t(WZDcP+*km7A7WuSWk)HT7@zMT34GLZAOTc_Km~BQ z$My~MIq^^9ehFURxTnGuX#YUplZ0M~x0y_?(!J5s$6(r%b9 z+uj_1O&V-GnwO0p!gWtR}?w7V7)fp0-M+x_jFFdpV94$<+((DWjYD@TPghI-vCsGXGsqN?G621 z&`omC2zpsC&fGRXtv2-M2gKgx>?s@XnfL?TJM8S|u=}X(@!a7utPu#cF8C)HuA~Qb z&IvN6nW0nS?#OaHaG6$qn3>lI>@V84y+C9{wNUw?;*GsMVMy7SieRZry-6c@x5)wQ-JU~saB2Ui)Qj8@*e!&b5&u*jv zIcGgx978lFCMO(Vk>TOd;pH%6w-+;2IKZ{^rliCVNjrUp&6Nc!j&5jtC~%nF%*{?< zy+Q(W^dnZW4Ls6^S=ksDojJhb(%+af+lqF4RN#+Ka_CA{;Ajfy fz4BR{lYznOzv7YaFQ2dhJ;vba>gTe~DWM4fW_5B+ diff --git a/deal.II/examples/step-18/doc/intro/img57.png b/deal.II/examples/step-18/doc/intro/img57.png deleted file mode 100644 index 6b14e28499b73683a2b694d28b6bb1df27a837cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZH!py+Hxa&=@6_8^P;1lAydGqEKD^|>zGiSnt z2`w!x6%`dZIXMXl2_YdN9v&VxHZ}$Z1}Z8l5)u+TJUl>6uOd&+15%77L4Lsu4$p3+ z0XYjjT^vIsrY0vaFx9bHBrqniZn#k|@U!tL1G5x^_XlH@W)Z6e-isJb*~~gta`O5l zxT!Ip)@Q1kz;OBh|N94e_<00o-;v;ws1RSZ z$Ao#GaWZsr7U(@^RdAbh@AQEU6B>0J3>Em#Jl%Idk%31ckxjqj%Uw?%o}BYc#lj2t mLKuW(7&XLRTsm;kgMr~Od^O!py+HDDc(07059N@Ck9TcDW^pi>MoaB`_Bz`JXg!0ctDnm{r-UW|8VOal diff --git a/deal.II/examples/step-18/doc/intro/img59.png b/deal.II/examples/step-18/doc/intro/img59.png deleted file mode 100644 index 0308bdfb3bd4f925205bb38c76c4f2065b1888a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6O!py+HxH(En0?084@Ck9cQkbVaJaAwQgJ60>4a2e@j#>Zyr#CR3`!92bjfY2G&ENs! zPbLSafAZZHCtmOi7V0 z=AOid2@lv$);kC-=X&AvaATRoft%t?4Sm1Z()21Amr1a$NY!Tf)6Se!+7avUwBBLa zH`hJ+2Lw_dMjWVM2wp44yj*bEix9SV$2s(l|Nk%DQF_Cn;eW&db_RtcF9U7;7-^uR O7(8A5T-G@yGywp6bzX`9 diff --git a/deal.II/examples/step-18/doc/intro/img61.png b/deal.II/examples/step-18/doc/intro/img61.png deleted file mode 100644 index 839a8a8a29a41b79f25287e5969c50e63c644845..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 697 zcmV;q0!ICbP)RHR400001 zbW%=J06^y0W&i*JH%UZ6R7i>KRxwK>K@@(Q-MHE8CbM9paA)!Zu85VD-inQKg@>)p z+FWBJSlG!5XK^SP@CTTmAov561I5}x!NQAHcFsvaxRYDo%_-xnydo>jrp&Vs6(tnf6hx- zkz&AN9(b(;>JdvgMp%;ijHSVU*c%kLWp6|Yt^KD85b{kMJK!^s6X%m{ zm;Uhp2unyYu3U^ub)HZ-vY3okg?Fg1s+h`yli?9sCPu1L)IGcJ8}3U{Y^L+}2%BW| z;WsagT*N)NU7E zhzo<;+;9&jKv{PDp40(apuL`SNOu{$eUL8lg$~JvIv6TV*V_q8jWJdl7@}6Cle@6a zUrK(IKiw#Fup*WD-I%DfDa{4LtD;v@9sU^L6z6W@XZnX_mA;lN_QFM}hsX!#B-`?8 zt4fb~ds;U54Kxn!J$pGwlJa80J%g$C<%P0YZ%1&5ehiLS*ItLg) fi@xvk{z0DrPp2gDKeQBn00000NkvXXu0mjfhC)8X diff --git a/deal.II/examples/step-18/doc/intro/img62.png b/deal.II/examples/step-18/doc/intro/img62.png deleted file mode 100644 index f7daf45ebb1ad9d948b3a2588f80fe2deb298bbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422 zcmV;X0a^ZuP)RHR400001 zbW%=J06^y0W&i*IBuPX;R49?nk}*!hKoCXW;tetounP)kAV;vo1zaG3M3IOSZ~+u| zw5C9!q^IBt7F-~L1B4r3DhiryArWTAv5g=QA(VnIdAu`!W_I`QK#3Km;A0Xj48DW| zW8HN22U==U`AmmB2;e@Ll|KUuxtM;a-EMJ20j_G5^fC|J*e2CAT zGuj>bt>?CMdqk>6xRHR400001 zbW%=J06^y0W&i*J7fD1xR7i>KR6UQ=KoET!f5eC54+#)ZAX3mGMKmBGolJw!QDC4# zG~ow;Oht)Lgn}yh2bZ4^i9cXbU3t0!(VdYHqFkM>Kv0C4jlKRzE*ugdihCNb$Ft9G zcE{rdDmX#qn>Yy~;$`g6o4YbWu!bv_Lp|odCKX1%Tm=u|I;9re#*?GPbtvV*=L9z= z23JNoBvkDsEgim`r*=$dS_C>%`n6MG%q zeFbJ>o^xk&HOI*S-q6LYNs+bR1cyS+z8w2HtO5{!Hyi|5PsOx&eC(H5OzMwVP zv524ZflB5ad;~5w`|CnjitJ-^NkhE-!5a&37F&uG;1C^YrL_ZFZ9t9g03W)anhN$e z_z7aXgZ<^fvmtPgZ3H8wB|UCXeKnftiajo-aJMYkdotr{c>Wws?7h%5shM|{H9Cc` zIm9)-Us9&l$TMR5QCNzMRxII{SY6mt{I~cC5%Fui0!dY|00000NkvXXu0mjfa(gK` diff --git a/deal.II/examples/step-18/doc/intro/img64.png b/deal.II/examples/step-18/doc/intro/img64.png deleted file mode 100644 index 3b4318b6ca9e35c6369f79d2c65e3564614d230f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2153 zcmV-v2$uJWP)RHR400001 zbW%=J06^y0W&i*O=Sf6CRA_$T{@EC4x%jV2l`< zR#5Pu_7Ds?h;$J25Qr6$KrXSzlPjcg0gnyh!PB(Si+IQ&f(nvU;uaLN)J9{r=l{R0 z*6C?yCX#4>R9C%v_5I&l>Mj3!)c|V&%TC;yd7M(YCRi<~m%%e?80@u(+g#imC$dlm z>`(`jIG_R!7%R^6%HiS9r$B&t&s7iQl)j3}o!t`yQF0of$fL#z2C9RUOF4L)M<7*eN8C42=DsSs>9xR8_umBFq z_}x&iRq;CM#FY#fz+T4|L7|ISgn6BehDmAw)W#-9F6TdkZ3cEK>aVid6D{MvjPwh3 z%|2avQ4F>aOT2&~*0JZlKJ|F#qE?}s9gnBzin1-ysQ`~Cb33HQDCh^v)9^!$#v_Nn z{%<7bC2leo>?Y~rDd6q*dlPE2LY%n0HqhvFy94hBazw*c)v$o#Vf|4&73Yfg80h_)o$GIM)Z+7pc|zd85D#@UGDW*cd7@nHsUSXHYEOo`d*Eu~Bdf zAQY4#{|RGCw2N7&4Cv0s--PJCDUhxZt|~I`rR@o>eV$C~ew396G%qpAJh4F;iZ0HL zp;px74wlaGFmPzwq#WAxd{hX4`kNc5h)q4Pi&GHV@USDZ09(bQI+d{4ry@pt-YG+# z3O9tKAgASIt$Uc;Dxb7Pd{mw;onqcv0Ag%%3pJx5=WWrz@THG2 z#u#I)1=1^uB&+~nTQoA|lV8MXf~G+iU{^mWK6FsSdE4mdJDRziye$RkhPcwdQKkw1 zhPw;C_FR-D@k8M+_>m#^7b0U{hiDn)Gmsc@WEx=jvi2HBzEkDM$_0|cdLWW^9@Ak_3WN0turLpH0eBqeiZpY)1 z$`^z6bSl6Z5#-f+iLj}>JBGO`BxzedWkR$ zZAzI)MzHodFvH_m3$wkUBs&~nE$|iB)ml-FF~%5Uj4{S_3GOYjHEiQ`6`u@LX}H0`ay4)(TYEt?cnF~%=Q3;>mTLRY>De8evAT>c`^{0&kd$C z$}&|j=IK~Y2w-*~G zz>kseY2ex+fv zUPsg)7haTQQ7L8!!28hAypHtIPtYX{~qybHlr@5)IHDm znD0~6;WsFRB_FB@-eFLKxQe+)ubQZXPG)=i36bizCT#ZP$Ge#gVoNdJ4q`%t;&&=k zN8v-zd5z1Y^-;L^0k&N0udd!w;bl=N<`JwW+M?yhid&qUZp0!l?wdX} z05#61>tOQ3D4e$~U-m(z`Wan!(lN{6_#j1$3nAV}bvo;E?sTGy)A=ekq$g5L5=2Q$ zZoU{n?&Tfihb}@Hz80JB%;$X}hO+vD(YBa*9%QPPLq`shLhy|I{9g1Gp|gaup@dml zSe0{0!pImtCKkRIIo)}B_@2wMNC|Ci@!MOEU0l*)j4`eyOt3}kG7qsF-{_yRw z|M7dz0Eo4xa=vInzYb7yjo)P*)PhwheFifPSqGB0=p31S^wt$ fg2x!+e~7;UV1Pt~m;Jv-00000NkvXXu0mjfT|pe* diff --git a/deal.II/examples/step-18/doc/intro/img65.png b/deal.II/examples/step-18/doc/intro/img65.png deleted file mode 100644 index c5a2088762f814399473fa33b41da5b1b9de7762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6N!py+H=)|+)ERbUm;1lAydGqEKD^|>zGiSnt z2`w!x6%`dZIXMXl2_YdN9v&VxHZ}$Z1}Z8l5)u+TJUl>6uOd&+15%77L4Lsu4$p3+ z0XYqxE{-7*Qgx**w|7&R5Q-__5Z(pOvm|##zx6CIt+SkI{d6>*jX0nSe9ri zF>oJlXI7|kV!B~_|Bj`~fk%J%Zp3tQ|6yTZ7kY_&Hp(*FfwRQ(q$2sTYLoQ76wmOKbLh*2~7ZM CH&%QA diff --git a/deal.II/examples/step-18/doc/intro/img66.png b/deal.II/examples/step-18/doc/intro/img66.png deleted file mode 100644 index 4d1fcb84bde317dc351b894fa0a713462f70ac5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^qChOi!py+H==QVX1CXN|;1lAydGqEKD^|>zGiSnt z2`w!x6%`dZIXNLAAs!wcHa0c}1_mlBDiRVBJUl!=9oyN>JAf2pNswPKgTu2MX+Tc3 zr;B5V#MI;jAYgmM#Kz%~;J~EA%ariz?(XseL%sz9$yJP-j28T1W-~d!7kuz}gPtpg zO$5U=_B8#91Ds|ZADL!IJ2<@FU4FvvDEE(hx+|(#A8*)ui(`61+((`lf5e3kWJz4x vo4n&lCd2eK){O>@b3JB%*e%8*$G~9arMZE5@%L_^GZ;Kw{an^LB{Ts5MKDz} diff --git a/deal.II/examples/step-18/doc/intro/img67.png b/deal.II/examples/step-18/doc/intro/img67.png deleted file mode 100644 index f60a2bde1eeca59593496ce374c46ff0d26851c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^!a&T&!py+H=wZmE1LWui_=LD_-n@CmiWPI_%$YD@ zLQ6|aMMXtUPEJBXLP$u6hlhuOfq{yOiiCs&4-XGehcn~;-9U=5B*-tA!Qt7BG$1F_ z)5S4_V`ef?PeNKl13MEBPfdWCIy3WcRyMXgHWrNn2BDfBUY->Vu?@T)pEfky*dwPf zsaM>^%s_O(%9M!jd5ouby9<04H|XGYaCyr!E0HTq^NSN}q`Xl<49n&l_x2WlsNUYt b$jET(h2VbP0l+XkK;(JJs diff --git a/deal.II/examples/step-18/doc/intro/img68.png b/deal.II/examples/step-18/doc/intro/img68.png deleted file mode 100644 index 25ac13b2fbf024bdcf7493cb4895c77cd41e6dee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543 zcmV+)0^t3LP)RHR400001 zbW%=J06^y0W&i*Iok>JNR5*?8RIyIOKn#6p()MTz$-uw_`Gg>TAV>(hHR21pGNASo zjsc0SnHXST;0I1HF;Up?lWb{*k-FphL4fGPi5SuS8v#*HU1gFW2e@NG<&5~i{JeGfCcm<%1Wm+e{C({4`002ovPDHLkV1kMr-v9sr diff --git a/deal.II/examples/step-18/doc/intro/img69.png b/deal.II/examples/step-18/doc/intro/img69.png deleted file mode 100644 index 3ca0181debd9c169aa6ab7dc0697af82f5ce2885..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmV;40e1e0P)RHR400001 zbW%=J06^y0W&i*I2T4RhR49>SU;qPFh5`l#4i*Il1TbL00K7o428Iuq5(uEczz8Hc z;F>vL41RpN&;g?#!v+w|0>o?qAXcU!ka)nraNz;SX^zu4Bp@n)zyXLGI7u;{FaX=x z0A}V3K!hMZVG)PW>_B{A1ISw+pzct30OG;CnGV#&&9LDER|5-F1Vl4F;DOnY0J24Z zx~`@MV0_VkfPujc!JmMT^8f}3O9O(>qX1Sh|NlRR1q^2xxDELKZ|MIGmSO>iN(U@F zfE3&BgHUZBAjC|#6!Xq+!0`RK035>%47R@%AW|Fw{QnvD|7Uo_Wx&8*fa*?YsQ2Fl nISUoALbP-IXW$rw0gMR%LWeWWojnO(00000NkvXXu0mjfS?-dy diff --git a/deal.II/examples/step-18/doc/intro/img7.png b/deal.II/examples/step-18/doc/intro/img7.png deleted file mode 100644 index 72c7d4979e7f995a94a6ce2758182835059c0e6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CH!py+HIB&`YPasD+z$e6Y^XAQS=FDknX{o5F z2nh+Xv9U2QFyP?7+v{FV6}IHVNgZ15r{ejVi(J?aVF58x}M)0S)rv;t1o59o7&t;ucLK6Ua C>nkz< diff --git a/deal.II/examples/step-18/doc/intro/img70.png b/deal.II/examples/step-18/doc/intro/img70.png deleted file mode 100644 index 8db096591f2d765ed209ca94d7ca7c0d461bf91c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eR!py+HIM?aYB_KyPz$e6Y^XAPfR;-vaXU>EP z6IxnYDk>^+a&i(95<)^kJUl#XY;06iR3s!Mcz8hCx9zs;1X7G8L4Lsu4$p3+0XcD= zE{-7_Gm{e%9wa|uFNpt`J diff --git a/deal.II/examples/step-18/doc/intro/img71.png b/deal.II/examples/step-18/doc/intro/img71.png deleted file mode 100644 index c69666acc88d7163c549850b619488e9fb59f314..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^DnQJ~!py+Hct~z?E|6mo;1lAydGqEKD^|>zGiSnt z2`w!x6%`dZIXMXl2_YdN9v&VxHZ}$Z1}Z8l5)u+TJUl>6uOd&+15%77L4Lsu4$p3+ z0Xg$MT^vIsrY0vaFtQt*o;d9yRi;h-I!ItuK$2|ErHIWVe~{IeJM hllWqPT{y!Tc82=~@>~ZGO#%6t!PC{xWt~$(69Di6TzCKg diff --git a/deal.II/examples/step-18/doc/intro/img72.png b/deal.II/examples/step-18/doc/intro/img72.png deleted file mode 100644 index 9e0d0b001bab206c4c43a39168a1d1ba08c02d38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}99P)RHR400001 zbW%=J06^y0W&i*H{z*hZR49>SU;u#*Aa*EVfPw!Yf(6cH-~bUH7;u9C7=xXGfl+`1 z%3*k05JyQ2TU+?9_azC0|EyS zpOGPe1LAxJ17-#WJ_ZOrzyom?KhQG@OaTUrjeZQ=5OW$BIG7EXAZ(Bk3==4K8@YgS z-oJ^!2upzRB_Y%bpyL-XcrY-q9)JiO0+S!WcrydX|NjnP0dFvw0aTp;lC*)E!Ve;t zI0_glSU|#?ndLhEFhIhEf#LoKhW}p~S{WGTPh@ET1yMPYd%!`&#lUlbfu#Z2ok1{0 eBSqe&HUI!uMJi|vjE0*40000zGiSnt z2`w!x6%`dZIXNLAAs!wc1_lNyDk>5Z5VD&hYezODH^Gn8E$%RHR400001 zbW%=J06^y0W&i*Im`OxIR5*?8RIy3}K@fep?3sj1?$%O7xDSYhKM<~xh(&^xV3SG& z8#^t}LP=)|vDHrqSXvmY1@i|6e;}s@u?ViSdv}`)IdY^Ci#*ufnYS~uv$Mkj5m>Z3 z4vGT{8R+39fQcZ(j8i;ibO4c{O*s{_&X~dt4Rx9)r?N^|>LWO!tnwCzH2Zy^R9GnT zqDbW3(h?8zVx5K)*2F^KD&e8eDql)Ec5(rP5LA+WPcfyG@J1~TyI6t#DOT@%ntiRa z$ySHDh_IuH#Dxu2Pv$^0LLy&Ofsh;Ztgyspms&Lr)ui_q%tXj|2;`m+($EY|PF!29 zLX0cJt`bfB6r@GviqEu+WpBq>do!1EwZv1dyu=(FwcD5T_V-e_bC}%b(K}Y(QY=#c zE9L|3NY3*|ch=$}HHA~;;(u)m)(5o=RL2PkDFmq7IGZ?>yyp$T)_R`0;?;}YG)TF| zdx9_q0CW%2VbqEv4EgPp+dc4E^;f<%vFYyvyQ!%sP^VE#W~K0y<;Gg;<0cG$id@U` cTHx5~cj;s5{u07*qoM6N<$f-3Rt+W-In diff --git a/deal.II/examples/step-18/doc/intro/img75.png b/deal.II/examples/step-18/doc/intro/img75.png deleted file mode 100644 index 1b231e7c8a0a85588b402b8f2d8b3afb4f748f3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+VRP)RHR400001 zbW%=J06^y0W&i*IK}keGR5*>@Q#(?_Fc5u;6>NrpT+)#vxTX>_6d9UiI6*GJBu8*V zpPqsO4j|wHd=3!b08>#g!>ENYD63C`opIrUDsRTC-PK!5+9v@XduT+07zH>wjgx|L zEr5gO+B&-QrNL+Y;81ZP+ElkirzFF@fAUD?85)@YZL@?ih9bgrq#{7ST|@mbfgNAB z`=1+Xi_qY_np5cYVKs2Llh%%q*(1b(QcwwXHNA(nX=BK0uqz;<=DJ+qkw_WCzSKIj z=Sfx;>{Zv5en_#M;A1jL9wIiY&LyAYwLh@t^lKG5EmpX}u^SIx-|=AoiQx=G!>RvV zRd^cydcSRHR400001 zbW%=J06^y0W&i*IK}keGR49?vQcFt2KoEUB>0~-&W;(bLK`=+i5dw+`f|Db7gPEP% z%*L&A0`&$4PcXO^Jc8p!bR)fSAu4V4ClW@4AiD68bgJsrr>iP}LEk>W04*fQ+bVkg zJ49Nb3k1DUxduUbMieKNHCLU2SD-c%^p+&B1DhbyC6G%<=^Z4FgMj?3!QYQJ(d;KB zyCH1X;MtUhn2|I|P4NMy6>`%yUk6e09SZ3s-I7eyP0XMIy1LcLZ6;AO42!!n(rcTx z_^g!KGiucM?|S-0Txk86VwWUQc@uj$SzyB}VnKu8hT3^)V)o32ubjM<1=~n+v&-=u zT&uChIj(_y$Dg9Vgj;#|N&{BVj&T1)@QiqFWV4M)O+54b$Q)ejN<1Bk5;vOghUoTQ tySX2=yQshP#jCa!W~=<{+ll-id;nzU1r3an8#F{3LYO%BnLFsI zD^JLHlI+0x`rh8%nha@$KpS^3q@C0>uy#&)ZnVLkKbisV>s(1 V#L%kecOGaVgQu&X%Q~loCIC2kNs<5n diff --git a/deal.II/examples/step-18/doc/intro/img78.png b/deal.II/examples/step-18/doc/intro/img78.png deleted file mode 100644 index ae00dc154a2dce1cc5a7bf698a6ccc386c616051..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1148 zcmV-?1cUpDP)RHR400001 zbW%=J06^y0W&i*K`bk7VR9J=WSIvtfMHK(lbSLRdKB_^%9lxe;f~SC@2(GpuGT>o? z|A6rzdXWiu@E}M8UFNWAJc*|j@egR$KVX9wk2~Prr@btDEOeFK9ZmUORabX!r;`c8 zECZ4sboZ-Q?<=p~tEvF?h=2(u3g`kc0-#S!IgJH<5_-ZxxI}Y(j8nh|dPK$@a)={x zM1DqqNS^`zggTqy_K4s0%0oy^Qv=C^Zj$r2`1LPo$yJuwaN9&pDOfumy$;UyTRDhM z{ggl9K$D1)+I2iH<)z(&dd@5;Ni=C$l{|th@+C10c15DmS1wT&LcKr_5iKkB8@cv1 zI`?QapHiJTFeMfOI^$}d7arj%tU&*2K}Y6&Nd;U$Ch`}0 z{2<@yvYKsSG{Jz~Q5TN2t@RmitY-RgcpP}%uypb@OYLcd`5=Y;?_M5aCaCIP7vPJ2)u@9b=g9@+EUl-7R}C+6%G&ELmSsnwbD zL4L@oV3Y`uDBDWdR=*tAOF=judSqVxevNZV>Q_3H^IOJNr-usSoQjIQp^VB#Qrb2a zM4OIiquy4ooSjJ{H=foAZ?M5ySA~nYPh1>6JUqN|(J?Hd5%$BzBKwi#y}A2FS{`p} zJ^vPXi^yP-@!q@pEU-hwA>3wU)VLU`VLfs4!HyyPQKpcKizy4QbWq?6@$#TNzRFv< z&kAqe&sahH*vEWynCrW&sEI5r`?*Za?+mraq3yd((umWEsa86$5ZCk^6^K9Z;sBii z@5f|xU;C~*-nJhKYe(y}s%OIrIE+YqH6P<=qGJC({q<1$+KTuINuBC|QoMLPv{QU$ zQxc)Qy1xXE$;gOBD1 zCwA%+7nXPY<6=}<0-x8v00*b$Dg>c)RHR400001 zbW%=J06^y0W&i*Is!2paR5*?8R6R?>P!zq1`RW(1om3R8yUg{5>j>E#S!V?{bb}cx90A% z`iN5cgCa9f4U;2S=qZYLBD#L08mj2}j5IJ7f%b9Bj4|P0(=$%lx{}=!8Erf)b4Qw5 z8BL7-wuk?LBX&@T-iKhx?@)k>IIvnYwG<{b2m&6PW0$f@ng;D)$mPKeJ%=(NB~Wp+ z{wY6XEQ7a<3@B1UZBs(soKo`+3{H)>TKKHXh<7U}?TR#17rQdzm+R^zrv3(@dJdZn zoX?E;7sl~EP2cF-QNG_utjdd@hviLBs4}1S!b<`U@sq_`(@tDfs%o$5Rr3qoXihXH zF6v!;QB1`vGuBVm0y}^V)dsdZGFRcC6!*SVjrnjGsuIpU53XXwiFkUjwm3eKq&FipM{2E^X8E$HIdO79*0000RHR400001 zbW%=J06^y0W&i*Id`Uz>R5*?8RIyIOFc7_#w24$&cV!}<(3vS+5Q3rogpOSh-B`mP z@CS_qA5i!K0$-3npj{Z@HU=cj-Px(#P*fFlgD2T%-@UUh&vpPx3=3mZY7^KFsq}GI z%$%BnNqf5`;;KVxXpm88J?{W^m{SX*?>WE6j9NdBoTCMhkWorzysy$40nNN)LOuG> zejb>N#S~yq5*Z2bVqLc&v95Pl?+!4O-m9oQ1te3TxW2ZsF8i56wWyIi%OAO3IwO=JSi5MSRo4H`aj4zV!Dw|GfC%452{i z{r9BIaYc|NxHdyM@w|=LjjyUHjuLg($NsSyU#z%d>drj4Y5)KL07*qoM6N<$f?F!# A{Qv*} diff --git a/deal.II/examples/step-18/doc/intro/img80.png b/deal.II/examples/step-18/doc/intro/img80.png deleted file mode 100644 index cadb86bf8c4896e2ffe635f7b150ab11caea3f4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 847 zcmV-V1F-ywP)RHR400001 zbW%=J06^y0W&i*J%}GQ-R7i>KRy}AGK@|S>ZvQTOce{duipW-JER40yrV}J`q_ETr zsKjo&h_Todf(nxDEyTjw0};!tu?-r3`dlGcSUABhD(jm!J9|Ib1P{(e^1lN?tQ)L~L)EKHxlKT-87spZ8b#wR=)7U92tvoB^Lm*m* z@ar>DfTombFDh(;u6nB~(k@DV38Z=RB8FR%Z4Ae;|_as#+HMoG1QpM82N2EBy1gLCXQ|f0E!pXPY-~S-)tJ?gu zLwX^s&(}t;W3x-g;$HqN)j|Oy9WfawPmM>dU60TTjUOY*OLU$-(TyG#LWyQLWHPMW z91DBHOZLy;CGb!ViIY2DrC_7J!`YeKTgJ3fdAaZ`{z)`~nclvr@+wjL%tgs;L@EPvkUc~T=glkdroyodCnw!F>xkxf0EGGl_<3HTT0o6 zvAd$Pa%l5zJL{wA3K Z;t$$FSWf;9A_M>c002ovPDHLkV1n=`g)jgB diff --git a/deal.II/examples/step-18/doc/intro/img81.png b/deal.II/examples/step-18/doc/intro/img81.png deleted file mode 100644 index 18a99a6aa12d5e8d4f0295853fe81997a605a9a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^vOp}r!py+Hn6DC90^}G3_=LD_-n@CmiWPI_%$YD@ zLQ6|aMMXtUPEJBXLP$u6hlhuajg5hUfr^TXgoFeS4-Zh&tH{&yfD~g%kY6x^!?PP{ zKu(9Ji(?4K%;bayMm~wh{4pJg+#MIv6B7P1h(6fQkhan416$KiUT%d)T0HU+7aVPm zvl^UT#c}PVz$XTm@5V6#Y(YJD0+|0hzhGX&B*CW8%*VEkMPhbzW8=qU%a|_BdyS2o z8#Xf@^M9C^@biD;=l#qrr!^03Wjv{HteHo~BQN#;|Hj1s^)uoa7#_%Mnf<7HHqcEB Mp00i_>zopr04&U2zW@LL diff --git a/deal.II/examples/step-18/doc/intro/img82.png b/deal.II/examples/step-18/doc/intro/img82.png deleted file mode 100644 index 4a5f786f1599a2ff95ddbff8c7ed094bbee59de9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1316 zcmV+<1>5?GP)RHR400001 zbW%=J06^y0W&i*LqDe$SR9J=WSV4#!MHGEK)6?6#vpY3{hut9BCoh7TfCnKl_FiN` zg;7ZGAf^Qm$wlW93?kBdP*l)qFCM%k!3f@L2p$AsW;Y%~cEnsfWsG1B9xO2k?k1M? ze^pP{>}~>U)^*W&)KvYd|LfQ9Up2peH?T8=n4%`;&Kwpo%rDFxYBVrkPiRQU9V*-b zd?2-C#%lowO~Xqg7@QPLsAS7rZ`Z8Qx+{3*ZW8aa8?+;CX~|}~lZj|2HibJ8{%4WupG5y|BJDG}Y7iyth_=6#GnMl;Gn7PAA2iXI0fgaV zu&g^l3qzE02+nj*=f|6Mnd+gF7$83$KbAFfw&e|2*Ya8ko*S8w#Ym?|J*9T(G1B8KTKh%Gy?%&pOpN&@>XHq69UPVMy zsPb$SE5Mv0k_kH@%PjX-SG3MG-+aEwxaL|zhhvc1%fIW(vv%kqSBnX1CQO>3H?W2p zPU>*r8O=&5ZQp>5{Gmm)hrpvKbn1|_ucLQ^?W(k^{6dv$FULskYOJuGV;vC=fF7uF)&Bi0n})C60g56Uip56Zoxy(?NKm|%i`9aCx$-gf#z6-f5pm@g}fWBp#= zwEoq-wWA)PcJ-z4OvhKTCEQVS!TU)mR+0-`3V3g-^X`r62;!+yDx>1$4V4oy<|6O6 zO$KgkW3`#IR1P>KWj3n?UHuN2?qFL%KP~Cmh)QY8D|Lri;>68@3fJ)tXApYQ{Iwgn zNU6mWztg})sEtsW?;cNc0ZYCIn_23P_raeXcTT+}RNgg@>gQBOwoEr?^6hNF+Br+a zF9dy)rAS=*nd;fd*U4$nAuX?cZFg6cpKaW14YNn{a!w^DppkAAZ&$yoP*R3rOAyr_P+5hv#P^q6P+`D!dX=DZj8_LHWkNZ73Cas*_P^8 z+C!v}^0#4O%aoGnspZQEH=mCO%A@z{jou|(pJ_o>*Vbdatv5qm03L=Wm8>h-h&}~g z=VJD#^2IH4T6E_K$rf{h3}IWR$34Xgr#e(5-f|qN)t(wRWqM`2kM8${>vi@!NB+6e zF5U^k+Zp_n%AHWmIoPx>7e?U{7rige%q#86*c%CgA1(2CF%s&nv%B|vDQC&9#4@Pd z5k_$BJVxoTRv0#^^frBvn_VA^FO{FTsV-gH{#;Km!4_};*e9R>uwOs{V80-oywOfD ahQ9zzMLr%dW;71~0000RHR400001 zbW%=J06^y0W&i*IeMv+?R5*?0lfO>GFc8MSw9cQZrS=FCNS#>e%oG;Hf)p`y4g(cq z9w7@81KnB58(882KxIX=;sx3P#K1r#HYV=uq-jfqK|WHjaL_EMUYW35njie~n`Nrt zy0Kx7MAR`3=aM=VvfR)Tj?EI~rQPhD+zKz9ppNIRm!~hKl~sc?CHMyW4MRf?O_}&& zy3xK`-J$=giMUWsucZ4}LJvwmms&nQU8L*d7hH3tRmZ%x&;_iwr!c2?ui$4kKuATL zz&<&KGKZ*WOU=?Go&+}c?qO=<O=$3vFq2_z~iawz#2jn@T3}-z*Fw3*q&M7E#x! zJyLs!_=Kl9)fQq$&7S+H5W!4oxHcKXt2z3A?GtdfQ`9FdvrPa1002ovPDHLkV1lJe B+*AMn diff --git a/deal.II/examples/step-18/doc/intro/img84.png b/deal.II/examples/step-18/doc/intro/img84.png deleted file mode 100644 index 53b52139adc8ba272864b6563c16f384e1cc2ad5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 938 zcmV;b16BNqP)0000mP)t-sv$M0P zsHmKroRE-^goK26czA4VY+ztuR8&+*NJu<9JTNdYBqSsl7#Iu;3;+NC>RHR400001 zbW%=J06^y0W&i*KC`m*?R7i>KR!wLVK@|RWv%A^+?iQ*-TQC=eqSzcn4E3I<0mHx<|=eqQX`A#H9ipaU8|pHWK6^jk(99YebJLvAB6 z!WKI&=ll0oNkv9RJWM%BF-3SCCo5XoN((531t%&uc_+xxupYu8KmW!PJzAwp2#L&A zKn}7Va{At{&e<*V$tcees)>0*7%Ki^+XnSbd&1iYRJ?yMfv$z`{qQvR3 zvvicBRSXg(TtaDbxXf!h^YsCVmK}XT+Cz6_k>r%xEw|5|3qWW8@ z3GI3P)go_f?JL2#KlXgjwM?jEMmDE+)qVqXE7pBk{6;1GrKR&6Z@zNfdG4jF0yf zhp+p~+6yLyXwg?Sk|RV?`qFdo+Xb2a^jjS|ZNxR)Ti_RuuF>snho?WrEIEooWG!rc zdQh`xka=6fVJ3yhYN{H^5hAJFW2&iax2}pGpnuW)W6h%SHw=0z`0cRulzGiSnt z2`w!x6%`dZIXMXl2_YdNHa0c}1_mlBDiRVBJUl!=9dor_T?bN(B|(0{3=Yq3qyaf4 zo-U3d5>u0bdJ<9^nqw@weHongSATC{l-wYjlJLOs(c;s_HU={oR4gTSa7lPDFeWNY zn#k%B=iALTX-z`8rogpdd@LOsn|m97#xS+)>^#``kWuB9NmS;1lAydGqEKD^^UHFrlTT zrJ|xDCnqN%At59r#KXhG#>U3Lz(7SsMM6S?hldBK<9znncp$}C666=m;PC858j$1X z>Eal|F*6ycEuEp6g-y+XSBX_ZLeIeAAhSZ+le7a2H405f8C;sKY%*&&^MIjnX5f{* zLJb$@urFXzU$7;fp(Dj7p^{~hxPieHLk0#86V4MBiT4zNCNp@t`njxgN@xNAod-P5 diff --git a/deal.II/examples/step-18/doc/intro/img87.png b/deal.II/examples/step-18/doc/intro/img87.png deleted file mode 100644 index 16160fda82bd59c2bb2e1093f93362f747a0f331..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^d_XM6!py+HICDGGdmzUkz$e6Y^XAPfR;-vaXU>EP z6IxnYDk>^+a&i(95<)^kJUl#XY-|h+3{+H9BqStwczA%CUPYds2c#HFg8YIR9G=}s z19D%FmVcWB{OyW`7f_^>StqPAj85J|JhS?d)_!Oxw7zUFi3u8NcnYG z-ht`J;{&T7{{R2~$C)&%0|t^V#jG2087^Mqsc}=NdcXfvzC%|kmdKI;Vst07OttlmGw# diff --git a/deal.II/examples/step-18/doc/intro/img88.png b/deal.II/examples/step-18/doc/intro/img88.png deleted file mode 100644 index b4b97f19c47cebfcd613538f694a7de9d44612fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^AhsY2GXn!-BA0*zkfRvj6XLpg^X3T?CbYD)ZFmfkw&0tt`gTe~DWM4fcT+JQ diff --git a/deal.II/examples/step-18/doc/intro/img89.png b/deal.II/examples/step-18/doc/intro/img89.png deleted file mode 100644 index 344be488d34f294439e89a6c6acc14035ade0b12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmV;F0c-w=P)RHR400001 zbW%=J06^y0W&i*I5=lfsR49>SU_gKZ1`O~4#!z5jWMJU8V&K43g9%s}7}!BH2LnF? z2R8=;3llNAzXe{!VhsI10xG4fS^J2G%bc<12;dz3XtPjfuRNRgB-&FP|yMW0WzME zif*L_aD%fLQG=1C0m0@`0Fi7A%=Z(3G`9i&{|)`WA*wcj$U{JneqbvA#xw)l?}JcH z;4pc@!XV>#h5;nQyz?6{WPdJTV0Zx5x&M~~gBnmIfd4q`8c`wbIH^3_Z00000fhdEP)UAlJb4^;9OL`;mx zD+_`jL9j4;h$=OMzk%F2w4Oo{6)(#9&hPGW?-YPhldgGXOVf7(}y567K`DgGBppu(B%2flg0enA)cY`1bNFXPD zJZd;^(DLxeh88buSKLILZ`Qx#HVs6w#>^i5B``1PF8I3uU76sTj)*3-$Q*gbBhVIP z_sS&`QtTrmn3+87n9)@Q@GmCcK7&)W33v|Jdd&6(rkmquT|8u*WRVPdStfxhekb|A Z@dbTFGKsdeDWCuV002ovPDHLkV1mF+oz4IN diff --git a/deal.II/examples/step-18/doc/intro/img90.png b/deal.II/examples/step-18/doc/intro/img90.png deleted file mode 100644 index 37de0c2c2d957e139b466e464ffc7780804b18c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2067 zcmV+u2<-QXP)0{{R43oA(U0000mP)t-sv$M0P zsHmKroRE-^goK26czA4VY+ztuR8&+*NJu<9JTNdYBqSsl7#Iu;3;+NC>RHR400001 zbW%=J06^y0W&i*Okx4{BRA_sz zXDwjBi;RIy#U8RoH1O9HbZ#d5Y)mU=4p%Y@)L4)D!f|*zDvc~2ENv78ISAWn>D0~p z#LS200?dlkW6&MKn5T7?B~6^t!n-4~HNlM=HL&_=tG?7?MOu_Z89|5JBX>6lwz%iq zSfS<*%?Pxl@HO_1C^1$NU5f`WxhhQe;5i7^s6q>eV@mWDoiJ@|$yWi>X-k-j3Ju-} zSC=u>bh(f8l(^r*DX=L~B0}>h@RW7Mw?**LJP6g8=@%>g?`Bs%oQ}7oho!j+>>OR? z#s}-&9GO%-lnSYbDGCj7S1O>*pklC-01MLIaQP^4vM3A=K-*GUN~ATY zLn@wJ4$-iJ6J?19Cc?TIH%#vdqzYjU%&b22Y?AeWmc8m6p{m{_8~%`qa!~2w#B2g( zgX9$D0%JHBZjj<+b3B{l+vOUly}ej%zQvH6L2k@UE`91$z(&I|8 znQq3f-XgZqd*JpMKO=m>LQ{+60OqTvYT3!(0aw3M@Jz;gQ*JThIt0kfgd#t=`b_s_?_ov`@gzPdysT1o?v_l1?}!7i zv5QVb@Dyf38(|j(&a|fNn#+_~53D(&OC%02Me}7@Y9cW z(H30A(PT#$Q8lONO}a+c5q=XBL6?`%7V4}h29)79D`I=Y$SMk+JIh<3qHPK~3Ffv+ zv>QE2{*@u8rFnj`zQB)3cUvm?gZMV+`m$Yswq1or=&1+cp>UVnA|^R(ZZDLQ%0r{I z(BfYJ7p?C~hM?i@F<9r%I3FMXXc-7Gt>u2)7Fy zK2y6)zc!xx#e={CiW=E)xs*7lup%)P$2i;-sj4c8=WI9RDQe`vFfb2zPMK~KK)fFB z2?N2|EvVgH0u{WWJ&NSeS~XEli|DoQaECYTK%RZU=~ZhbcDEvHIz;J^5KIja?GXey z5rc&@S?-EG0H*E<4&3nHLMdlO4%_v4ibd!Odjw%l%v->dUg)l7bP+%5cq_{3V_LASjoSc4~J0`7q2i;JZ zBXlEibZZ){2Kj~+asqLl2S6=fLGq+wxxp?Yo{PF~Y0s+E7&j#`o;e5Ld4KY=bbj#J zg`3fGg7I)>4S3G20nb7<$pjM&!wE2)v6)!y@dX(Q?e`;zl6^^%#bg1ZP^J6aiF+y^ zwWt9DbB3<*@g{nqM#+tpp=YuF{4H9d#|Z>ls>XK+5iuj@;=9E)Hm-r*V0&NN*^gTw zPWCszOFlCWR{im@H1wIY!gE4Q1NZTV4nA_Vum$L#zwp)mSWi|Bt`@(KH$3dZ&*XZ} zf$`Jcx1GJ7ST4L?+m)dFhxiDD6mck>r#O_f>@4cmd6=$hH=;zko5HReFd)^na9>@n z(sc#4j&hPZ2$viwMI5?AcluPAQwp^?rR|ITMNftdw#k&XOxFYxOtAi7KB&?ozx%TH z-wKj}Idwpr{P;8Fo31c|>JOcU)dfiGPxqxI7bS0=O z`eE6jKNTUi*@2i~`s&MMcQPU}8hv#>(xNFy1XOSIu_g{r+3_Zk+0?EEr8f@SN5Q<^ zgm5;`fqu4h6IJ+>{Eq}eL`2%f)H;E_Xi5$*8c=QV`kL=anav13P2{gl)grUwM^M#I zD0EU|q+tGu^txakPM=8aO$AhRmX&CJe&~O^4yh3YUqzO_frywgf!x@$9 x1QYywkd|`YLt4sp4{0gaJFk@Ck9qqIX(!a_(Qf>%LEL64bP`!E}u$_7TioM~(ucOJE~364<7DMi??PGgS2OIIi!wR0K4X!PC{xWt~$(699-{Go=6k diff --git a/deal.II/examples/step-18/doc/intro/img92.png b/deal.II/examples/step-18/doc/intro/img92.png deleted file mode 100644 index f602f9496bc71951c496d2a2f791445fa6946440..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^>Oic-!py+H80r328OSjR@Ck9AeCp6536=<{2R?NjL3MAq0vY4^ryTq_znk6T zFZ(0@6JZ9r4aSys0?A5Y2Y4@PF)mW@*&yxc^Ru4Ep?l|khMBw`VhVQ(x*O#mwy}3K zymZx2JGFWXgNNAWlh$?*{sRHK$n`A-vz%je_#b{&aY>$4)OnCE_=D7M=Qm|VI&Tg< j5}3$-V+vb>c@oftdzBQTQu|_O0htV*u6{1-oD!MRHR400001 zbW%=J06^y0W&i*Ij7da6R5*?8Q!z^eF%X=&7J?E-hBHwSp27=fMz=v}%BwesXmglPB=ipJgWem?S4#B--wpAuK z=b)U#AoMs+;gj8-vruG}R?NsrC2c8dh8i>M_fb%t$;D3DMHDKNjrb}i(A0KX1VPFK zu(e2LM6J1j_ z9mD=E3TLliEki3~4l8+$i+QYO9QwHc7UVQ0Wq@rUY*OZJIH8U z-!HbW%;ShlzfU(PoQ~qo;AW_qh~;BiuzLjaj-ME+ja%(iynM-MlohZCDLg4kwG&_` z&A<2NV}Yu!$t8MnL`$DC-1q&=k3LYlqrwg+Xux_rbOm;ihh6(z`^Q)K0M~S4lR$VD Qp#T5?07*qoM6N<$g6UP{vj6}9 diff --git a/deal.II/examples/step-18/doc/intro/img94.png b/deal.II/examples/step-18/doc/intro/img94.png deleted file mode 100644 index 99aaee1866680d150aa9445acbf7b27ace8a5a36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355 zcmV-p0i6DcP)RHR400001 zbW%=J06^y0W&i*H;Ymb6R49>SV88-67z!9z7!RO`@$+L-2?neT3=IqrX}BUjoT}jl zK7h~-U~M1xxnbfA8@TxyRxmh#d2Ar_83`Ij05E|FkSSXqYydG?fcOJL09dX7#AL`c z1Tr6hnH&vZSs*fSoW>!+umS2yeg_5x5EJCE22M(yL^@zv|AT=g0nU|#Q2Za17(9?v z9Rd+7|Nl2IY-afXo8v#&^$gxnwP26s?-79NMHaQ54>Y@f7BuRBCNMCxGW`F*{r>}> z!eR!7a<~o9h~oG=fq|s~VQ~i@vdNU>L`0|0J@GWZGC#m)c#002ovPDHLkV1j8X Bf>!_l diff --git a/deal.II/examples/step-18/doc/intro/img95.png b/deal.II/examples/step-18/doc/intro/img95.png deleted file mode 100644 index 420b776da8b5bd8d059bb37d547e741ca8b520dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1152 zcmV-`1b_R9P)RHR400001 zbW%=J06^y0W&i*K{z*hZR9J=WS3QgrHxz!mJF_#Vom(#*CkjTFCQ8GkNfQ*NLMKt& z1|_21@*0%sQY1n{L4lHprAm<^AVERJ2t>m*7Z4I%E=nD-G*D1rp)1Ibn7kj`d@*OpS+%wFj(aZ3@uSB$9W;#Alvsv5Vf7<$|cqO5R8kb>P5$_8VTm5l>e6XMqm)9y9drgA zfc0!95t27&9`4Pk%w5|gm4-bGd5p*n!y-)Z`_ve-$fo<)9Ms5?OJmM;fO-uQHyC7i z;*->b99g1(13iS9i7AQ+>G?y*T79mW9ory_XzJSDT{_lmj@uvq1QO3WOZo5v<|2Pbq$f8+rhh2~kWS{gQfYlBpEgA~u=tmu?{wF_)WUliI}r z+T9QGFStb_+KX=Y$jGWQ5;V72NJ3{Vv-cG86AJ0lnTP3`Tj+`0ms8vBLz5HY>>aQ5 z6;}A4;Je-3-8&FWxY3!mWT#uzhUx8mTVH2ALn6TjEZ{VBZ@+e}WeP5b0O?1=9R z-ciYC6;&vy?G-2*4`1+?6DasTJ4th?Yk4FJi_I9F_+jtyoI(jF_}OU3R_*N%U-5b1 z$sN~n4KSVWE8Ywqri1o|%(zK!T;2lh35Iwl!@g(OpPcBd1O2uXaA(crWbF38PJNmO z$}a(&fAiJf5EY&<9>dA{237qh&*}=kh6`w-d;6aPdcXda6UhqjH}akVOvY`6=%uGq zz?}8rxy$$1rX8CmcdOXe%ySr+dJBA1ttu$(l{`m6K~Q$;eEZcRd8g4ieh}2@qIG9; z3m+v1cng0Nc|68h@n+=rL74j0MVN<>NU$igEO0t+SFmHN16T}<6;@c`Fymj)bVOlW SB9Z<80000RHR400001 zbW%=J06^y0W&i*Ib4f%&R5*?8QoT;YFcAKlnkH>%(iMb69w9G)l#z;oiYLg%fDqkS z%Yej$SUWY3P=tgS3j=c>Auu2Y2G1Zh+?~@lRRcn*kQn%UKVO`)eLf#x-~nC3Mkqrt zUYhFAa14!`p-;|2vvhGOoS7$PW60d6p@D>GT|oisKi}^w#52}&%(2%I`JsB7)nlP!7)#|lSoCKi|M&)<%raDtdfxLb00000NkvXXu0mjf8&K4w diff --git a/deal.II/examples/step-18/doc/intro/img97.png b/deal.II/examples/step-18/doc/intro/img97.png deleted file mode 100644 index 5614d58f22ed467e05a688eaac57246318d6207b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 589 zcmV-T0RHR400001 zbW%=J06^y0W&i*I%Sl8*R7i>KRy|L{Fc7_vkD3M&uig3sI#ety2xUSDmJEo6p;-}2 zHb&B4Kt~27SlIIuD#Q*e6Rj9nBXytxiC`yfZKrlhGBEY2t$lv?oXed*3ZO&ymC;oINWnR0e~t)7%kiJT*jakzWKg z3;GXm)sel_U`|y;Ls`TaDQDv_DkgVB^by#$=RH%J_wFv(o!bO{E4Lm?A>5I6FTi(1$g!}PLGw*EIn#$s*B`LhOt{#irR z^QvpmxUxhGZmUZ45S%)d_iAWlusw~uCt1+)4JO4I?D2<9T8f#|(_xj9)0)agTR#!N z0l@dtR4w}BED3;~aQk2oS#x&Oao5Zv*^QC>`5mykqXik_$kKw&7e;119^b3$r|B+lXjs5m<7r>=5Hj21lA7w#Dr5dv>8SIxz b)>wgG)|hvgd3Z`_00000NkvXXu0mjfmlOX! diff --git a/deal.II/examples/step-18/doc/intro/img98.png b/deal.II/examples/step-18/doc/intro/img98.png deleted file mode 100644 index ffc82543e56fcb5a47e821d711e2cd3551a9c872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^av;pY%)r37PqLXE$T0};331)LdGm@DE9T6ZGhxDn zmX?-^ii(_^oP>mgkdP1$4-Xp~8v_Fa6%`c;2?-t^9-yXIk*DVYDaMi@zhDN3XE)M- zoVlJZjv*3LlY!bEq&l#2A6UXLBPGp&{f|IbIurA6b~a`lldyz@$bogg8A=M7P8>Ywa9O@_Zp8V5e5nXQcJ7sC6ItGH z2mD+Ue?jC+qw~aCrpN3C;XR)jIvxo>V97Q~PpCNgjd_Jv!9JD{W^QJA=ELqP!ZV~K gEQD6P&C6k6Xmb=d{u5mdKI;Vst0KT|k1^@s6 diff --git a/deal.II/examples/step-18/doc/intro/img99.png b/deal.II/examples/step-18/doc/intro/img99.png deleted file mode 100644 index 23bf8a4cd4caf342bfc1406558e77e4d6af73117..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 394 zcmV;50d@X~P)RHR400001 zbW%=J06^y0W&i*I2uVaiR5*=eU_bx`AZ`HS0}MF81Tgu55tlp!@c#!J!-guVfL{{` za3fTLY~ud_G=sl^10wo?fq@-J@e($M1i*${rh$QhkHLW<1L6=kV4A?dAqb>3QB?E) z{|~1B|Np>%1MuUNp*PqMrDait`H^T&2MBu#iZHhT1H%k128N9wLqIBk-h~P?a6p8S z4dXOmXaL3IWQ6el4PfdEl$&pWkb#68Bp@GPbvHA1@2uZ|U3^3Weq>JHdKgP$0g5UJ z7ey_M=RFBU6vmauRLgw{%G<&qCxFDo?jkR+L982?4c~N&ONKE30Ib0`&Souxxc~qF07*qoM6N<$g3~XR&j0`b -- 2.39.5