From 4d85c1cbb395d248079f24864a4991387713c3d8 Mon Sep 17 00:00:00 2001 From: heister Date: Mon, 4 Feb 2013 17:20:49 +0000 Subject: [PATCH] step-49: add images, write down notes git-svn-id: https://svn.dealii.org/trunk@28221 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-49/doc/builds-on | 2 +- deal.II/examples/step-49/doc/gmsh_picture.png | Bin 0 -> 21374 bytes deal.II/examples/step-49/doc/intro.dox | 221 ++++++------------ deal.II/examples/step-49/doc/results.dox | 59 ----- .../examples/step-49/doc/step-49.grid-1.png | Bin 0 -> 18353 bytes .../examples/step-49/doc/step-49.grid-2.png | Bin 0 -> 1843 bytes .../examples/step-49/doc/step-49.grid-3.png | Bin 0 -> 19847 bytes 7 files changed, 68 insertions(+), 214 deletions(-) create mode 100644 deal.II/examples/step-49/doc/gmsh_picture.png create mode 100644 deal.II/examples/step-49/doc/step-49.grid-1.png create mode 100644 deal.II/examples/step-49/doc/step-49.grid-2.png create mode 100644 deal.II/examples/step-49/doc/step-49.grid-3.png diff --git a/deal.II/examples/step-49/doc/builds-on b/deal.II/examples/step-49/doc/builds-on index 8b13789179..4512741e57 100644 --- a/deal.II/examples/step-49/doc/builds-on +++ b/deal.II/examples/step-49/doc/builds-on @@ -1 +1 @@ - +step-1 diff --git a/deal.II/examples/step-49/doc/gmsh_picture.png b/deal.II/examples/step-49/doc/gmsh_picture.png new file mode 100644 index 0000000000000000000000000000000000000000..a24e14857c4367aff2f4a198fa8539d14d51351c GIT binary patch literal 21374 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 literal 0 HcmV?d00001 diff --git a/deal.II/examples/step-49/doc/intro.dox b/deal.II/examples/step-49/doc/intro.dox index c3629d2973..1cc78d1989 100644 --- a/deal.II/examples/step-49/doc/intro.dox +++ b/deal.II/examples/step-49/doc/intro.dox @@ -1,157 +1,70 @@

Introduction

-

About the tutorial

- -Since this is the first tutorial program, let us comment first on how -this tutorial and the rest of the deal.II documentation is supposed to -work. The documentation for deal.II comes essentially at three -different levels: -- The tutorial: This is a collection of programs that shows how - deal.II is used in practice. It doesn't typically discuss individual - functions at the level of individual arguments, but rather wants to - give the big picture of how things work together. In other words, it - discusses "concepts": what are the building blocks of deal.II and - how are they used together in finite element programs. -- The manual: This is the documentation of every single class and - every single (member) function in deal.II. You get there if, for - example, you click on the "Main page" or "Classes" tab at the top of - this page. This is the place where you would look up what the second - argument of Triangulation::create_triangulation_compatibility means, - to give just one slightly obscure example. You need this level of - documentation for when you know what you want to do, but forgot how - exactly the function was named, what its arguments are, or what it - returns. Note that you also get into the manual whenever you read - through the tutorial and click on any of the class or function - names, i.e. the tutorial contains a great many links into the manual - for whenever you need a more detailed description of a function or - class. On the other hand, the manual is not a good place to learn - deal.II since it gives you a microscopic view of things without - telling you how a function might fit into the bigger picture. -- Modules: These are groups of classes and functions that work - together or have related functionality. If you click on the - "Modules" tab at the top of this page, you end up on a page that - lists a number of such groups. Each module discusses the underlying - principles of these classes; for example, the @ref Sparsity module - talks about all sorts of different issues related to storing - sparsity patterns of matrices. This is documentation at an - intermediate level: they give you an overview of what's there in a - particular area. For example when you wonder what finite element - classes exist, you would take a look at the @ref fe module. The - modules are, of course, also cross-linked to the manual (and, at - times, to the tutorial); if you click on a class name, say on - Triangulation, would will also at the very top right under the class - name get a link to the modules this class is a member of if you want - to learn more about its context. - -Let's come back to the tutorial, since you are looking at the first program -(or "step") of it. Each tutorial program is subdivided into the following -sections: -
    -
  1. Introduction: This is a discussion of what the program - does, including the mathematical model, and - what programming techniques are new compared to previous - tutorial programs. -
  2. The commented program: An extensively documented listing of the - source code. Here, we often document individual lines, or - blocks of code, and discuss what they do, how they do it, and - why. The comments frequently reference the introduction, - i.e. you have to understand what the program wants to achieve - (a goal discussed in the introduction) before you can - understand how it intends to get there. -
  3. Results: The output of the program, with comments and - interpretation. This section also frequently has a subsection - that gives suggestions on how to extend the program in various - direction; in the earlier programs, this is intended to give - you directions for little experiments designed to make your - familiar with deal.II, while in later programs it is more about - how to use more advanced numerical techniques. -
  4. The plain program: The source code stripped of - all comments. This is useful if you want to see the "big - picture" of the code, since the commented version of the - program has so much text in between that it is often difficult - to see the entire code of a single function on the screen at - once. -
