From 5e41ad881eaa38172794509baf3ac81bec7d6c77 Mon Sep 17 00:00:00 2001 From: wolf Date: Fri, 12 Feb 1999 10:29:48 +0000 Subject: [PATCH] Move the class hierarchy files from the deal.II tree to the general doc tree. git-svn-id: https://svn.dealii.org/trunk@787 0785d39b-7218-0410-832d-ea1e28bc413d --- .../doc/reports/class-hierarchies/1d-dof.eps | 156 +++++++++ .../doc/reports/class-hierarchies/1d-dof.fig | 33 ++ .../doc/reports/class-hierarchies/1d-dof.gif | Bin 0 -> 6653 bytes .../doc/reports/class-hierarchies/1d-tria.eps | 144 +++++++++ .../doc/reports/class-hierarchies/1d-tria.fig | 28 ++ .../doc/reports/class-hierarchies/1d-tria.gif | Bin 0 -> 5500 bytes .../doc/reports/class-hierarchies/2d-dof.eps | 182 +++++++++++ .../doc/reports/class-hierarchies/2d-dof.fig | 43 +++ .../doc/reports/class-hierarchies/2d-dof.gif | Bin 0 -> 8461 bytes .../doc/reports/class-hierarchies/2d-tria.eps | 157 +++++++++ .../doc/reports/class-hierarchies/2d-tria.fig | 33 ++ .../doc/reports/class-hierarchies/2d-tria.gif | Bin 0 -> 6595 bytes .../doc/reports/class-hierarchies/index.html | 301 ++++++++++++++++++ 13 files changed, 1077 insertions(+) create mode 100644 deal.II/doc/reports/class-hierarchies/1d-dof.eps create mode 100644 deal.II/doc/reports/class-hierarchies/1d-dof.fig create mode 100644 deal.II/doc/reports/class-hierarchies/1d-dof.gif create mode 100644 deal.II/doc/reports/class-hierarchies/1d-tria.eps create mode 100644 deal.II/doc/reports/class-hierarchies/1d-tria.fig create mode 100644 deal.II/doc/reports/class-hierarchies/1d-tria.gif create mode 100644 deal.II/doc/reports/class-hierarchies/2d-dof.eps create mode 100644 deal.II/doc/reports/class-hierarchies/2d-dof.fig create mode 100644 deal.II/doc/reports/class-hierarchies/2d-dof.gif create mode 100644 deal.II/doc/reports/class-hierarchies/2d-tria.eps create mode 100644 deal.II/doc/reports/class-hierarchies/2d-tria.fig create mode 100644 deal.II/doc/reports/class-hierarchies/2d-tria.gif create mode 100644 deal.II/doc/reports/class-hierarchies/index.html diff --git a/deal.II/doc/reports/class-hierarchies/1d-dof.eps b/deal.II/doc/reports/class-hierarchies/1d-dof.eps new file mode 100644 index 0000000000..98892235cb --- /dev/null +++ b/deal.II/doc/reports/class-hierarchies/1d-dof.eps @@ -0,0 +1,156 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: 1d-dof.eps +%%Creator: fig2dev Version 3.2 Patchlevel 0-beta2 +%%CreationDate: Thu Nov 5 15:50:20 1998 +%%For: wolf@chaos (Wolfgang Bangerth) +%%Orientation: Portrait +%%BoundingBox: 0 0 514 311 +%%Pages: 0 +%%BeginSetup +%%IncludeFeature: *PageSize Letter +%%EndSetup +%%Magnification: 1.00 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +-8.0 330.0 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def +%%EndProlog + +$F2psBegin +10 setmiterlimit +n 0 5527 m 0 0 l 8732 0 l 8732 5527 l cp clip + 0.06000 0.06000 sc +% Polyline +7.500 slw +n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat + 3600 1875 5895 1875 105 arcto 4 {pop} repeat + 6000 1875 6000 1605 105 arcto 4 {pop} repeat + 6000 1500 3705 1500 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 1155 2700 m 1050 2700 1050 2970 105 arcto 4 {pop} repeat + 1050 3075 3645 3075 105 arcto 4 {pop} repeat + 3750 3075 3750 2805 105 arcto 4 {pop} repeat + 3750 2700 1155 2700 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 855 3900 m 750 3900 750 4170 105 arcto 4 {pop} repeat + 750 4275 4020 4275 105 arcto 4 {pop} repeat + 4125 4275 4125 4005 105 arcto 4 {pop} repeat + 4125 3900 855 3900 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 1155 5100 m 1050 5100 1050 5370 105 arcto 4 {pop} repeat + 1050 5475 3645 5475 105 arcto 4 {pop} repeat + 3750 5475 3750 5205 105 arcto 4 {pop} repeat + 3750 5100 1155 5100 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +15.000 slw +n 4800 1875 m 2400 2700 l gs col0 s gr +% Polyline +n 2400 3075 m 2400 3900 l gs col0 s gr +% Polyline +n 2400 4275 m 2400 5100 l gs col0 s gr +% Polyline +7.500 slw +n 255 1500 m 150 1500 150 1770 105 arcto 4 {pop} repeat + 150 1875 2145 1875 105 arcto 4 {pop} repeat + 2250 1875 2250 1605 105 arcto 4 {pop} repeat + 2250 1500 255 1500 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +15.000 slw +n 1200 1875 m 2400 2700 l gs col0 s gr +/Times-Roman ff 375.00 scf sf +4800 600 m +gs 1 -1 sc (Class Hierarchy for the 1-dimensional Case, Part 2) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +4800 1800 m +gs 1 -1 sc (DoFAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +2400 3000 m +gs 1 -1 sc (DoFLineAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +2400 4200 m +gs 1 -1 sc (DoFSubstructAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +2400 5400 m +gs 1 -1 sc (DoFCellAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +1200 1800 m +gs 1 -1 sc (CellAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +$F2psEnd +rs diff --git a/deal.II/doc/reports/class-hierarchies/1d-dof.fig b/deal.II/doc/reports/class-hierarchies/1d-dof.fig new file mode 100644 index 0000000000..935d4c9d33 --- /dev/null +++ b/deal.II/doc/reports/class-hierarchies/1d-dof.fig @@ -0,0 +1,33 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +0 +1200 2 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 6000 1875 6000 1500 3600 1500 3600 1875 6000 1875 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 3750 3075 3750 2700 1050 2700 1050 3075 3750 3075 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 4125 4275 4125 3900 750 3900 750 4275 4125 4275 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 3750 5475 3750 5100 1050 5100 1050 5475 3750 5475 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 1875 2400 2700 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2400 3075 2400 3900 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 2400 4275 2400 5100 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 2250 1875 2250 1500 150 1500 150 1875 2250 1875 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1200 1875 2400 2700 +4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 1-dimensional Case, Part 2\001 +4 1 0 0 0 0 20 0.0000 4 195 1995 4800 1800 DoFAccessor<1>\001 +4 1 0 0 0 0 20 0.0000 4 195 2520 2400 3000 DoFLineAccessor<1>\001 +4 1 0 0 0 0 20 0.0000 4 195 3105 2400 4200 DoFSubstructAccessor<1>\001 +4 1 0 0 0 0 20 0.0000 4 195 2460 2400 5400 DoFCellAccessor<1>\001 +4 1 0 0 0 0 20 0.0000 4 195 1950 1200 1800 CellAccessor<1>\001 diff --git a/deal.II/doc/reports/class-hierarchies/1d-dof.gif b/deal.II/doc/reports/class-hierarchies/1d-dof.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d9b814496886df10694cf735d5c7665be56a682 GIT binary patch literal 6653 zcmVHRaI4)nVCdHM2LupXlQ6CC@5fHU^qB95D*Zrudho>OA8ANH#avwKRK4# zXm4|Lb7OL8aC9IjWMy_~V`V*XZf$a5cPR=0EC2ui00ROz0RRR5ARvxpX`X1Ru59bR za4gSsZQppV?|kq7z@TtQEEUR3#Yj2n7QHSnVBX-RUzbE}L%$0>Z#f zC>9LBK#?U57+FK2A-d=HA_WOg3Jz>L1X~OS4?Ts4ItK~{G6aT{frDj&LvwX2X=`n7 zaYzcHYz74md_a;}1qxqhDFg-x3IYHE3x*CN0+4oWx+DX{BM84^!Z!j1x(5ZVJORx$ z2M?k%)|ddwX5d4?-YB-Xy1c$h zCU8c~!LZ~>5-F8jBS(W~2}vay=wveKU?k&cd0I9Loh5#A9<{kpTv}0<7T#Ab^7cZ*8R#CV+rp2dqSl z-rPCqZcMCQ!>$YqDp{#{v9NIp@&RQzntO{B5Wup7pWT~_fI}?o@?DzsSeaa|_wV2U z$Zs}(^7CP8W>KsOjI!|k#OWn~Rd|=daE&zxp#BFMVzp)0nNqv45R5*4<;OxZhQub! zcYWXn0EcpT*p*a}NF$7GUmUQ;76ClK#sdR5u)v3#)doq6FUGh)1JmfDltOF}pw}d& z9FyP(4>*_8KmsT;i;Mc;$cT=DiKWGmuZ@5rNGm=Boe2&g@I`lrnCQ&`FMe^30=i_R zr2{E;Y2%fIW%;2y9-5h$lOjMVT##65l;NC^ed*Gm-HZU@03L3sq84xpw8)Hz-ss|# zGDhVBk9*w%Q!{JKA`GM=G++g(0GRsRaS_%uLIN|6r$bC`t|8Rvp}e*0S?&X3x6d<=IWfRK1@Qv z%?LAzv=S>-iftIbI?#{(5-V|j-9+563WhZ7O~vd!T=H=vL$dIa9vi0#%M+K1GYT+K z?9I%7vijwczNw;sJw7k1atj3D=NGW{n$Q3NXo4$>kicBs>C!Ym?BZh~mrC`{0DQu8 z%iQwY^vT!m0trN9=l69C*O*-Q%4lB;$=qiv-6Wt&w;gWYsg6y!xdwnOwc&dL&i4!u zO0nGMH}u^#B7p!)^Bqi7nN3y{G4Bv%zrOO6h~Z)|LOGO4wYR zjtS~?4_!Onl<&-Y-xBwB*lNHxye-*HvQBxisHV_-zs9Q)!0?cNIlbO>`F?qYN2x+P z

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 H5&{4_kwHiF literal 0 HcmV?d00001 diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.eps b/deal.II/doc/reports/class-hierarchies/1d-tria.eps new file mode 100644 index 0000000000..2483208e62 --- /dev/null +++ b/deal.II/doc/reports/class-hierarchies/1d-tria.eps @@ -0,0 +1,144 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: 1d-tria.eps +%%Creator: fig2dev Version 3.2 Patchlevel 0-beta2 +%%CreationDate: Thu Nov 5 16:56:03 1998 +%%For: wolf@chaos (Wolfgang Bangerth) +%%Orientation: Portrait +%%BoundingBox: 0 0 514 311 +%%Pages: 0 +%%BeginSetup +%%IncludeFeature: *PageSize Letter +%%EndSetup +%%Magnification: 1.00 +%%EndComments +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/col-1 {0 setgray} bind def +/col0 {0.000 0.000 0.000 srgb} bind def +/col1 {0.000 0.000 1.000 srgb} bind def +/col2 {0.000 1.000 0.000 srgb} bind def +/col3 {0.000 1.000 1.000 srgb} bind def +/col4 {1.000 0.000 0.000 srgb} bind def +/col5 {1.000 0.000 1.000 srgb} bind def +/col6 {1.000 1.000 0.000 srgb} bind def +/col7 {1.000 1.000 1.000 srgb} bind def +/col8 {0.000 0.000 0.560 srgb} bind def +/col9 {0.000 0.000 0.690 srgb} bind def +/col10 {0.000 0.000 0.820 srgb} bind def +/col11 {0.530 0.810 1.000 srgb} bind def +/col12 {0.000 0.560 0.000 srgb} bind def +/col13 {0.000 0.690 0.000 srgb} bind def +/col14 {0.000 0.820 0.000 srgb} bind def +/col15 {0.000 0.560 0.560 srgb} bind def +/col16 {0.000 0.690 0.690 srgb} bind def +/col17 {0.000 0.820 0.820 srgb} bind def +/col18 {0.560 0.000 0.000 srgb} bind def +/col19 {0.690 0.000 0.000 srgb} bind def +/col20 {0.820 0.000 0.000 srgb} bind def +/col21 {0.560 0.000 0.560 srgb} bind def +/col22 {0.690 0.000 0.690 srgb} bind def +/col23 {0.820 0.000 0.820 srgb} bind def +/col24 {0.500 0.190 0.000 srgb} bind def +/col25 {0.630 0.250 0.000 srgb} bind def +/col26 {0.750 0.380 0.000 srgb} bind def +/col27 {1.000 0.500 0.500 srgb} bind def +/col28 {1.000 0.630 0.630 srgb} bind def +/col29 {1.000 0.750 0.750 srgb} bind def +/col30 {1.000 0.880 0.880 srgb} bind def +/col31 {1.000 0.840 0.000 srgb} bind def + +end +save +-8.0 330.0 translate +1 -1 scale + +/cp {closepath} bind def +/ef {eofill} bind def +/gr {grestore} bind def +/gs {gsave} bind def +/sa {save} bind def +/rs {restore} bind def +/l {lineto} bind def +/m {moveto} bind def +/rm {rmoveto} bind def +/n {newpath} bind def +/s {stroke} bind def +/sh {show} bind def +/slc {setlinecap} bind def +/slj {setlinejoin} bind def +/slw {setlinewidth} bind def +/srgb {setrgbcolor} bind def +/rot {rotate} bind def +/sc {scale} bind def +/sd {setdash} bind def +/ff {findfont} bind def +/sf {setfont} bind def +/scf {scalefont} bind def +/sw {stringwidth} bind def +/tr {translate} bind def +/tnt {dup dup currentrgbcolor + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add + 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} + bind def +/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul + 4 -2 roll mul srgb} bind def +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def +%%EndProlog + +$F2psBegin +10 setmiterlimit +n 0 5527 m 0 0 l 8732 0 l 8732 5527 l cp clip + 0.06000 0.06000 sc +% Polyline +7.500 slw +n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat + 3600 1875 5895 1875 105 arcto 4 {pop} repeat + 6000 1875 6000 1605 105 arcto 4 {pop} repeat + 6000 1500 3705 1500 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 780 2700 m 675 2700 675 2970 105 arcto 4 {pop} repeat + 675 3075 2745 3075 105 arcto 4 {pop} repeat + 2850 3075 2850 2805 105 arcto 4 {pop} repeat + 2850 2700 780 2700 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +n 855 5100 m 750 5100 750 5370 105 arcto 4 {pop} repeat + 750 5475 2745 5475 105 arcto 4 {pop} repeat + 2850 5475 2850 5205 105 arcto 4 {pop} repeat + 2850 5100 855 5100 105 arcto 4 {pop} repeat + cp gs col0 s gr +% Polyline +15.000 slw +n 4800 1875 m 1800 2700 l gs col0 s gr +% Polyline +n 1800 3075 m 1800 3900 l gs col0 s gr +% Polyline +n 1800 4275 m 1800 5100 l gs col0 s gr +% Polyline +7.500 slw +n 255 3900 m 150 3900 150 4170 105 arcto 4 {pop} repeat + 150 4275 3345 4275 105 arcto 4 {pop} repeat + 3450 4275 3450 4005 105 arcto 4 {pop} repeat + 3450 3900 255 3900 105 arcto 4 {pop} repeat + cp gs col0 s gr +/Times-Roman ff 300.00 scf sf +4800 1800 m +gs 1 -1 sc (TriaAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +1800 3000 m +gs 1 -1 sc (LineAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +1800 5400 m +gs 1 -1 sc (CellAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 375.00 scf sf +4800 600 m +gs 1 -1 sc (Class Hierarchy for the 1-dimensional Case, Part 1) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +1800 4200 m +gs 1 -1 sc (TriaSubstructAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr +$F2psEnd +rs diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.fig b/deal.II/doc/reports/class-hierarchies/1d-tria.fig new file mode 100644 index 0000000000..8db63ed8e2 --- /dev/null +++ b/deal.II/doc/reports/class-hierarchies/1d-tria.fig @@ -0,0 +1,28 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +0 +1200 2 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 6000 1875 6000 1500 3600 1500 3600 1875 6000 1875 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 2850 3075 2850 2700 675 2700 675 3075 2850 3075 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 2850 5475 2850 5100 750 5100 750 5475 2850 5475 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 1875 1800 2700 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1800 3075 1800 3900 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1800 4275 1800 5100 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 3450 4275 3450 3900 150 3900 150 4275 3450 4275 +4 1 0 0 0 0 20 0.0000 4 195 1980 4800 1800 TriaAccessor<1>\001 +4 1 0 0 0 0 20 0.0000 4 195 2010 1800 3000 LineAccessor<1>\001 +4 1 0 0 0 0 20 0.0000 4 195 1950 1800 5400 CellAccessor<1>\001 +4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 1-dimensional Case, Part 1\001 +4 1 0 0 0 0 20 0.0000 4 195 3090 1800 4200 TriaSubstructAccessor<1>\001 diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.gif b/deal.II/doc/reports/class-hierarchies/1d-tria.gif new file mode 100644 index 0000000000000000000000000000000000000000..4c16c9cd5e8ae0c12e4e4216cb4fd00e5e6bee81 GIT binary patch literal 5500 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 dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 375.00 scf sf +4800 600 m +gs 1 -1 sc (Class Hierarchy for the 2-dimensional Case, Part 2) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +4800 1800 m +gs 1 -1 sc (DoFAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +2400 3000 m +gs 1 -1 sc (DoFLineAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +7200 4200 m +gs 1 -1 sc (DoFSubstructAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +7200 5400 m +gs 1 -1 sc (DoFCellAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +7200 3000 m +gs 1 -1 sc (DoFQuadAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +8400 1800 m +gs 1 -1 sc (CellAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +$F2psEnd +rs diff --git a/deal.II/doc/reports/class-hierarchies/2d-dof.fig b/deal.II/doc/reports/class-hierarchies/2d-dof.fig new file mode 100644 index 0000000000..f60979a2a9 --- /dev/null +++ b/deal.II/doc/reports/class-hierarchies/2d-dof.fig @@ -0,0 +1,43 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +0 +1200 2 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 6000 1875 6000 1500 3600 1500 3600 1875 6000 1875 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 3750 3075 3750 2700 1050 2700 1050 3075 3750 3075 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 1875 2400 2700 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 2250 1875 2250 1500 150 1500 150 1875 2250 1875 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 1200 1875 2400 2700 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 8925 4275 8925 3900 5550 3900 5550 4275 8925 4275 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7200 3075 7200 3900 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7200 4275 7200 5100 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 8550 5475 8550 5100 5850 5100 5850 5475 8550 5475 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 8550 3075 8550 2700 5850 2700 5850 3075 8550 3075 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 9450 1875 9450 1500 7350 1500 7350 1875 9450 1875 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 1875 7200 2700 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 8400 1875 7200 2700 +4 1 0 0 0 0 20 0.0000 4 195 2010 1200 1800 LineAccessor<2>\001 +4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 2-dimensional Case, Part 2\001 +4 1 0 0 0 0 20 0.0000 4 195 1995 4800 1800 DoFAccessor<2>\001 +4 1 0 0 0 0 20 0.0000 4 195 2520 2400 3000 DoFLineAccessor<2>\001 +4 1 0 0 0 0 20 0.0000 4 195 3105 7200 4200 DoFSubstructAccessor<2>\001 +4 1 0 0 0 0 20 0.0000 4 195 2460 7200 5400 DoFCellAccessor<2>\001 +4 1 0 0 0 0 20 0.0000 4 255 2625 7200 3000 DoFQuadAccessor<2>\001 +4 1 0 0 0 0 20 0.0000 4 195 1950 8400 1800 CellAccessor<2>\001 diff --git a/deal.II/doc/reports/class-hierarchies/2d-dof.gif b/deal.II/doc/reports/class-hierarchies/2d-dof.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfce7f560707dd7c543f82a0ee18a10340cb7aac GIT binary patch literal 8461 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 dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +1800 3000 m +gs 1 -1 sc (LineAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +7800 3000 m +gs 1 -1 sc (QuadAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +7800 5400 m +gs 1 -1 sc (CellAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 375.00 scf sf +4800 600 m +gs 1 -1 sc (Class Hierarchy for the 2-dimensional Case, Part 1) dup sw pop 2 div neg 0 rm col0 sh gr +/Times-Roman ff 300.00 scf sf +7800 4200 m +gs 1 -1 sc (TriaSubstructAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr +$F2psEnd +rs diff --git a/deal.II/doc/reports/class-hierarchies/2d-tria.fig b/deal.II/doc/reports/class-hierarchies/2d-tria.fig new file mode 100644 index 0000000000..bcb70161b9 --- /dev/null +++ b/deal.II/doc/reports/class-hierarchies/2d-tria.fig @@ -0,0 +1,33 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +0 +1200 2 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 6000 1875 6000 1500 3600 1500 3600 1875 6000 1875 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 2850 3075 2850 2700 675 2700 675 3075 2850 3075 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 1875 1800 2700 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 8925 3075 8925 2700 6675 2700 6675 3075 8925 3075 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 8850 5475 8850 5100 6750 5100 6750 5475 8850 5475 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 4800 1875 7800 2700 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7800 3075 7800 3900 +2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 7800 4275 7800 5100 +2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5 + 9450 4275 9450 3900 6150 3900 6150 4275 9450 4275 +4 1 0 0 0 0 20 0.0000 4 195 1980 4800 1800 TriaAccessor<2>\001 +4 1 0 0 0 0 20 0.0000 4 195 2010 1800 3000 LineAccessor<2>\001 +4 1 0 0 0 0 20 0.0000 4 255 2115 7800 3000 QuadAccessor<2>\001 +4 1 0 0 0 0 20 0.0000 4 195 1950 7800 5400 CellAccessor<2>\001 +4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 2-dimensional Case, Part 1\001 +4 1 0 0 0 0 20 0.0000 4 195 3090 7800 4200 TriaSubstructAccessor<2>\001 diff --git a/deal.II/doc/reports/class-hierarchies/2d-tria.gif b/deal.II/doc/reports/class-hierarchies/2d-tria.gif new file mode 100644 index 0000000000000000000000000000000000000000..a018ee4db334c850fff10523120b25ce499d7d7e GIT binary patch literal 6595 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 + +DEAL + + + +

+Description of the C++ class hierarchy for the +accessor classes +

+ + +The class hierarchy of the accessor classes used to retrieve and store +data in the triangulation and degree of freedom handler objects is one +of the more complicated parts of the library. It makes heavy use of +class templates with integers as template parameters as well as of +explicit specialization of classes and member functions. Therefore, +it is not so easy to see the connections and inheritance relations +within this part of the class tree; this document tries to shed a bit +of light onto this. + + + +

+What iterators and accessors are +

+ +When using adative finite elements, the data structures often are +extremely complex, requiring multiply indirected access and complex +relationships between the different places where data is stored. The +traditional way to handle this is to put all data which belongs +together somehow into a structure or object; however, sometimes this +can not be done efficiently, leading to either higher memory +consumption (when you have to store many small data pieces and because +you have to store a lot of pointers to other objects) or higher coding +requirements (when you want to follow all those pointers to the object +you desire). + +

+ +Therefore, we took over a concept which was already used in the C++ +standard template library, namely iterators and accessors. An accessor +is an object that looks like if it had all the information stored but +really only delegates the access to the right places; in fact, within +this library, accessor store almost no information but know where to +get everything from the complex and nested data structures the +triangulation object offers. They have a simple interface which allows +to extract any desired information from the triangulation and +therefore makes access much easier and safer in three ways: first it +performs range and parameter checking when in debugging mode; second, +it encapsulates the access to the real data from the user, hiding the +true data structures and thus allowing them without changing the user +programs as well as those parts of the library which only act through +accessors; and third by reducing the coding errors because of reduced +complexity, since the chains of indirect access are replaces by simple +commands. + +

+ +Iterators are a related concept: while accessors act as if they were +structures with data contained in them, iterators act as if they were +pointers pointing to accessors. You can dereference them using the +-> and * operators as with any other pointer, but they have more +functionality. Essentially, they have overloaded ++ and -- operators, +which allow the next or previous object pointed to to be just about +anywhere in memory. A good introductory example are the iterators of +the STL list<T> class, which act on a linked list +as if it were a contiguous array. The iterators in this library go +even a step further: they do not point to different objects but rather +tell the associated accessor object which data to look at +next. + +

+ +Additionally, there are different versions of the iterators which +behave differently when being incremented or decremented: while +raw iterators let the associated accessor point to any of the +objects it is made for, normal iterators always point to +objects which are in use. Usually, you will not want to see cells or +lines which are there but are unused by the triangulation (these cells +are somewhat like holes in the arrays of the triangulation; such +things happen when unrefining a cell, the freed memory is then kept +for a while because of better efficiency), so you will almost never +want to use raw iterators; they are mostly there for internal use in +the library. Normal iterators are almost like raw iterators, but +whenever you call the ++ or -- operator, the look at what they are +pointing at and skip all unused elements by increasing or decreasing +the pointer as often as necessary to reach the next used object. + +

+ +Finally, there are active iterators, which are the most +important ones. They are like normal iterators but only point to +active cells or lines. By active we mean that they have no children; +in the context in which this library is used, this is equivalent to +the fact that we do computations on these cells, lines or +whatever. Active iterators are normal iterators which skip over all +non-active cells, lines, etc when being incremented or decremented. + + + +

+The triangulation accessor hierarchy +

+ +The triangulation accessors are used to retrieve and store data in the +triangulation. There exist accessors for lines in one and higher +dimensions, accessors for quads in two and higher dimensions, and so +on. Their inheritance tree is shown in the following two pictures: + + +
+ +
+

+ +

+ +
+

+ +Some of the data is only useful if an object is a cell. For example, +neighborship is only accessible for cells, while faces (e.g. lines in +2D) can't access their neighbors (neither the adjacent cells, nor the +other faces it touches). Therefore, the CellAccessor classes are +derived from whatever object a cell is in the respective dimension, +i.e. from lines in 1D, from quads in 2D, and so on. For technical +reasons, this inheritance it mediated by the TriaSubstructAccessor +classes; they have no functionality but only serve as interface +classes; they have no meaning to the user. + + +

+Typedefs of the Triangulation class to iterators and accessors +

+ +The Triangulation<1> class declares the following data +types which involve accessors: +
+    typedef TriaRawIterator   <1,CellAccessor<1> >    raw_line_iterator;
+    typedef TriaIterator      <1,CellAccessor<1> >        line_iterator;
+    typedef TriaActiveIterator<1,CellAccessor<1> > active_line_iterator;
+
+    typedef    raw_line_iterator    raw_cell_iterator;
+    typedef        line_iterator        cell_iterator;
+    typedef active_line_iterator active_cell_iterator; 
+
+Since lines are cells in one space dimension, all line iterators are +cell iterators as well. + +

+ +In two space dimensions, the following types are declared by the +Triangulation<2> class: +

+    typedef TriaRawIterator   <2,LineAccessor<2> >    raw_line_iterator;
+    typedef TriaIterator      <2,LineAccessor<2> >        line_iterator;
+    typedef TriaActiveIterator<2,LineAccessor<2> > active_line_iterator;
+    
+    typedef TriaRawIterator   <2,CellAccessor<2> >    raw_quad_iterator;
+    typedef TriaIterator      <2,CellAccessor<2> >        quad_iterator;
+    typedef TriaActiveIterator<2,CellAccessor<2> > active_quad_iterator;
+
+    typedef    raw_quad_iterator    raw_cell_iterator;
+    typedef        quad_iterator        cell_iterator;
+    typedef active_quad_iterator active_cell_iterator;
+
+    typedef    raw_line_iterator    raw_face_iterator;
+    typedef        line_iterator        face_iterator;
+    typedef active_line_iterator active_face_iterator;    
+
+ +Since in this space dimension, quads are cells and lines are the faces +of cells, the appropriate face and cell iterators are declared in +terms of the underlying accessor types. + + + + +

+The degree of freedom accessor hierarchy +

+ + +The DoFAccessor classes provide access to the degree of freedom +information associated with cells, lines, etc. The inheritance +relationship is much the same as for the triangulation accessor +classes, as can be seen from the following pictures. In particular, +the DoFSubstructAccessor classes fulfill the same purpose as the +TriaSubstructAccessors, i.e. they only serve as interface classes +without meaning to the user. + + +
+ +
+

+ + +

+ +
+

+ +The main difference to the triangulation accessor hierarchy is that we +want the DoF accessors to provide the information about the degrees of +freedom, but for convenience also that of the triangulation. This way, +we can get all the information from one object rather than needing two +which work in parallel. + +

+ +For the named reason, it is necessary to derive the DoFLineAccessor +from the LineAccessor class of the triangulation accessor hierarchy, +as well as the DoFQuadAccessor from the QuadAccessor. However, we +would also like to include the functionality added by the CellAccessor +class; this is done through some template magic: when in one space +dimension, the DoFLineAccessor is derived from CellAccessor<1>, +while when in higher dimensions, it is derived from +LineAccessor<dim>; the same applies for the DoFQuadAccessor +class. Note that this way, CellAccessor is always a base class to +DoFCellAccessor and the inheritance lattice is dimension dependant; +the exact way of achieving this is complicated but not of interest +here. + + +

+Typedefs of the DoFHandler class to iterators and accessors +

+ + +The typedefs done by the DoFHandler class are much alike those done by +the Triangulation class. They could be summarized as follows: + +

+ +For one space dimension: + +

+    typedef TriaRawIterator   <1,DoFCellAccessor<1> >    raw_line_iterator;
+    typedef TriaIterator      <1,DoFCellAccessor<1> >        line_iterator;
+    typedef TriaActiveIterator<1,DoFCellAccessor<1> > active_line_iterator;
+
+    typedef    raw_line_iterator    raw_cell_iterator;
+    typedef        line_iterator        cell_iterator;
+    typedef active_line_iterator active_cell_iterator; 
+
+Since lines are cells in one space dimension, all line iterators are +cell iterators as well. + +

+ +For two space dimensions: + +

+    typedef TriaRawIterator   <2,DoFLineAccessor<2> >    raw_line_iterator;
+    typedef TriaIterator      <2,DoFLineAccessor<2> >        line_iterator;
+    typedef TriaActiveIterator<2,DoFLineAccessor<2> > active_line_iterator;
+    
+    typedef TriaRawIterator   <2,DoFCellAccessor<2> >    raw_quad_iterator;
+    typedef TriaIterator      <2,DoFCellAccessor<2> >        quad_iterator;
+    typedef TriaActiveIterator<2,DoFCellAccessor<2> > active_quad_iterator;
+
+    typedef    raw_quad_iterator    raw_cell_iterator;
+    typedef        quad_iterator        cell_iterator;
+    typedef active_quad_iterator active_cell_iterator;
+
+    typedef    raw_line_iterator    raw_face_iterator;
+    typedef        line_iterator        face_iterator;
+    typedef active_line_iterator active_face_iterator;    
+
+ +

+ +However, because of the dimension dependant inheritance lattice, the +actual structure of the data types is more complex for more than one +space dimension and looks like given below. Since the exact mechanism +is not of matter for the user of the library, we simply show these +typedefs for completeness without going into details here. + +

+    typedef TriaRawIterator   <2,DoFLineAccessor<2,LineAccessor<2> > >    raw_line_iterator;
+    typedef TriaIterator      <2,DoFLineAccessor<2,LineAccessor<2> > >        line_iterator;
+    typedef TriaActiveIterator<2,DoFLineAccessor<2,LineAccessor<2> > > active_line_iterator;
+
+ + + +


+ +
+Wolfgang Bangerth, 1998 +
+

 

+ + + + + + + -- 2.39.5