From: wolf Date: Mon, 29 Apr 2002 12:20:44 +0000 (+0000) Subject: . X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ebec14e01780940a354e9862d7f574cf961bd22;p=dealii-svn.git . git-svn-id: https://svn.dealii.org/trunk@5740 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error-estimation.eps b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error-estimation.eps new file mode 100644 index 0000000000..d7e3358c7e --- /dev/null +++ b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error-estimation.eps @@ -0,0 +1,676 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: x.eps +%%Creator: gnuplot 3.7 patchlevel 1 +%%CreationDate: Mon Apr 29 09:33:11 2002 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 266 201 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color true def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -46 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont +/MFshow {{dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch rmoveto dup dup 5 get exch 4 get + {show} {stringwidth pop 0 rmoveto}ifelse dup 3 get + {2 get neg 0 exch rmoveto pop} {pop aload pop moveto}ifelse} forall} bind def +/MFwidth {0 exch {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 5 get stringwidth pop add} + {pop} ifelse} forall} bind def +/MLshow { currentpoint stroke M + 0 exch R MFshow } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R MFshow } def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R MFshow } def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +1.000 UL +LTb +882 420 M +63 0 V +3137 0 R +-63 0 V + stroke +798 420 M +[ [(Helvetica) 140.0 0.0 true true (1e-06)] +] -46.7 MRshow +882 584 M +31 0 V +3169 0 R +-31 0 V +882 681 M +31 0 V +3169 0 R +-31 0 V +882 749 M +31 0 V +3169 0 R +-31 0 V +882 802 M +31 0 V +3169 0 R +-31 0 V +882 845 M +31 0 V +3169 0 R +-31 0 V +882 881 M +31 0 V +3169 0 R +-31 0 V +882 913 M +31 0 V +3169 0 R +-31 0 V +882 941 M +31 0 V +3169 0 R +-31 0 V +882 966 M +63 0 V +3137 0 R +-63 0 V + stroke +798 966 M +[ [(Helvetica) 140.0 0.0 true true (1e-05)] +] -46.7 MRshow +882 1130 M +31 0 V +3169 0 R +-31 0 V +882 1227 M +31 0 V +3169 0 R +-31 0 V +882 1295 M +31 0 V +3169 0 R +-31 0 V +882 1348 M +31 0 V +3169 0 R +-31 0 V +882 1391 M +31 0 V +3169 0 R +-31 0 V +882 1427 M +31 0 V +3169 0 R +-31 0 V +882 1459 M +31 0 V +3169 0 R +-31 0 V +882 1487 M +31 0 V +3169 0 R +-31 0 V +882 1512 M +63 0 V +3137 0 R +-63 0 V + stroke +798 1512 M +[ [(Helvetica) 140.0 0.0 true true (0.0001)] +] -46.7 MRshow +882 1676 M +31 0 V +3169 0 R +-31 0 V +882 1773 M +31 0 V +3169 0 R +-31 0 V +882 1841 M +31 0 V +3169 0 R +-31 0 V +882 1894 M +31 0 V +3169 0 R +-31 0 V +882 1937 M +31 0 V +3169 0 R +-31 0 V +882 1973 M +31 0 V +3169 0 R +-31 0 V +882 2005 M +31 0 V +3169 0 R +-31 0 V +882 2033 M +31 0 V +3169 0 R +-31 0 V +882 2058 M +63 0 V +3137 0 R +-63 0 V + stroke +798 2058 M +[ [(Helvetica) 140.0 0.0 true true (0.001)] +] -46.7 MRshow +882 2222 M +31 0 V +3169 0 R +-31 0 V +882 2319 M +31 0 V +3169 0 R +-31 0 V +882 2387 M +31 0 V +3169 0 R +-31 0 V +882 2440 M +31 0 V +3169 0 R +-31 0 V +882 2483 M +31 0 V +3169 0 R +-31 0 V +882 2519 M +31 0 V +3169 0 R +-31 0 V +882 2551 M +31 0 V +3169 0 R +-31 0 V +882 2579 M +31 0 V +3169 0 R +-31 0 V +882 2604 M +63 0 V +3137 0 R +-63 0 V + stroke +798 2604 M +[ [(Helvetica) 140.0 0.0 true true (0.01)] +] -46.7 MRshow +882 420 M +0 63 V +0 2121 R +0 -63 V + stroke +882 280 M +[ [(Helvetica) 140.0 0.0 true true (10)] +] -46.7 MCshow +1123 420 M +0 31 V +0 2153 R +0 -31 V +1264 420 M +0 31 V +0 2153 R +0 -31 V +1364 420 M +0 31 V +0 2153 R +0 -31 V +1441 420 M +0 31 V +0 2153 R +0 -31 V +1505 420 M +0 31 V +0 2153 R +0 -31 V +1558 420 M +0 31 V +0 2153 R +0 -31 V +1604 420 M +0 31 V +0 2153 R +0 -31 V +1645 420 M +0 31 V +0 2153 R +0 -31 V +1682 420 M +0 63 V +0 2121 R +0 -63 V + stroke +1682 280 M +[ [(Helvetica) 140.0 0.0 true true (100)] +] -46.7 MCshow +1923 420 M +0 31 V +0 2153 R +0 -31 V +2064 420 M +0 31 V +0 2153 R +0 -31 V +2164 420 M +0 31 V +0 2153 R +0 -31 V +2241 420 M +0 31 V +0 2153 R +0 -31 V +2305 420 M +0 31 V +0 2153 R +0 -31 V +2358 420 M +0 31 V +0 2153 R +0 -31 V +2404 420 M +0 31 V +0 2153 R +0 -31 V +2445 420 M +0 31 V +0 2153 R +0 -31 V +2482 420 M +0 63 V +0 2121 R +0 -63 V + stroke +2482 280 M +[ [(Helvetica) 140.0 0.0 true true (1000)] +] -46.7 MCshow +2723 420 M +0 31 V +0 2153 R +0 -31 V +2864 420 M +0 31 V +0 2153 R +0 -31 V +2964 420 M +0 31 V +0 2153 R +0 -31 V +3041 420 M +0 31 V +0 2153 R +0 -31 V +3105 420 M +0 31 V +0 2153 R +0 -31 V +3158 420 M +0 31 V +0 2153 R +0 -31 V +3204 420 M +0 31 V +0 2153 R +0 -31 V +3245 420 M +0 31 V +0 2153 R +0 -31 V +3282 420 M +0 63 V +0 2121 R +0 -63 V + stroke +3282 280 M +[ [(Helvetica) 140.0 0.0 true true (10000)] +] -46.7 MCshow +3523 420 M +0 31 V +0 2153 R +0 -31 V +3664 420 M +0 31 V +0 2153 R +0 -31 V +3764 420 M +0 31 V +0 2153 R +0 -31 V +3841 420 M +0 31 V +0 2153 R +0 -31 V +3905 420 M +0 31 V +0 2153 R +0 -31 V +3958 420 M +0 31 V +0 2153 R +0 -31 V +4004 420 M +0 31 V +0 2153 R +0 -31 V +4045 420 M +0 31 V +0 2153 R +0 -31 V +4082 420 M +0 63 V +0 2121 R +0 -63 V + stroke +4082 280 M +[ [(Helvetica) 140.0 0.0 true true (100000)] +] -46.7 MCshow +1.000 UL +LTb +882 420 M +3200 0 V +0 2184 V +-3200 0 V +882 420 L + stroke +140 1512 M +currentpoint gsave translate 90 rotate 0 0 moveto +[ [(Helvetica) 140.0 0.0 true true (Error)] +] -46.7 MCshow +grestore +2482 70 M +[ [(Helvetica) 140.0 0.0 true true (Number of degrees of freedom)] +] -46.7 MCshow +2482 2814 M +[ [(Helvetica) 140.0 0.0 true true (Errors)] +] -46.7 MCshow +1.000 UP +1.000 UL +LT0 +3431 2471 M +[ [(Helvetica) 140.0 0.0 true true (Error in computed value)] +] -46.7 MRshow +3515 2471 M +399 0 V +1568 2062 M +-25 -13 V +230 -162 V +299 -154 V +295 -275 V +298 -182 V +304 -202 V +3250 867 L +3561 664 L +1568 2062 Pls +1543 2049 Pls +1773 1887 Pls +2072 1733 Pls +2367 1458 Pls +2665 1276 Pls +2969 1074 Pls +3250 867 Pls +3561 664 Pls +3714 2471 Pls +1.000 UP +1.000 UL +LT1 +3431 2331 M +[ [(Helvetica) 140.0 0.0 true true (Estimated error)] +] -46.7 MRshow +3515 2331 M +399 0 V +1568 1974 M +-25 56 V +230 -159 V +299 -150 V +295 -277 V +298 -182 V +304 -201 V +3250 854 L +1568 1974 Crs +1543 2030 Crs +1773 1871 Crs +2072 1721 Crs +2367 1444 Crs +2665 1262 Crs +2969 1061 Crs +3250 854 Crs +3714 2331 Crs +stroke +grestore +end +showpage diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error-estimation.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error-estimation.gif new file mode 100644 index 0000000000..8e0c389a93 Binary files /dev/null and b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error-estimation.gif differ diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error.eps b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error.eps new file mode 100644 index 0000000000..a2e5cd4d4a --- /dev/null +++ b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error.eps @@ -0,0 +1,723 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: x.eps +%%Creator: gnuplot 3.7 patchlevel 1 +%%CreationDate: Mon Apr 29 09:24:19 2002 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 266 201 +%%Orientation: Portrait +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color true def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -46 def +/dl {10 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth } def +/AL { stroke userlinewidth 2 div setlinewidth } def +/UL { dup gnulinewidth mul /userlinewidth exch def + 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont +/MFshow {{dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch rmoveto dup dup 5 get exch 4 get + {show} {stringwidth pop 0 rmoveto}ifelse dup 3 get + {2 get neg 0 exch rmoveto pop} {pop aload pop moveto}ifelse} forall} bind def +/MFwidth {0 exch {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 5 get stringwidth pop add} + {pop} ifelse} forall} bind def +/MLshow { currentpoint stroke M + 0 exch R MFshow } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R MFshow } def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R MFshow } def +end +%%EndProlog +gnudict begin +gsave +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +1.000 UL +LTb +882 420 M +63 0 V +3137 0 R +-63 0 V + stroke +798 420 M +[ [(Helvetica) 140.0 0.0 true true (1e-07)] +] -46.7 MRshow +882 551 M +31 0 V +3169 0 R +-31 0 V +882 725 M +31 0 V +3169 0 R +-31 0 V +882 814 M +31 0 V +3169 0 R +-31 0 V +882 857 M +63 0 V +3137 0 R +-63 0 V + stroke +798 857 M +[ [(Helvetica) 140.0 0.0 true true (1e-06)] +] -46.7 MRshow +882 988 M +31 0 V +3169 0 R +-31 0 V +882 1162 M +31 0 V +3169 0 R +-31 0 V +882 1251 M +31 0 V +3169 0 R +-31 0 V +882 1294 M +63 0 V +3137 0 R +-63 0 V + stroke +798 1294 M +[ [(Helvetica) 140.0 0.0 true true (1e-05)] +] -46.7 MRshow +882 1425 M +31 0 V +3169 0 R +-31 0 V +882 1599 M +31 0 V +3169 0 R +-31 0 V +882 1688 M +31 0 V +3169 0 R +-31 0 V +882 1730 M +63 0 V +3137 0 R +-63 0 V + stroke +798 1730 M +[ [(Helvetica) 140.0 0.0 true true (0.0001)] +] -46.7 MRshow +882 1862 M +31 0 V +3169 0 R +-31 0 V +882 2036 M +31 0 V +3169 0 R +-31 0 V +882 2125 M +31 0 V +3169 0 R +-31 0 V +882 2167 M +63 0 V +3137 0 R +-63 0 V + stroke +798 2167 M +[ [(Helvetica) 140.0 0.0 true true (0.001)] +] -46.7 MRshow +882 2299 M +31 0 V +3169 0 R +-31 0 V +882 2473 M +31 0 V +3169 0 R +-31 0 V +882 2562 M +31 0 V +3169 0 R +-31 0 V +882 2604 M +63 0 V +3137 0 R +-63 0 V + stroke +798 2604 M +[ [(Helvetica) 140.0 0.0 true true (0.01)] +] -46.7 MRshow +882 420 M +0 63 V +0 2121 R +0 -63 V + stroke +882 280 M +[ [(Helvetica) 140.0 0.0 true true (10)] +] -46.7 MCshow +1123 420 M +0 31 V +0 2153 R +0 -31 V +1264 420 M +0 31 V +0 2153 R +0 -31 V +1364 420 M +0 31 V +0 2153 R +0 -31 V +1441 420 M +0 31 V +0 2153 R +0 -31 V +1505 420 M +0 31 V +0 2153 R +0 -31 V +1558 420 M +0 31 V +0 2153 R +0 -31 V +1604 420 M +0 31 V +0 2153 R +0 -31 V +1645 420 M +0 31 V +0 2153 R +0 -31 V +1682 420 M +0 63 V +0 2121 R +0 -63 V + stroke +1682 280 M +[ [(Helvetica) 140.0 0.0 true true (100)] +] -46.7 MCshow +1923 420 M +0 31 V +0 2153 R +0 -31 V +2064 420 M +0 31 V +0 2153 R +0 -31 V +2164 420 M +0 31 V +0 2153 R +0 -31 V +2241 420 M +0 31 V +0 2153 R +0 -31 V +2305 420 M +0 31 V +0 2153 R +0 -31 V +2358 420 M +0 31 V +0 2153 R +0 -31 V +2404 420 M +0 31 V +0 2153 R +0 -31 V +2445 420 M +0 31 V +0 2153 R +0 -31 V +2482 420 M +0 63 V +0 2121 R +0 -63 V + stroke +2482 280 M +[ [(Helvetica) 140.0 0.0 true true (1000)] +] -46.7 MCshow +2723 420 M +0 31 V +0 2153 R +0 -31 V +2864 420 M +0 31 V +0 2153 R +0 -31 V +2964 420 M +0 31 V +0 2153 R +0 -31 V +3041 420 M +0 31 V +0 2153 R +0 -31 V +3105 420 M +0 31 V +0 2153 R +0 -31 V +3158 420 M +0 31 V +0 2153 R +0 -31 V +3204 420 M +0 31 V +0 2153 R +0 -31 V +3245 420 M +0 31 V +0 2153 R +0 -31 V +3282 420 M +0 63 V +0 2121 R +0 -63 V + stroke +3282 280 M +[ [(Helvetica) 140.0 0.0 true true (10000)] +] -46.7 MCshow +3523 420 M +0 31 V +0 2153 R +0 -31 V +3664 420 M +0 31 V +0 2153 R +0 -31 V +3764 420 M +0 31 V +0 2153 R +0 -31 V +3841 420 M +0 31 V +0 2153 R +0 -31 V +3905 420 M +0 31 V +0 2153 R +0 -31 V +3958 420 M +0 31 V +0 2153 R +0 -31 V +4004 420 M +0 31 V +0 2153 R +0 -31 V +4045 420 M +0 31 V +0 2153 R +0 -31 V +4082 420 M +0 63 V +0 2121 R +0 -63 V + stroke +4082 280 M +[ [(Helvetica) 140.0 0.0 true true (100000)] +] -46.7 MCshow +1.000 UL +LTb +882 420 M +3200 0 V +0 2184 V +-3200 0 V +882 420 L + stroke +140 1512 M +currentpoint gsave translate 90 rotate 0 0 moveto +[ [(Helvetica) 140.0 0.0 true true (Error)] +] -46.7 MCshow +grestore +2482 70 M +[ [(Helvetica) 140.0 0.0 true true (Number of degrees of freedom)] +] -46.7 MCshow +2482 2814 M +[ [(Helvetica) 140.0 0.0 true true (Errors)] +] -46.7 MCshow +1.000 UP +1.000 UL +LT0 +3431 2471 M +[ [(Helvetica) 140.0 0.0 true true (Error in computed value)] +] -46.7 MRshow +3515 2471 M +399 0 V +1568 2170 M +-25 -10 V +230 -130 V +299 -123 V +295 -219 V +298 -147 V +304 -161 V +281 -165 V +311 -163 V +1568 2170 Pls +1543 2160 Pls +1773 2030 Pls +2072 1907 Pls +2367 1688 Pls +2665 1541 Pls +2969 1380 Pls +3250 1215 Pls +3561 1052 Pls +3714 2471 Pls +1.000 UP +1.000 UL +LT1 +3431 2331 M +[ [(Helvetica) 140.0 0.0 true true (Error in computed value+estimated error)] +] -46.7 MRshow +3515 2331 M +399 0 V +1568 1948 M +-25 -271 V +230 -170 V +299 -169 V +295 -180 V +2665 998 L +2969 827 L +3250 665 L +1568 1948 Crs +1543 1677 Crs +1773 1507 Crs +2072 1338 Crs +2367 1158 Crs +2665 998 Crs +2969 827 Crs +3250 665 Crs +3714 2331 Crs +1.000 UL +LT2 +3431 2191 M +[ [(Helvetica) 140.0 0.0 true true (O\(1/N\))] +] -46.7 MRshow +3515 2191 M +399 0 V +1543 1980 M +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -12 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -12 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -12 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -12 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -12 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -12 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -12 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -12 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -12 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -12 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -12 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +21 -12 V +20 -11 V +20 -11 V +21 -11 V +20 -11 V +21 -11 V +20 -11 V +20 -11 V +21 -12 V +stroke +grestore +end +showpage diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error.gif b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error.gif new file mode 100644 index 0000000000..d4c0249fe4 Binary files /dev/null and b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/point_value/error.gif differ diff --git a/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/results.html b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/results.html index e67fccc1c1..0dcc79e522 100644 --- a/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/results.html +++ b/deal.II/doc/tutorial/chapter-2.step-by-step/step-14.data/results.html @@ -1,2 +1,215 @@