- -The tutorials are not only meant to be static documentation, but you -should play with them. To this end, go to the -examples/step-1 directory (or whatever the number of the -tutorial is that you're interested in) and type -@code - make - make run -@endcode -The first command compiles the sources into an executable, while the -second executes it (strictly speaking, make run will also -compile the code if the executable doesn't exist yet, so you could -have skipped the first command if you wanted). This is all that's -needed to run the code and produce the output that is discussed in the -"Results" section of the tutorial programs. - -When learning the library, you need to play with it and see what -happens. To this end, open the examples/step-1/step-1.cc -source file with your favorite editor and modify it in some way, save it and -run it as above. A few suggestions for possibly modifications are given at the -end of the results section of this program, where we also provide a few links -to other useful pieces of information. - - -

What this program does

- -Let's come back to step-1, the current program. -In this first example, we don't actually do very much, but show two -techniques: what is the syntax to generate triangulation objects, and -some elements of simple loops over all cells. We create two grids, one -which is a regularly refined square (not very exciting, but a common -starting grid for some problems), and one more geometric attempt: a -ring-shaped domain, which is refined towards the inner edge. Through -this, you will get to know three things every finite element program -will have to have somewhere: An object of type Triangulation for the -mesh; a call to the GridGenerator functions to generate a mesh; and -loops over all cells that involve iterators (iterators are a -generalization of pointers and are frequently used in the C++ standard -library; in the context of deal.II, the @ref Iterators module talks -about them). - -The program is otherwise small enough that it doesn't need a whole lot -of introduction. Let us just continue with its commented source. - - -

About scientific computing in general

- -If you are reading through this tutorial program, chances are that you are -interested in continuing to use deal.II for your own projects. Thus, you are -about to embark on an exercise in programming using a large-scale scientific -computing library. Unless you are already an experienced user of large-scale -programming methods, this may be new territory for you — with all the -new rules that go along with it such as the fact that you will have to deal -with code written by others, that you may have to think about documenting your -own code because you may not remember what exactly it is doing a year down the -road (or because others will be using it as well), or coming up with ways to -test that your program is doing the right thing. None of this is something -that we typically train mathematicians, engineers, or scientists in but that -is important when you start writing software of more than a few hundred -lines. Remember: Producing software is not the same as just writing code. - -To make your life easier on this journey let us point to two resources that -are worthwhile browsing through before you start any large-scale programming: - -- The deal.II - Frequently Asked Questions: This page has a good number of questions - that pertain to particular aspects of deal.II, but also to more general - questions such as "How do I debug scientific computing codes?" or "Can I - train myself to write code that has fewer bugs?". - -- The Software Carpentry project - that provides introductions to many topics that are important to dealing - with software, such as version control, make files, testing, etc. It is - specifically written for scientists and engineers, not for computer - scientists, and has a focus on short, practical lessons. - -As a general recommendation: If you expect to spend more than a few days -writing software in the future, do yourself the favor of learning tools that -can make your life more productive, in particular debuggers and integrated -development environments. You will find that you will get the time spent -learning these tools back severalfold soon by being more productive! +

