From 09601ec57fd1b2b18723539b230ad50413aeed0a Mon Sep 17 00:00:00 2001 From: wolf Date: Wed, 22 Mar 2000 15:06:21 +0000 Subject: [PATCH] Finish intro. git-svn-id: https://svn.dealii.org/trunk@2613 0785d39b-7218-0410-832d-ea1e28bc413d --- .../step-7.data/intro.html | 303 +++++++++++++++++- .../step-7.data/intro/img1.gif | Bin 0 -> 90 bytes .../step-7.data/intro/img10.gif | Bin 0 -> 1201 bytes .../step-7.data/intro/img11.gif | Bin 0 -> 431 bytes .../step-7.data/intro/img12.gif | Bin 0 -> 453 bytes .../step-7.data/intro/img13.gif | Bin 0 -> 451 bytes .../step-7.data/intro/img14.gif | Bin 0 -> 233 bytes .../step-7.data/intro/img15.gif | Bin 0 -> 734 bytes .../step-7.data/intro/img16.gif | Bin 0 -> 836 bytes .../step-7.data/intro/img17.gif | Bin 0 -> 1198 bytes .../step-7.data/intro/img18.gif | Bin 0 -> 810 bytes .../step-7.data/intro/img19.gif | Bin 0 -> 389 bytes .../step-7.data/intro/img2.gif | Bin 0 -> 5293 bytes .../step-7.data/intro/img20.gif | Bin 0 -> 335 bytes .../step-7.data/intro/img21.gif | Bin 0 -> 173 bytes .../step-7.data/intro/img22.gif | Bin 0 -> 1794 bytes .../step-7.data/intro/img3.gif | Bin 0 -> 202 bytes .../step-7.data/intro/img4.gif | Bin 0 -> 987 bytes .../step-7.data/intro/img5.gif | Bin 0 -> 391 bytes .../step-7.data/intro/img6.gif | Bin 0 -> 157 bytes .../step-7.data/intro/img7.gif | Bin 0 -> 123 bytes .../step-7.data/intro/img8.gif | Bin 0 -> 435 bytes .../step-7.data/intro/img9.gif | Bin 0 -> 331 bytes 23 files changed, 300 insertions(+), 3 deletions(-) create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img1.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img10.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img11.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img12.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img13.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img14.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img15.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img16.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img17.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img18.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img19.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img2.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img20.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img21.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img22.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img3.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img4.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img5.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img6.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img7.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img8.gif create mode 100644 deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro/img9.gif diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.html b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.html index cf39f30d76..1331c732d1 100644 --- a/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.html +++ b/deal.II/doc/tutorial/chapter-2.step-by-step/step-7.data/intro.html @@ -1,6 +1,303 @@

Introduction

-

-Still to be written. -

+

+In this example program, we will mainly consider two aspects: +

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

+ +

+Verification of correctness. +

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

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

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

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

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

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

+is the global L2 error. + +

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

+ +

+Non-homogeneous Neumann boundary conditions. +

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

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

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

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

+
+ + + +u = g1 +
+
+

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

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

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

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

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

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

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

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

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

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

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

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