Results

+ +

Point values

+ +

+This program offers a lot of possibilities to play around. We can thus +only show a small part of all possible results that can be obtained +with the help of this program. However, you are encouraged to just try +it out, by changing the settings in the main program. Here, we start +by simple letting it run, unmodified: + +

+Refinement cycle: 0
+   Number of degrees of freedom=72
+   Point value=0.03243
+   Estimated error=0.000702385
+Refinement cycle: 1
+   Number of degrees of freedom=67
+   Point value=0.0324827
+   Estimated error=0.000888953
+Refinement cycle: 2
+   Number of degrees of freedom=130
+   Point value=0.0329619
+   Estimated error=0.000454606
+Refinement cycle: 3
+   Number of degrees of freedom=307
+   Point value=0.0331934
+   Estimated error=0.000241254
+Refinement cycle: 4
+   Number of degrees of freedom=718
+   Point value=0.0333675
+   Estimated error=7.4912e-05
+Refinement cycle: 5
+   Number of degrees of freedom=1691
+   Point value=0.0334104
+   Estimated error=3.47976e-05
+Refinement cycle: 6
+   Number of degrees of freedom=4065
+   Point value=0.0334315
+   Estimated error=1.49476e-05
+Refinement cycle: 7
+   Number of degrees of freedom=9113
+   Point value=0.0334407
+   Estimated error=6.23712e-06
+Refinement cycle: 8
+   Number of degrees of freedom=22303
+   Point value=0.0334445
+
+ +