About this tutorial

+ +intro: +- complex geometries +- this is challenging +- some solutions here + +What this program does: +- make/modify meshes +- output them +- nothing else + +

How to create meshes

+ +

GridGenerator

+use GridGenerator (already discussed in step-1) + +examples: hyper_cube, hyper_shell, ... + +

construct your own mesh programmatically

+ +example? + +

Import from external programs

+ +import mesh from file, read using GridIn + +list of tools: cubeit, gmsh, more? +problem: need to generate quads + +- how to use gmsh + - 2d + - 3d: mention difficulties + + +gmsh: +use physical lines/surfaces + +this is how it looks like in gmsh: +@image html gmsh_picture.png + + + +this is the mesh read from gmsh: +@image html step-49.grid-1.png + + +

Modify a Mesh

+ +modify a mesh: + - merge meshes + - change boundary indicators + - move vertices + - transform via smooth function + - perturb mesh + +

Merge Meshes

+ +note, vertices have to match exactly. + +@image html step-49.grid-2.png + + +

Move Vertices

+ +@image html step-49.grid-3.png + diff --git a/deal.II/examples/step-49/doc/results.dox b/deal.II/examples/step-49/doc/results.dox index 595a388fa6..675d2d5305 100644 --- a/deal.II/examples/step-49/doc/results.dox +++ b/deal.II/examples/step-49/doc/results.dox @@ -15,65 +15,6 @@ like this: -The left one, well, is not very exciting. The right one is — at least -— unconventional. - -While the second mesh is entirely artificial and made-up, and -certainly not very practical in applications, to everyone's surprise it -has found its way into the literature: see the paper by M. Mu -titled "PDE.MART: A network-based problem-solving environment", ACM -Trans. Math. Software, vol. 31, pp. 508-531, 2005. Apparently it is -good for some things at least. -

Possible extensions

-

Different adaptive refinement strategies

- -This program obviously does not have a whole lot of functionality, but -in particular the second_grid function has a bunch of -places where you can play with it. For example, you could modify the -criterion by which we decide which cells to refine. An example would -be to change the condition to this: -@code - for (; cell!=endc; ++cell) - if (cell->center()[1] > 0) - cell->set_refine_flag (); -@endcode -This would refine all cells for which the $y$-coordinate of the cell's -center is greater than zero (the TriaAccessor::center -function that we call by dereferencing the cell iterator -returns a Point<2> object; subscripting [0] would give -the $x$-coordinate, subscripting [1] the -$y$-coordinate). By looking at the functions that TriaAccessor -provides, you can also use more complicated criteria for refinement. - -

Different geometries

- -Another possibility would be to generate meshes of entirely different -geometries altogether. While for complex geometries there is no way around -using meshes obtained from mesh generators, there is a good number of -geometries for which deal.II can create meshes using the functions in the -GridGenerator namespace. Take a look at what it provides and see how it could -be used in a program like this. - -

Comments about programming and debugging