+ +

+First let's look what the program actually computed, by looking at +some of the grids and solutions that were printed: +TODO + +Note the subtle interplay between resolving the corner singularities, +and resolving around the point of evaluation. It will be rather +difficult to generate such a mesh by hand, as this would involve to +judge quantitatively how much which of the four corner singularities +shall be resolved, and to set the weight compared to the vicinity of +the evaluation point. +

+ +

+The program prints the point value and the estimated error in this +quantity. From extrapolating it, we can guess that the exact value is +somewhat like 0.0334473, plus or minus 0.0000001 (note that we get +almost 6 valid digits from only 22,000 (primal) degrees of +freedom. This number cannot be obtaint from the value of the +functional alone, but I have used the assumption that the error +estimator is mostly exact, and extrapolated the computed value plus +the estimated error, to get an approximation of the true +value. Computing with more degrees of freedom shows that this +assumption is indeed valid. +

+ +

+From the computed results, we can generate two graphs: one that shows +the convergence of the error J(u)-J(uh) (taking the +extrapolated value as correct) in the point value, and the value that +we get by adding up computed value J(uh) and estimated +error eta (if the error estimator eta were exact, then the value +J(uh)+eta would equal the exact point value, and the error +in this quantity would always be zero; however, since the error +estimator is only a - good - approximation to the true error, we can +by this only reduce the size of the error). In this graph, we also +indicate the complexity O(1/N) to show that mesh refinement +acts optimal in this case. The second chart compares +true and estimated error, and shows that the two are actually very +close to each other, even for such a complicated quantity as the point +value: +

+ + + + + + + +
+ + Error in point value + + + + Error in point value + +
+ + +

Comparing refinement criteria

+ +

+Since we have accepted quite some effort when using the mesh +refinement driven by the dual weighted error estimator (for solving +the dual problem, and for evaluating the error representation), it is +worth while asking whether that effort was successful. To this end, we +first compare the achieved error levels for different mesh refinement +criteria. To generate this data, simply change the value of the mesh +refinement criterion variable in the main program. The results are thus: +TODO +

+ + +

Evaluation of point stresses

+ +

+Besides evaluating the values of the solution at a certain point, the +program also offers the possibility to evaluate the x-derivatives at a +certain point, and also to tailor mesh refinement for this. To let the +program compute these quantities, simply replace the two occurences of +PointValueEvaluation in the main function by +PointXDerivativeEvaluation, and let the program run: + +

+Refinement cycle: 0
+   Number of degrees of freedom=72
+   Point x-derivative=-0.287759
+   Estimated error=-0.0126173
+Refinement cycle: 1
+   Number of degrees of freedom=61
+   Point x-derivative=-0.283182
+   Estimated error=-0.00774316
+Refinement cycle: 2
+   Number of degrees of freedom=131
+   Point x-derivative=-0.227468
+   Estimated error=-0.00313426
+Refinement cycle: 3
+   Number of degrees of freedom=247
+   Point x-derivative=-0.212132
+   Estimated error=-0.00136114
+Refinement cycle: 4
+   Number of degrees of freedom=541
+   Point x-derivative=-0.210584
+   Estimated error=-0.000555479
+Refinement cycle: 5
+   Number of degrees of freedom=1286
+   Point x-derivative=-0.210758
+   Estimated error=-0.0002261
+Refinement cycle: 6
+   Number of degrees of freedom=2924
+   Point x-derivative=-0.211001
+   Estimated error=-9.38035e-05
+Refinement cycle: 7
+   Number of degrees of freedom=6578
+   Point x-derivative=-0.211151
+   Estimated error=-3.94139e-05
+Refinement cycle: 8
+   Number of degrees of freedom=14780
+   Point x-derivative=-0.211219
+   Estimated error=-1.85456e-05
+Refinement cycle: 9
+   Number of degrees of freedom=31438
+   Point x-derivative=-0.211258
+

+ +

+We again look at the meshes first: +TODO +

+ +

+Then, it is interesting to compare actually computed values of the +quantity of interest (i.e. the x-derivative of the solution at one +point) with those values which we get from computing +on finer meshes. +TODO +

+ + + +

Step-13 revisited

+ +

+If instead of the Exercise_2_3 data set, we choose +CurvedRidges in the main function, we can redo the +computations of the previous example program, to compare whether the +results obtained with the help of the dual weighted error estimator +are better than those we had previously. +TODO +

+ + +

Outlook

+ +

+As stated, the program is quite modular, and implementing another test +case, or another evaluation and dual functional is simple. You are +encouraged to take the program as a basis for your own experiments, +and to play a little. +

\ No newline at end of file