- -We close with a comment about modifying or writing programs with deal.II in -general. When you start working with tutorial programs or your own -applications, you will find that mistakes happen: your program will contain -code that either aborts the program right away or bugs that simply lead to -wrong results. In either case, you will find it extremely helpful to know how -to work with a debugger: you may get by for a while by just putting debug -output into your program, compiling it, and running it, but ultimately finding -bugs with a debugger is much faster, much more convenient, and more reliable -because you don't have to recompile the program all the time and because you -can inspect the values of variables and how they change. - -Rather than postponing learning how to use a debugger till you really can't -see any other way to find a bug, here's the one piece of -advice we will provide in this program: learn how to use a debugger as soon as -possible. It will be time well invested. The deal.II Frequently Asked -Questions (FAQ) page linked to from the top-level deal.II webpage also provides a good number -of hints on debugging deal.II programs. diff --git a/deal.II/examples/step-49/doc/step-49.grid-1.png b/deal.II/examples/step-49/doc/step-49.grid-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba6920e712c3d7115deb7c18269e7b85ce17ce6a GIT binary patch literal 18353 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
h6DoZ@*c5y(7vm$pA%;+)18savAc@~XVTiCoV- zxRFcnnVsF_RlYko=VB9&GMn+E?dgaXg>yGW59gxF`Gi+dcjU(oB?BcIbZM|BSJtYf z>&GEtP&cw$i@L$fJWneNCu=L3zO@|aUjS)^MDhlcDL1P*XjM3ElB~DlJ-+ z9ZW1I!c*fl9?Kk;StL)ZUgqWWQD&>c5tLFaK8BM6Cr?n+31I>YBCTElqbl`Ot*+_m ze6*(#(MioQI&bQ7w-(_;gSwSWy74~pbSg~|*C%g3EjxL%81G^ekFqoU+$|=QL`_fd zs-BrDn`(eEPjMl9uv4N#L^tMEdH$x7);t!8fXOI*sL{-uriOC<))RHQG7Lz17R!-KB5*)Gy357J>W z*IT1Y*|Bj}=~7k?#4caX*%N9h*RIp0!B?FmB$?6i0Iy~f->IZEPwb_-F1nLJ7L3l2 zSdeRl&bB@pVie|DfqrMG86$O_D&55Nq28HPS*?2jVb+l1bEE_zPE6wGcrh>k1rX<& z_c0pOQZjmw2iePiw12bYMzi<96ClK7!cb#LD%~t)cMgkN8cc1k4oO9UeCKgCv&!Ugah4Q`S8fAAjF>4E~5IF~w^NIQoq8#IC}H zOLW=qYqc57utAqsI2IEHrMw}Z5=~xXCWAIslhL~0h^oc)I&|ppn&%`_&|Izer(|~C z;)V6R#21s+QPsQ{1rM)*Ww2zQ_KpmVVEKn2(N>w`6-9aQm2UOO%t#G29i7jcg?mtd zJ7TJInQ#vND$jFX8C^{?xbsmiax4rx7z{j-@}n2{wl~rfVZor^I;6yqc+$1KYs!O4 zRLL(ymW+Febsy*B@L+1k?)I3d?jB=;c5&0kXl=4a*{+&*xlS`odPKa)tGxsr!38b# z7vd>Xr^R_@9d9u&$w@4Er6YEvsay*3CLKyd9(k1La7GzVi-=m!`OzoqoG6_)YFVer z`9M>J2bVoLxX$Zz9LS>{5NXPNykJ7&(Z6yI#1wb$@G>tYrUi!xbdoFed3`-+=j$rZ zOoU<$aA?v>mY68zKXqTMcfFsq9s?adMT1TZZ@T02KUI?a(s!+nWv`UPTwSrM9EkN) zGqk$0!n5+$gGLHZL?Jc6B{ttGqS|nq@w@1z2`>X@N{Hn8l2#vCt4S0K!L%$ts}oTQ z0{cO3W^f>coEYpbf1bFg#R)pReOac)DJ~=!ayn*r|N9&v{gl=u+@a2_x9q-Kv1?$O z;yLHAO!;w6bkF|1>hRDmO`h;Z=n#h0FB>^I($R49DwM+2>iqzVRE0Pj_loTbDb7@#HE_Fx|FChmz|3@uO_dt$Gfwf!StFmbKr$C$N9Ectc%9@qxYtM zn*9=zmTNyxV9^%?=X5Ek&{mn{rNCX!aH0QRR)qK(jhr?ZDH@~(VPu8o`18CJo&$f) z53+=jyQ;~n{ApmWuPGs2jTEzr;+$Gp;-^d_7PP6Vuy0K6)kI`S@9FZY>jE>s+f4>7 zYvi2<`bt{SLP#qlp6M33GA~=X#UYiRuBF`dEYGQ#(Chy3riiA#J54^Kufc0{XgHn; zu4Gg5j+$@qVo$Vn$vO+lBtm(-v*{3p%3)FGL}HT9teHE*IPqqW1NAZP*aNodi{3;$ zmh;St)IbWiOjTYA>|_rAmhMio^rY1azak?Tm*#s;B8t-R>Sy&_Q1arv`(ftE5gK1% zT}GPL1x5n{N?uPnqdS!y03Z(x&RHW&D}#`$PLFoR8SPjre?`P;UQZ6@+^3&Yu078S z+84@grdZ>DjiiiIlZeRWgUXqZj4OBX69sr6&w zlzEK0J*KMq)==ToGBsK~JyNm0xuNql&mkrtGr96njugr!H6Urkq?mF_GnlqV>N7G+wTXP^E?M`?}^xeT@w zo|3mv2YG^4R*6^e9}P{vV9nNrlNc#iB({pzIh#k-)OnWZ@Pb}yAPp+Z`bl(y&~%sY z2E$POFX0p0b3CQ_0r#~IFQJCmv}D$U<4QrSD+I2_mDx*Pzb|&5$Y^HAvPHG?d@`6y zC_&e2D#+jyTh*d-N%9}fyF!bni9Hx=>gy}*?CTG}4`+b}| ztNGkb*GhsdI=sj?!scYhEu~C@S9oSV4N?*GYn-xRV^8^R5;^+PGo15dGP5g4)e=}u z(PU%y98Hfb^9s)^LVHIAdb%_@M%fm2ibvM5c>P6QrtAE9&4%~avdTk%O!_)`4oF%- zXjD_R%N(O-KR}Ohs|KE&oRPJg=`cVwGznfzh4#ot)fC%dmnyBCPrK$B9`LTPqm4h< zOExo0GaHAku9a^cXfVsg+;N+Yw=Owv?ojr9_+3t6O-yyW#dKFbO(9d{4VE%vFDq~CBwF}>gqnnsrCGtLZ3Lds6Wi2 zOZwC^yE><{r1r6xC$;!d0jcUN6LhmXUY9hAI2Q)xQavqgR{ikvoc>)_8?>WWKwK{J z=SANcB8}p?P5TP+eMsv~fxKR4)n2XKz;Y!u**3mvM$Af(t~BGKO%gF3DBO6Hd9T@E z)^U)%(v_w}z|K&fxC7o8{6`L?N;mE6uQ z=}JS&dKxo{l+Fn>mhUdppu;PvxSW_p&)HC? zCXGzEgS)5WDCihCZBSPH++Cwa%|a=jAzjNUrSA2Dc01$S5E7Zusx&^2GKv3ZDSre8 z!E0TRFPdyJl*hD@(TkI?uq2qa>-}lPhMr~I%^KqBJ8OYCRx!nUm=?V9uzKwlE&XI> zZ<`U2h!*DpJnQq^?(DJ2xHf}x-7@a)6>O2Fbhv@tUX7kD=4Oa%aY)2IuHjkdiv4^& z_r5#0LrOfs$K}_U<|JQDce$2&asHY>@%Z#IfVsQPq^ts4P4NcP2HNuVq-1Y;Ra?F% zFY*GDxuWlSInPJfRcw5~wEqM%CcEwUOYCGd+kjzaSi?W!1Q4esJqTFpa7UZYe+SDH zS&I^X!MDk$pR5xxr5credBnHG#U7E`J`OlID^GRc3?jO&1GMty=V?0m`t;q}w0xwO zZAw=u^|=mn2KWVa zk5;{s<7KW^IG2$+>sf2h2KW{?db|DxjwY4Hq|Qy;W5%SJBo$5{G%jCK*G*4U>_~%B zVkaxuBNbwRpTdZ~Grl(ZN}sXdy~&DWwsDkH+-9y?HI1}j-j*s7y)~v^x9iE&Li1RCmku}-)-!nC=sI^ zv4`ND?86=R376aem`$FS$DGB2s78C^#q#2}sMCaKwewepM&(!YVS+ z)8S|l^TnXMZ5YPNDx zI(#i4!b1RX+a#Q62^}Znm0r+|DWv@qYG7%>uSnZi*!*(>5!)DI+nJ^O9lO zh6`2xSbY0zwqUq4*ko3kwi#y+hjQ0V$)8F?I?`eS(;y6jaQ#nM*KqX+feYnQ- z=l3trAZNUgh}#(A09TuJQf3PqSuYianPS*h3;Ow->YmlJ-oY<$i~kZSd8Dv~lbJHc z-*fb^nW-27L-p{1S{1N^)e#jw#19@8;cO|yOv{ia|zG=(r{tV?b|AjZRMSkdi z3b!1&|I7uoVRePZWK^o$s~qz$@sBcN^T|Ue>YWO~Xf~4rRFqzw;QAH)%CB5pNPRsA zmhlPs#}@5a%VicG9JZC+^RHOw?wsTORaot;9}F5y?#)iFs9S5mqy3 zn~4{Nq{@7k8NSH(0>@XcjkAlSNZwtPnd4z|Ge|3ohD((-_IUmX&qy-^Fvc8oHP@ue zeIOvC#ce&uEzp{6SJ=;UF2&0~u)DI9mr-LoCyw;FiW|aS(SER{AuKr(6(}@iuQsXAzSjODs zT-94JCK4`ZSvyw9Kjy97$UX+e}HN)(cUG&iSVPJ-zqXHb}ILCYEgmlb0f8nK~a7gIGTm}*2 zU$-yM9xUBF%}NAZ%Po%iV4F6qEbCo(Gm}h8lRsh|8>z@JGr%luUa>ne`M@is!wHXb zhCLZl^~AK38Ov?z4sH3pS<=k(j_SvJ@>#7H#$7Z79_Cud2<8dccEiL3lqfsHEVtV| z+3bfo!(Z|~b(D7w0I_UgAUJ068ltyEGV1NilYwE)cZ|79Q4Rng!+AMHBK`$$w?el) zz}f2(JkSR?P?ucCd}di}%j|r6*q3;KwbEiXb0}ZJKaoo2jwzP2T3XB!^Ti2Hn{j`; z1IQ8fD(^k3ei!}l)Z9S(wk0MlK;s0DB$Cb|+m=AT13Z{9Ul9;pa|)>@#j&cTXudJN zEuUq7k3^)(8p^Cch5G<_aFC5k?^zY^Iup&PO(QU%(d5Pn!K_z`wv^I`bzIW)q!1&7invKS{3p4$9R{w-k0!e%c%4WJt;x`J{f-l zi=_-(13)tH_=8_=`?Bpawp)k(teNC>Cj3Rz;6{)NliG4i*Q`uE)i<)9iY#XpmpUey z!<<2K+%TTON2HmKJ3*w+ajCjsm)qXuIbQcB=i0Sg#-*UF!R6BN_VZd+IK6AR47ftN zxv>KrD5gD|arwN`Jq+nOCG8qEIHMm1meY_QTDFq#x*3cd<3i@j3EQ9LuBYPzI{*&5 zhMpAa-yQz2PG8dpA|;}tfOZ{S!zr?WX^Sn0Id2ImXTl?rowkv;P)W@z$%`qvdlh?`L>ku#Sk}6#38iH=dgI2`GOhi;VdX-!%**oWNx~w&b)1MDS>P%XPBnFddG(ybm%#2A!BZAR^ z!k`w{^m*yB;%t8G5Zs>HtXe*38X%3^)XlAFlOg1N4Fj|{Ktl{r_LK@g4B!+UM4&VX zL;JJ?I$(S6FR9&&m(_GKEb7!VTliiLXwdynOoI>7}EKyL{65Lhe?ewbE2*dX?* zLY`6ayB0aCMT4UOyhv-S3(rbh>*E1WcCBe#`?Tt=d`5+0&x9VlSkfx49fin6`(UBr zYP&HEum0>c{qWU}$-&)?@=YTRHII$zuO9+U^|cPzP8LgA2i0C}v2;VrV2ZoGljrl! z@81@AOfI$s(he1G3I-JfGc@F0KVh^@5L)NJ=KjeYi2A?|QoQL>&2rWKrMRI+KPCqO z4Yj7fUnAp?Xk2u|%&H=V_62mWUVWq*FPj|TKxZjPYh$s?f&*Ku7(9T6rydA;8w3<7 zZqm`oSQQlpaM9C53VmyY%=>;T&dY*r@ua1(LwzSKUd`8F4P_C7Boy-ZD%x}+XcxOV zpkZ!QCCkMcnsjYYYq~Z$Q?xg1Nm#~*#qWKG>`<<~MCo163Z-|2e2KsCdY@CS{64>~ zJ{6_+9XzY_iqf}J9~JAhcd2uINAXdq_pdKJs?D5JdM_zFs;AX=Em!aVpwfGe-;nQn zy>F7=;qSa&DLkqV^ZoxHm!6$##F*-3dIy5saFg7|cFv2Q4C;$KeC3HntbYx+4WjbwdWNBu305UK!Gc7POEig1x zF)=zZH99miEig7ZFfg-sgp>dP03UQkSafi6I!I|!WphGrb#7#7Zf8PocmOjnF?caH zF)J`DFvyA@J^%m!9CSrkbZ~PzOl5XuYyd%IZ(?OFGA=M6MNm^lEio=K3f|esZvX%Q M07*qoM6N<$f?Gu8=l}o! literal 0 HcmV?d00001 diff --git a/deal.II/examples/step-49/doc/step-49.grid-2.png b/deal.II/examples/step-49/doc/step-49.grid-2.png new file mode 100644 index 0000000000000000000000000000000000000000..19bee01464befe8639c07b4a50b09dd1bf57c7a2 GIT binary patch literal 1843 zcmZ{keLPh89>K7$`#>A#_Zno9OA78KbGs@sY7j60gr4WZ#7PAMD7GZ1aC?7 zl#8bKHYyduVoK9fdO^Ck<7#PMJCchf5aw(IVzre`V^Rkkw2ZiN+2wnoq7g5*EEr30| z16~5K6m`Q~lSX;LQy}d}iOn^mk1*jWkiJ9Jn`=hL=)k4i6eRCHQxLKRmZXi8Th}uO zt_+o--W$+Od~0P}MJdiRMxhU+Zl0|t`p)CED zn{m4zR$a;z(Bk2CO!hpx3^jkNBTHrMb0*1VU9U5t2~y!YZ&shxkBo<1Uf&$j4hod( z<5uD1K5xmi@z(l}#IT;)r?*pPO1{`LqCFB*UryN9%99aNY0I7dilm>z{nFUuZlfkI z>+-s);x%)8;9*u3iufJUqQ7efPJST}W_e!@dDN3tyKfm&zu+=889uNuxP8f`SF(y~SNUdGZqfBk*ZA;NlIjn+ z$)zTVX9-zyEmJI;ZL7C$d6k;X+q3h&nE7bbV9 zLTx`8yO>|zG?}zkfZPedIU&RTI(xCaFwYW&GBcsHr6sWK8-06E#O>U#+>!I0Q=hWrZD*nsL@aDp`+B#ml}w^9yi`RL`!sCUSIk3$L;jn);601 z`-2K(&ju}owCms%sjoa)`TLa==eq@Ufs<9`1Lw_*CKgl41xIn_(qqk-s@NFCjMj_t z#4P>ePHlNA30FY-7M9GUHvBd4t%<|OtRJ|7Lt9`&JJjJdQ4LoRq61qeRG3IV83f@6 zcl$jQoH)%sQ)xw!s~vYCPt1NqNA#m^n#cL=pXzO4Hpf!Uag0{Xd3v84`3!!b=*b0- zR)jkp3Bd(@R~;B@G8g1Q-R~Ib7+glLUcPS-5smmt77g_DB7zWa{38Lb7+>xFEP(ge zY^qm$v6&W4@t3O`%#c9~wy6}W^1^@T@U;}1L{(}#eC@a)yE%=*=!xFLzo~T$iowTs zEcXZ0!|B$p=6w%0O{t^4hog_4=H?GE2hdRz zEY|3V8)6E2;`u^Y4E7Naj$(BJ2@Usj$l+5~o^Os38XMGjCh%>tXo`y!p^pl#{k!X| z2mgd+p4GD9{6)tSr`X$UB}B%OW^A5_kB9g!&Ok Wj!ya$BRw3@gAV!z`A82ii~a*sL_lEx literal 0 HcmV?d00001 diff --git a/deal.II/examples/step-49/doc/step-49.grid-3.png b/deal.II/examples/step-49/doc/step-49.grid-3.png new file mode 100644 index 0000000000000000000000000000000000000000..f2e9cfb8059205d7c4f60897333458b75d9353be GIT binary patch literal 19847 zcmW(+WmsIj5?+c!arYLAyGwC*XL0w%t++#RcXwM{7I!V~Uc9&$ip%A@KhDXMoY*9j znRzpFB9s-SP>=|b0001rjI_8a0071K@pvG>e3VpHSbqITU@S!xL;!&LIOG>&*pEDv zi>j0;pk|8r_#^YhR9aO50Pvy$00Ke)fTxe5fFl6FjRgQWF#-Vi(g6TG$Lw|${*Moz zOys1*0qc{jOh8kysk^wIPbOUz(+W zBOo6Y*H$iG6v=WW;8Tb(kzy~Cet<#TJd=%5sg|ULRH=0>zPOXm^GIig=gsD;(?y%R zMd}6O%-Fd5Wyj?v`(dv41@D#=%^p!Wg+J6*^a9ou)~w{evIm!0NgSo!7`jdQA-%pl zWqNiG_O;%r-3V!cSG$)etD+~RSueiWJzYoj_fP)Rs!B?`woNKsGCeRpuo|KG?_roa zPF||Q+&W4M-x9pQ`Ir@DFq4ctYK+O`|I~*xS-6AMJaQB9Bf*3#5+%|)J*3rT-WYZY z47{=4PJD%!OGW>h6NT+t?i*q*zRX<)MY6)JE)Ji+A(gKVU zE>=_G>!{4z%K#%d`B|(Pl%^xkT-auBthB&T5=kpYMcDv|Qj$B_s6{7s zP7QY5TVN6ZI4D{T=PuOl?Qm)qU+nFcrii3|Cbtuy{2jwli0nb3sw9_w`8x6$P|j7O z%r4mjB6!|iVbqH#y{Io0${i$}#jF`T`iXfKW!9M4TDaErexc1+E^!w7hsUrF&&0Jz zQEDBt$A7<$kEA4zSzL7%^GD^-+j}O#i!TNQf1`59iq45U@wJ0&Bq^Fwz3-Lg_1kRK z)=q&aj0{SK9~`)Za3vpEprZ8ej(o_MkGvV9)wr% zilB6oydf-vVNvd9{^>5d@5f<7!`^0j;KcMI0gj2Gsky04P``avk@ev0!~z>p{D%GH zSVJ~RD60rjC*m$A-O-@FQuUw)$4nxaLU9$Y?9zyu+ln7su}8{whG1cISHuzx&Hkyz zUEoIzk!memt72wJL_^k~$Wx=)ozUEJ&_i9imAzRDKkpa)T{MBt1jmK$br6J6eO)un)4mB^8}~ z@UMD@)(*D7IfO75|9EWqcDAZOOGB zqA-Kj2I6Ctf!v#I-)I0FT~APVG!=Aq9b2{0=8lj6)cnToY4g#!SK zy*hP^+GrPF>;7m!T6)c=o9nPsuM&aaP%m%w0m4hBZLI9D1%5YL#LQHzKI3S5EhPC> z-*1jEJD7YySBXoBjD8omvJVo3pDSSjJfZo&d^|w;d@;~p&!MVD=rrOHDf4}<@AMGuz}NHMq5Qj&-qVa;S96ea zp|;qL?#JS+;5o}8D_8^1>-rTJbDarqF3__?WE|iI&!Oj2Dnfkya&yB#P#%1BUnn?A zc!8s*12hGc)dk06oc!m@y>bwBXriyz72C-NnocbFZVw_~goARfg1`R1iaJp!(oT5Z zVo>H#ef~b8tTk#)Mu*T4`|h>!QBi&^nyh9i%*aBO1HIDXCr7St{UyLUMrqDP>f1QL0j%UFDV*PF z`|iB8Wt@0jBAVI8w3C6Cs8%FD1O$eh;7jR?PJ0X{PLDfbq+0vWfLf!cw_jYKH;J|8 z2rU}ple$nw4{U-

yc8Qo}zZ<}@B+A*#EtZwYLHCdQs^y9(!=Htc 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 literal 0 HcmV?d00001 -- 2.39.5