aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetWeb/doc/internals.ps
blob: b04971d461807acd3da84755b468761f8396411a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
%%Title: internals.dvi
%%Pages: 13
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentFonts: Palatino-Roman CMMI12 Palatino-Bold CMTT10
%%+ Palatino-Italic EURM10 CMR10 CMSY10
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips internals.dvi -o internals.ps
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2003.05.03:1529
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end

%%EndProcSet
%%BeginProcSet: 8r.enc
% File  8r.enc as of 2002-03-12 for PSNFSS 9
%
% This is the encoding vector for Type1 and TrueType fonts to be used
% with TeX.  This file is part of the PSNFSS bundle, version 9
% 
% Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt
%
% Idea is to have all the characters normally included in Type 1 fonts
% available for typesetting. This is effectively the characters in Adobe
% Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro.
% 
% Character code assignments were made as follows:
% 
% (1) the Windows ANSI characters are almost all in their Windows ANSI
% positions, because some Windows users cannot easily reencode the
% fonts, and it makes no difference on other systems. The only Windows
% ANSI characters not available are those that make no sense for
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
% (173). quotesingle and grave are moved just because it's such an
% irritation not having them in TeX positions.
% 
% (2) Remaining characters are assigned arbitrarily to the lower part
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
% 
% (3) Y&Y Lucida Bright includes some extra text characters; in the
% hopes that other PostScript fonts, perhaps created for public
% consumption, will include them, they are included starting at 0x12.
% 
% (4) Remaining positions left undefined are for use in (hopefully)
% upward-compatible revisions, if someday more characters are generally
% available.
% 
% (5) hyphen appears twice for compatibility with both ASCII and Windows.
%
% (6) /Euro is assigned to 128, as in Windows ANSI
% 
/TeXBase1Encoding [
% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
  /.notdef /dotaccent /fi /fl
  /fraction /hungarumlaut /Lslash /lslash
  /ogonek /ring /.notdef
  /breve /minus /.notdef 
% These are the only two remaining unencoded characters, so may as
% well include them.
  /Zcaron /zcaron 
% 0x10
 /caron /dotlessi 
% (unusual TeX characters available in, e.g., Lucida Bright)
 /dotlessj /ff /ffi /ffl 
 /.notdef /.notdef /.notdef /.notdef
 /.notdef /.notdef /.notdef /.notdef
 % very contentious; it's so painful not having quoteleft and quoteright
 % at 96 and 145 that we move the things normally found there down to here.
 /grave /quotesingle 
% 0x20 (ASCII begins)
 /space /exclam /quotedbl /numbersign
 /dollar /percent /ampersand /quoteright
 /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
% 0x30
 /zero /one /two /three /four /five /six /seven
 /eight /nine /colon /semicolon /less /equal /greater /question
% 0x40
 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
% 0x50
 /P /Q /R /S /T /U /V /W
 /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
% 0x60
 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
% 0x70
 /p /q /r /s /t /u /v /w
 /x /y /z /braceleft /bar /braceright /asciitilde
 /.notdef % rubout; ASCII ends
% 0x80
 /Euro /.notdef /quotesinglbase /florin
 /quotedblbase /ellipsis /dagger /daggerdbl
 /circumflex /perthousand /Scaron /guilsinglleft
 /OE /.notdef /.notdef /.notdef
% 0x90
 /.notdef /.notdef /.notdef /quotedblleft
 /quotedblright /bullet /endash /emdash
 /tilde /trademark /scaron /guilsinglright
 /oe /.notdef /.notdef /Ydieresis
% 0xA0
 /.notdef % nobreakspace
 /exclamdown /cent /sterling
 /currency /yen /brokenbar /section
 /dieresis /copyright /ordfeminine /guillemotleft
 /logicalnot
 /hyphen % Y&Y (also at 45); Windows' softhyphen
 /registered
 /macron
% 0xD0
 /degree /plusminus /twosuperior /threesuperior
 /acute /mu /paragraph /periodcentered
 /cedilla /onesuperior /ordmasculine /guillemotright
 /onequarter /onehalf /threequarters /questiondown
% 0xC0
 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
 /Egrave /Eacute /Ecircumflex /Edieresis
 /Igrave /Iacute /Icircumflex /Idieresis
% 0xD0
 /Eth /Ntilde /Ograve /Oacute
 /Ocircumflex /Otilde /Odieresis /multiply
 /Oslash /Ugrave /Uacute /Ucircumflex
 /Udieresis /Yacute /Thorn /germandbls
% 0xE0
 /agrave /aacute /acircumflex /atilde
 /adieresis /aring /ae /ccedilla
 /egrave /eacute /ecircumflex /edieresis
 /igrave /iacute /icircumflex /idieresis
% 0xF0
 /eth /ntilde /ograve /oacute
 /ocircumflex /otilde /odieresis /divide
 /oslash /ugrave /uacute /ucircumflex
 /udieresis /yacute /thorn /ydieresis
] def

%%EndProcSet
%%BeginProcSet: aae443f0.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10
%
/TeXaae443f0Encoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa
/lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi
/omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf
/arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft
/arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle
/twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle
/sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash
/greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N
/O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow
/slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p
/q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector
/tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
/.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta
/theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon
/phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: 09fbbfac.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9
/TeX09fbbfacEncoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown
/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla
/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam
/quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon /less
/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright
/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l
/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright
/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi
/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown
/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: f7b6d320.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10
%     cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8
%     cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10
%     cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10
%
/TeXf7b6d320Encoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
/suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen
/period /slash /zero /one /two /three /four /five /six /seven /eight
/nine /colon /semicolon /exclamdown /equal /questiondown /question /at
/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X
/Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: bbad153f.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9
%
/TeXbbad153fEncoding [
/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
/plusminus /minusplus /circleplus /circleminus /circlemultiply
/circledivide /circledot /circlecopyrt /openbullet /bullet
/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal
/greaterequal /precedesequal /followsequal /similar /approxequal
/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
/prime /infinity /element /owner /triangle /triangleinv /negationslash
/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection
/unionmulti /logicaland /logicalor /turnstileleft /turnstileright
/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
/backslash /wreathproduct /radical /coproduct /nabla /integral
/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
/circlemultiply /circledivide /circledot /circlecopyrt /openbullet
/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
/lessequal /greaterequal /precedesequal /followsequal /similar
/approxequal /propersubset /propersuperset /lessmuch /greatermuch
/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: texps.pro
%!
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
end

%%EndProcSet
%%BeginProcSet: special.pro
%!
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
save N userdict maxlength dict begin/magscale true def normalscale
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
savematrix setmatrix}N end

%%EndProcSet
TeXDict begin @defspecial

 /DvipsToPDF { 72.27 mul Resolution div } def /PDFToDvips { 72.27 div
Resolution mul } def /HyperBorder { 1 PDFToDvips } def /H.V {pdf@hoff
pdf@voff null} def /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
/H.S { currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF
/pdf@hoff exch def HyperBorder sub /pdf@llx exch def } def /H.L { 2
sub dup /HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint
HyperBaseDvips sub /pdf@ury exch def /pdf@urx exch def } def /H.A {
H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt
sub sub /pdf@voff exch def } def /H.R { currentpoint HyperBorder sub
/pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch
pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def } def systemdict
/pdfmark known not {userdict /pdfmark systemdict /cleartomark get put}
if
 
@fedspecial end
%%BeginFont: CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
/UniqueID 5000820 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD
5F3D999EFA3E40D4C38BED0D7A872251C333BA38795F6783D83611E7CE9E146E
537483C41D947F2E50AEC949349321A32EFDBAFCA64A0F39824B350F095D4707
604DA3982669C5EDC911D14FB536BADF6D92EE1FEAEA37FA0314FDF47F478F8B
82ADE6BB0572B4D59EF1AAE6E422AC4BB5BC4E76480FFFCFD83C24EA5433F2FB
480085EAF4F909107F2664F8945891393AE01C4E028C48BFE1E057610AA6E687
1189C983219E05511E24053C8449DEC88BBB16B1DE62526B82A14C2826A92DBC
92D6F49F965B648EC0A8326E44E86E75E6B22927D200EB2939A8FF1976D83EEA
05DE5D5C775C3CF2C2851A73DB55850AB9C2664385BDE14390D00580E8C3F927
766A8BE1042F5E6DBC3647F5B59C4CA091E9E90CD7CBDF4F51E1A35028EE4568
6D0F6C27727A885B5F4335D4905717AE12C20B066DFB37C2D7EC40878FD9676E
595A457A1944E84F4D067ADABF3CE385C120C6F4692E482E473041355F9B038E
0D713B41D9AE558425071A19
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMR10
%!PS-AdobeFont-1.1: CMR10 1.00B
%%CreationDate: 1992 Feb 19 19:54:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
/UniqueID 5000793 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3C8578EF9A20A0E06E
4F7ADDAF0E7D1E182D115BF1AD931977325AD391E72E2B13CC108E3726C11099
E2000623188AAAC9F3E233EB253BDD8B0A4759A66A113E066238B0086AC1B634
5ABFF90E4B5ED3FA69C22541981B2BFC9710AEF6B50A8BB53431C7B4D380D721
639E005D6B4688EE16BFF48443E7C9E5FB5BC5883E271CB03428966C96B6988B
2C9127404E8C64B122D405610B1207E61D6CB678BF414E64299C22D6B8DA233B
8E0E897EEAF81E43E962BD1DE1D8F24C8350761B0E688E433D01BCC9ADD5857E
BE9564F01D501D5F99C4272CA490100395D23DEC1BE59A6DE8D20B90C61434C9
062B6856C5C61184BD58F20E01B447F6140CB149BD370D59069F121FCA8AC937
4A86AF9E00E141BE1F2B0DEF30A4AC17817E4B58B1A8921B990F237E64A938AD
284A1DAB4F3BF58231B22F57219F9BF0E38585D631CF24EB1DDCBB1EA6E3DB31
88D7C3F8D9EAF27F7239557A2D2EA7AC5AED0DC02CDB0A2C9E4D64C24C3616F3
AA98D473C46596DC975C149FD66CE806C4529D92B0173BBCDA0D18B2956E0F51
179D7861557A915D2AA59CE21800265DAF737E83C7B4E9C41F80195E51A95158
F9CEAFA5ABDEBCDF332BC7107FEA70FDE84269ACCD15BB35D961846217D54B02
88995D6A3304BF88EEA7ACB9C548195606C4E601789F3562E89A69C40BEA9167
D3F49BF39DB2D57630674554F297DA605A079220182EA752B31072D46E091410
D021BFC8B8A1E4D6E2AC110AE143BE32F407F6AAD2FEE259839BF6AEE1B7FAC4
7597F8E3347EFB48F3DDE6E9198354D1D408AD5657D41F5D11FE6B805FBFA2E2
F92F6332DDAD4AE77D30758E37B67866D6CEA29B6027812977B8D68A570904DF
47550EA6773ED0DFE830F8B80BBECAA80EC33DC5ACDD4E683E5B688F5D1F14FA
A5778EE610C3FCF3429021E2A014F8B0B97BEAFFA7F3868E61B35678D54173BC
93A7BF29949C2814BB364594DA9ABAA2F2AEC654B0FB8C022B5775582D8CBA0D
D1AD19333BD74415F40C24E839E48B674B003359EAB05AC8A0ABD358DA7E999D
1AFE8359E410DE798A76FBF289C701E5DC730913F6FC2FD9693C34013B47C8CF
84670F3925D2FB69CA3C2C61029C9FD1066AD2C1D640A556E226D7056118CBBB
CB4C859D64B04B08751F3EFBDEF6F1F352DCBD682F73C89910D7A937D07ED50E
5DCA560DBAD3A96F708B639F62730A566E7D4D3C6C89BF3868707B721ED3ECD8
F185314C9D5B4E8456BC0B096F99F1A9AD67E40E0EBF19B06BFE1DE82BA32980
AA
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-4 -235 731 800}readonly def
/UniqueID 5000832 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DC
FF798F2ABFC4F3539392985C4CB324B00072295FC160818BB0355FDC4F12E39B
984826450553E3D271F03D8DC2D12A92A4D32034FD16DA13B876DF448467B625
2BA3AEEEC60550844F5300D7FDCBE636D5951411C6F46CF31F03D3517A96309E
02D0DDC6D8C0C89D2FB8E4412BEC66D17F41F8080421508CCDAAD3FF7A56D365
2E26AC2815B518D59BE84245FD6631EE73EAF3BE24749C77B73FFBF6CB06BC58
1C92ABA181B7CF0FF955A8DA29F117536ED7582730146D03BB3BD8F78EE53D23
FB86AD14321792A02D3AC0B5F092893B8E794A8EBEF6C27AC845341C42B5A3A7
5F4E0503B689549956E1E8BDB956F8A0DB4097D3F3C3DB7E790548EA563A9064
13412F7046CE91024D85A7904266ABB0916984F7CC897996403009A0CF038F60
9691D46D36C9E44B1FCCB664F3C4CE59ECDFEAC5B1328DCE8150A80D8D3EA38F
D8F7AA322C87DE4B63A466F2DBE6CF06444AF8B04DB5CFFAADC3B41087F68326
C64397D3FE523A8C633407C74D939BA8D3A59811B2C3BAB68598FE1A396EC727
BB76DBEEFB43AD7CAF4F67DE5CAF94525A13219303CBBDBFFF5226B37A12A825
14DB9B144641A5B5FDEA9E0E3729A0C1642F9E92478DA82596ADB0F4D7D3DBB1
0F7F46B73AE32DBD40DE106093A3E5B1FAE73E36B3DD2B06FDFF75A74D09CC77
6FE24D7B8570384920F97BB3B61440D03C443B9AB845D74581506FBF42389210
5CFC9CD11E0B290F32D4FCE38EFF176A3F94B0EE343F97926EB77A87F7C3174A
EAA273A07D15057253BB7B201D64A88705115E827DAC9484667169699465AD6E
DC4EBB4807163FEA3BE751DD38532E01152036AF77CAA574919A47D207439C42
602B573665ED644B3B345FC1E0CEAB244A45B281739E49700D090B27868AE86C
BD1B709BC93BE9A8A9A6B136D83CEA8D9691E64833B16F5BD0CCBEC9251E35FD
A90C35BA35FB21D4D69970BD7E1CFBBDD10555C784C633425E9EE81724A19ABB
7CF38AE2E3CF740BE6BD4E3568281F8095697C65AD47D495CBA676EF40F0B1FD
936B691C913F9AB2D94C49731AE196BC1E5BDC14475DD84F191537868B71C322
102F98DD2B2112ED405240A6FD2D978D59C962F462855104EF091F9681798132
9071596DC768A9A5F97AD6B8E03DA12FCD816FDF771F8841C42568D0865454CE
5F51B3FF32DD31C08185D082D30084D7A01E6D10225EEF66710E240624D826BB
1B67FC08FD883CB4F7BF141146E4AAC60518B6A48A442379C909149D9CD3A9DD
FEB0922413406CB2EFAA92C305CDBAE3999908DAEC0224D3E4058E13234E4D0B
130B526B32E584A8BD187B402B79B6073AA41E82B2A90CA92B5203FAEB01FB28
FFC3C40C01964FA951E9355FAB886880B7AC22E4A97E393DE7D944566AEAAD25
D09B6607A1D36AACCD897AD6326A7CA0CD8E353FCCD311288CEAA0D6B1C07051
8181E63C7F43591077F094E614FC4B69BBFE316352EC009A548D164DD0644BC1
855C9B9AA37A4CDA9ED95C25CD349CA2D1CE8702B6225FE4296BDDC3688CD388
506DA287D773851052881FB94E740E775D8FAF07FBDCF305ABB2A052229FBE92
92F40FDADEB1F6607D2D97C66C9653CE8BDDCDE8AF24330CB7FC4F25B0AFA2F9
75CA09BE8722864055FAF1DAFFA43B810E68E68579A50E105B8F14C29C8349A7
4F0392CAE19BA887801A1F0F6AF05A45311735A1ECDDCD3B82AFBC3FED70A08C
D0A0DEF6D595576F4F8C5F047EA48200A510327726B7996078820057EA17CB5D
8272C7C38D6893D0DCB9B56C4969AC413CC888A082CEF94DD0DB518D011F1118
26FF66E107E88B9187F0F236CA0218CBEF4B532A106ACB6A74FDC8675EF30837
F6BD9AAFBE6DDB238227BB28D60DBDA3001CB2336BE3C4C263362CAC9023E01C
E05A32BB68217CE6C1A8CADFCB97DC65C7697790CDD284E2DC8F3CDE3A29548F
F4A0771F20E5D38CA73585D7C6D20FA7D8D3090D10DC67A131C22D60598426A9
C98A451F7F2D5BA9E58049B9402510B59AC71928E07B4B101C99DD5113A11059
A116FD045810A9A3149CF558818E4B3F03C43016C6D3314A68A891B8F5C3A6C9
E44A12EEB1B8F2C4D317E1E6A23C44B2F838D18B86B0A3378AFD9CD56FFDC5C6
55FF9BF06EA28AB8DCC1754D59D15478575A70315F97B0045526D664DF74C0AB
98EDB5BD133C3B102CBB7116C09184603915B00D9236FE8B33C9EBB860A4EF24
1F1FE86BAB362602865110C9D0FC3657E8365252AA58B663D129994644FA993F
F5B8085F898315F92F526E704D7991D852C960495A21FB57B431405290016ED8
155C2FD45EF9FE215F81C3C1968F22E2913A4ABE76AD00DF98B8B866DFEAD42C
58B62316D39364D53B1B8804B3B86ACDB09D397C30575927539E4D83AC1B11D7
0BFEB0FAEB5D8134E80AA656F41B75445F01DBC4D991EBCDB3DEF2046A2471A7
626D356F80672FC100CFB182DC7A71FF2B6F79D09B1753C79A4064C893E2840A
BE467AEFB649B15BB0414765C2386AD380B490345B3A0A46C3FD6DC04A7B4E99
52C17712D3A72105993CA807FE2F02E3081DE5F8C0905A7F59B91A29DA17097E
72D5A3F898EDE207389D5DB7177879A27C09B6088575794FA0E0999A5213C94E
C1F7D086FE0900F4AD37A73D487E39B3A0F50999AE449300144A8468DEBC88E1
FC3AA0F37F59741E012787B4B0BDC6FDB9FF67A27546F45ED7772FF4C4FE81A5
9851ECF941EFA4EA0C6E43BF52229CC80F82C0C39A1546D8F43C420B6517C807
3A1D3E2F13DE14554ABD965931067FCEB11E000539E3CC0BADC93AD0F4FA5AA3
CB7AE61C7124AB3C31694CC77C2FCEFB6D4A6C9637BF6D72CD4EF22E699931EC
F04E82C19F9A758FBE5D99BB035CA5952BBD036288649E4D86E55E9A7362F4D2
DAB9C9025F7B21C3C4B17A2FC0872DECA91F2A07673184B437423502DD67829C
466B72C0C5347E396C0447B69FA337DE4C93D2C100BC5ABB8A9C7F770A3406B9
615991B1CB7D1276C920A556DF22E0B9B4DAACFCABB460F0BA9F7D349F6A5E35
32932F2A817544DCA54A1CD612656B4A58D07B277AAE7B6CF766A84BA37600F2
E538AF00CF3F44A6FAF4FE4C16C280367172A1208F6C4E4293C5F9B86948C2DE
ADC31D00E216F701A0BCF7C05AEC7B869BF309A2723C1114D2258CFE9F23E477
C3A9163BD7ECA67FA05989BD03DFD449F10B31A5E2ED47FE8A5C728D2D0BE932
C6D22A6E5AEEF1E36FE833C748ABFD4CD7B47C43C8D5F04931D530041A66413B
B226D4EA2A4E6DEFB5BB405E6FA9B55E1F38F44AE4B1787404D7B29D53110C96
6D3B3988863114E8D3DBDCCD340F071F6D0878E052548F071CA5F5E95874A76D
25F0D549216C3EDA673E7B48179E724B614013FD285C8DF5892D261A3E42F662
778D6377450226655DA88BDD4DDDC1CE3268A567ABD16D23DCE8DC5EFC65C277
315D2F52E7D731B3E736DA127083DB6614408B5D3B465629E742AF5617E46614
E9058174D8FDCDBEA858F8E684256290983F1B6878BE93ADDA0E6F01E1AE9675
944796E58043AB149240F3A0D67C5722927C9AA8A21F069DFBC9A00DBD7E7D3C
CCDE58B4B6F7BCA5249F905B4100241E8AA7A8830DFC48AB187993A8EA9C53A2
A46E553FAB76FD3CF9CEC9AC70768B909599638CC99AB6067AC7F027603C5946
1111B5F55368FDEE83C9960E02798E5059E9D48E1E7DFAA2F2D34B7E6DCB6CAE
F8758BD829030798C9E8E535EA232E7E7B9960864A7D5F28B60758016199D1F8
77BF3113A66B5E93F2ED2B04D74B4223ABD399B84EB964638290930D30396428
544110D132786A99CFB2C1490297EB89D668968442FED549B7E88ACF226D84BD
3268C8B71482745D1A8E9AF87A5F05C95AE201D8E7EBCEE7D217DCF6D5BBC1AF
493800FF3479B6A0C2C1E02E37BC3CAD926BCA7B0E67CD0EB4C55D776B9D6A12
E26180401CA20E24A54DF615D9075B082C3C63BA818F9B065D373251DFC2A5B0
8A986ED4DBD70327363A6B630C4D41C5C9E4623467BBA9781572704CA1CB113C
6F0CC36EC191D7D70A067E6B27D70EE96D514500F15702A4716411E86539936F
F700CA5916A0171004B2E0658F31280194F8D398899740653FC51109F805D619
9BF642C34D3FD15C491C05BAEBA41888CACEE664B8DF67FC9ADF74161EBEF2C5
180C93495F57BEC8578927F431A3EA5B21E59B711D85F22334D9C243033FB80B
175CE9EFC3655992555766733C9DD39CC0894D1766154240171D324551927215
65BAA3B03165A680A027513C061383BFC3A4B8441A54725B53E6E95CF20447B5
1536FC43B32DDC9D621A5E30505DB3B1D6C6E02FB8B746C4AE0FB4F06D0F1E85
FC386D95D23A8364AAE58AF6D0CD13D5E97B3A4C390D9657B969865C38FEF7E8
E4B6BA80A368C4BC1A9B97CFFB31B0A85ABA929835919EF2634C60ECEA5B9916
DC1B4E19AD654D7701A300862770350919CBA6018731C1820943FBC404E7D442
F52A81C85E8EB59BC393C5A54AC5EACC37B2204E92B6A4EFEE16FC77B19EE1AE
DC1C08035F3F8ECF7BA0351B36A7C364C01CC7F339267DDF29F87261F8620A49
DFE9628BC7CF7ACEE45367C88ED142749BEC78F7777118ABC1C95A33BFB3DB24
3F0FC24FFDA37C5D5CA5CB9A3ACF99318D8FD2CE01E86C1E80D4BB82A3AAAA53
8783BF1CB9D10C9BE9FBF3DA8F2AF1E8CFEA6668FA79E1E41A89533A3A62FBD2
1DBB4D5BC2B8EDB3583098E0AB443A6F25631C2D35F215D73C0CCE89B64F430E
65CCF64B2541D947872BB431495BE97D703E259328A3EF50FFD2FEF59CFDD9E0
B696D4503EAE2CD38F4C8EB5C8CBB03B89017C0A54DB2F970909554531AD0F67
58233CC193D8787ADDFB98E0E9A9E26802A784C152AC759ABA8E4D98E7FE40CC
55605D2FE8C92948D5BBE1AECA3C40952A982A377BCBEA3624002D9648BB154C
B5C20699C8820358F35FB6133E431E2326DB213F907E59E7C894FDC4B49B72BA
1896DF74B90D8AA05EDA7631C38C79C813C7ECCC7F5FA5B14B1F41A738C26CF2
54DC9E38FD8D84EAA2A84F0F70525A33BA8D9923243FE8B83465D202A3BF1C44
04875959C3EB79F030F539EF0A0D2D0D21EC276E7784AD5451B8190F83BD1915
7E2F395C3CC8FBE8E7F3EEB3F3B69E19E5CB8EC0E9CF1A5C984DE83570FF2B4C
C6D63A61B7CEC4ED7476356F9B21D17B0F993EBCCF4BD8996C30C8CA82F25D66
D405C82ED7CE0B56CEE983E10A6F4D0CE9B4FEC99E730E164A057E5939164AD7
8AFDDBF963BCA391CD308C56E97E92CD2D8CD6854C10E052A7870C847D389946
B9933B915C3EB9DDA4F4CEE97293B3584CA896BC32888E066CF965F4BBDC5D53
E8A1A4638CF9E55EE5F73D8B66ACB3FDD3E172CD3BE30078A61D464B92949ACF
455B1C18604DE624A0715142A6A4DC415E059184662BCE925E6B4422F509F8D1
A8C84874089EEB3557E2FC0D9E094138DEF05E5B69D49AAC2AA04AFE06BD442C
569EFFF978A925DAA3F65B8A06C1FE326EEAA24DF6CF8AEF639B1409A6654BC7
8B0CE14EA70DF71D051EB0DE8A7843362CA80B80633B7E8CA2261A4441595796
FF827952F5C69505667EAF6E798C7954559C5EA848CA9D85BF1566E3B6AC7343
0D5EB2011B74811F8D1E374C0FFFCA027C82082E80EDD7BCE926280236447D74
D1AF9233DF081D6F4D254553492CAB104D0A1E6DB53D0790B4583C88D3384950
382795B1DDD1A7F39CC96BCDEDF590F195B96A4E98C85DE8BBA2232080AEF81E
6696FF64E77CB6B1D111644EDBF33468ED268AC21FC4BA5C45565C2935C92BCC
A847D435BDB86E63DE92B2AFCF371E6BD25717651FCBDCA81FDBAC9EB15449F0
7DDAA0F8744C07BA2CADB9175E107BE62258F91BC5C8839563A9B3D2A444A061
61D20950A6612E7E7CE30050AB22D60B7DF17D8339804BC0C20997262649C2BD
C3AF4FC2F5D1BA794630D7E9F90DF2E42069468D0DB626679D1170EC00B3B71B
9EDAAF95632CC143B0537823CC1911CF5016DFBA9B9674EA51C0B8D2F1448DDB
EFCAC1098D13E900739F0A90CF03BB7381AF4F396EA749E3D560472934FBF960
C4D0B4E9978A5E3647BB09CE1A626F4ED17E78DF8D214C1CEB514E4C4BAEFC5F
745A91CE75104303127549C460A0B286F9AECA4DB6D5ACC84FC97D794E08454A
0510C235C17994D2DE568BCE2E941F6D158CB067388DFCB2915EAEF2FC01ED2D
3817FD18D9CF55D689CC34D40CEBC318CF89F135BF85F154C5624E495467EBA9
5CCAF115D50B2B554F49416B2A55E6586BF541619EB20A6D1A39E40F6A5E5909
A1BB769BB4485A68D97892247B82830E83329A59E4F7AE9CA548312BD2135AF7
6C07141838A731EDB0405E0524C124BAEFECA98A80A87F76414253BDE99F0701
0006EE3B407CC5977D6936DA7456DD6DBCA53C63C8BDC59BC746CE9BF7F1EB57
CD5A192CD1F6BA819EC6E6EE6B98E06049E52F30467C8F9D4AA37B27F9FAAD44
4C326754751EB155AAC21E6E2D69A4EB8E23FCFE8916B5C66A21A68D071C0BB3
08E87AC148DC1F9F5769DDE418B68D10C83C1BA0D2E185B3141DB2AC53125B07
18C6EFA8925A004F760306298207E78A66FA3A365845EA12CD3FC331499933B7
56B5371BD50CE5E219D91568FAAE4DDDA7060F4809DB3784066803B01A5AFB85
1E6616B0B7BA0EF7BA4C82E1130A55EEADEA4FE2E84F858A8969153D5B630755
C5EBBEC208E741940B71DD4BBDE45A5AA65761CFCF3FBC1F3290B5B457313AC0
9D32C2917140584D93EAC138719027B2D2B1E20F0A1212B2420CC763D54B853B
E088460ADE436997A1DAD8C2C7154EA35D013A20EF7661F4B213F45A144F6E34
AC57EE12E732847A1544A1BC43C95EF7A1D50D2EAA078ED86F6B673C5E93DDC1
B97C67788149520A6809E34F38E06D5E1A0331AA615B189C6C073BA934B4433F
0C7990584567DC2476F1AFDF42EC19ACCF0558371E340924582B1C237BAF15F2
89D2A03FA3FF9C41D3084987C7C89A18755896D4BBEF7201125850187DA01715
7031B2961E047E098BB491E5A51AF3AE1548AAD4B2AAB1B640C3D52F9A82A14F
3204C6C1A58594CCC5D80E39F49190BDFBF98A844D6067EC97B6D38821818643
8FA65F2A0A5133DEC9444C71FB20C397C6A8072B92C749EE8F5C3C4BC4D84C95
7607987589C1955475F8B0B72A7FD4ED5E182C01AC6A3121D8B40C8582AD0905
72189E1D8EADF6DDEAE5DADED920610D544C52C0F573CF51B43A4C521365DAE1
C276360A853BA82EF944827942E97178861A2B2E7D58303762AF8456E7B64C93
28D4394F0D2372E576DC721EF76990C535551FB0D914CAC9893CB8F3BB2DF98F
6D2FC0A849689939A596B46399E029394793AEAC4B73CE3813E7DFB70188CDBD
63FB697638B1209DD6376DDA713D630E40DDE68B556E42356F5FED08449A55FB
1739EDF3B845DCFAC9F6FBFD179E5E96307BC6F3444F05324345D916F5F600CE
3F20C79B3E3C33A341DAEA005BC51042C62062D781257C8BEBE1CEEBB1FFC37B
074B5B4755C3D15452385BB2C212886BF386CCE309BE8170DF8E848B56B67131
8462880F6458A7DE0EB6AFB7EC8090BE3EEB6D10545B8798640D7BE4A97FC77D
C02CC5F6FB17C1954D25139A8F01FAC3CDC215E5E36A79F9A8149E84154569DB
AFC3BB344EF9575D887853F7F2B2FC7E81E5C0C2AC593F6A12F34D973C2E4BA7
027284DFE22FD551592764318381B97DEAC2E810EF0650780F077D955E50B4A2
67110C6BFDFA2C00DFD3C69CB26FD28EC4A1EBBAA32A45CAFF03443FBEF2EF5F
0869CA38145B749DE73DAD740FECE007D6144E3BC2DC7A2193C46B7A8EDA8EA5
B2710D9A4FD7BFCC1B9D47225F1AB38CF7711ED557413064F3FE3A495839EAC3
528ACAD9B9DF8D11540AA07FE837F2475A9219E173BEED4473CDEB7FFDEC235D
74BBBFD8EE08402EB0ED2C570BB07CDD5C14FA595CD26AA8EB39149266A157D3
922220A20C47C0861645728286238E4CCA332D21A956F41F99871D1CE0B990A5
3A6EE9283E7E8FFA26843D69F47AF6FA6AF504B1722483C3512674009D5633C2
D2CA89D9BC0F31BF58C37BA760A8F2DA6D3283C61B43BA8DBEE7911065F6D5BF
C207CE7BE6DF47E92441DF5524201F90149DC055B791F9CBE50CCBA598CA9BAD
4ED184F75474919F23A9F8DC1447CB8580CA4EED3EB6F7886986C5F13ACD21F2
26053E43FA67AD442D1917B28B379D77AC0640377815D64E852DFC07E461FD92
8B8AACC1B6228F5AAF1DAE0ABBF59087DB1AB04C451E7B1D60E68AA1D3CA5FBE
FAE9EF3780C6569D5CFF64B54B55B15FBE4B40FC34D4FC7B7CE746DAE459B705
960455D87C0D76AC0A333ACC147638DEB4A43E76E5248D621B0D8D3578A8E5A4
68F9409554BB4A3C806ABF2C97499F7A22B2665EB995DCC8AECC1BD62CC803D9
ED18E303EF2535C8A3F85F246F3EFF01898A6F40CBC0EE0A05079556FBBD73B3
3987255695869DA8BF9856F90E55DBACFB3B5F6C6620FEA578A1B50C09551F8B
F7D5E3FD74E2A2DD970D9362D4700AFF1F43BF426BE87DF8A93A5837758C1B4E
D81147F3330B090F9AD54AA393D4D50FDC6399DA5C149050ACD7D7D29108AAC3
984FA420FFAE2A6CB91E796E94C99648417B0B8215FCF525A517C672924DDCF7
873C4671DC0BD349F95A7D108FC1771100BE946469DFDB3F32D52991C6855827
ECBF77DBF62C17F15FE8DCBE71A7E917C04737DDC1E291878F78E4E2F722E6C6
89DE33A20A2CAE59F5B5D5928E9F2B23A7712E2EBE55415E35BA00587DE8902A
0CD996541FBAA2E76EEB087354CC53A21D98D8900355271EB825CA853245411D
A62694CBBBBB1444E6BE25059A98D15B6DE839E1849C2674AB3E55808899F39B
2BECF86A226967850DEDA652DC2ACA857400F762512CA0DA477C46DBFD12B7C5
CB80DE66D79B7EB83509108B0F350309C2AA60A2BCC5C93B2546C2B801419F81
C46FF0E3DE49B873621A048F8E6B4F857184B1B6548B6B33634CA9AE246B79A0
258D71F2A240973F76C56F8740C4160B2725CA92EFF435BFF652B52864DD04A0
616831A3F5D7387BF0764A78C4A4F77D400827D73EF74AF40641731A178B35A2
A891BAA0A6F1561179E368C6D1D854C781458EFE7CF5F7ADD0237E1881B47A28
320C1A3144CAD6B4E980E1D943460117588E6E32A614CD404E072C489D18938A
BAF5C33D23684AE07D8FC6B0C71811BDCC6B78C5A772EB4CF405811CA68A8FF2
19767CA08EE54823ABBB73C7FD60DF82022B73EB3848F13E5B2F7BEF01ED3F8D
C56A28B9BAF4DAC4AE29170297D6CA1B20128BFEEC98C72B7877B6BA5BFF5381
61BEB444AE20909C199F425268C4B736FFAD530C0B782F2E661F43836B575DD9
2D10EDFD8ECBC506AB722B724C91B00BDDE0E68AA46314B4A16650ECE237C136
5C2108BD40EDFBA1906D33DE973CE4ECFF88B51B405DFD3D002ABE219DCBE5F4
D75FC766D196ACC672DC6E0BEE6A214031F837889EEE88F666DA270C77A23CBF
E8DD2CBA9035ACB2B4D65E9F805983751B67524389E7751D525481E1D113EB34
65C8BBE73C8301CA2326D9B663F25CF977990520EB6DBB54015C5FB5B8416910
ACFE023BFE08A6947E8DA306485B3158AE8CB01189944E16ED00BDAD5A987C57
4A63F88A149C3602008C5B20619CE94F0D714907AF91A92F1F5778F3C2285AEB
9E5FD5FC84DDBBF8154C133CA5B234282E3E3B534B95661E7C1F96014ECFF46F
511E6310640EFF13047EF3A7274AC01E71420936BAB536733FCEBF27542F1F63
22870A8D139BE80472AE6A03C7A79483F8823198697066EB5BCB6DA3319D6188
2CB5617A6F2B665D1BDD9080B5BD8DE3D2FA854A3A8918CABBE5A3F9E1516733
CBA92C988F6F9958D1E3CDB26B0985727C9708510D2E6AA28DEBD1C132101D7C
404B62964C802A771897E8E6F272E8D43E96415494F33E48DBB4C6BAB6F27073
DDFF054F591837F3F176215904185B9BB69632D87EE5E08B497AF5FA1D0FDFF7
37F94589147A9A45FDC3437CDE7E7E03E87B6F92B5541914DBD0D4CC075AC5B2
B5174D1541EC0BBE03A436809E1AA0D900A1628DEBB1F2CD7D26A47A58F579BA
03CDAF4334377C1C2804D01C6F38A661A889A476AE500E79440B2ABCC453F001
10AED42C4DD7ABB850ECDB821A739CE4FB129A0710580B456791825B2991AA89
6BF1A6FB8300C2F0EFCEE08CAC6AA7DBB0F0BAE8CB9E71E9967E1D964113B93A
3B1CE1D373E9191209B1506C5690E6E605E537C2A861B1E8FE203498C6186A9F
BDBB0AAA95337C493D377B611D3BDDB5B53FE4AB3DE42E348E633C0A5146A75D
209FC46B0C6F56A14D30FCBE3D1C3D070C7CA0A9BB89F7721CD868D0E5794D02
F0913D7269B8ECC6497495BB1905EA6305B50C2CD31B772200D141BE816CAE32
69426AB01DB5E90004EFA596ADA987D509C00ED0B3E8DA50A26AE9D17C80F57F
4E15B16755085CF7FCE3BF73B954BF85A106018A4E6CD84F18F2624C51F61A23
C3720757473CFBD2F6013002B622BAAFD178145A178DCA86644E09ED39138BD7
74FF313F52506B63221AE97BA0070FD0BCC7CF0972A0974C2EAA2F0E2DF27FE7
E68D499131A2CED3A877795C04E5CE6F79477E4432680B832A81BD73DA305B13
BF98ADE18C0A8931992778AF8F78F35A054EE81958F494522BB6ACCBC49DDB57
D24F444ADCE0E423F373A9CCA6924325B52872BBCB4BD4EA5126218CF7A03412
24A74D50BA9690ED6659230214FD0147C1053E706040952F471E6BC5357A10A1
8F4B3A35CF3162F225F43A9D8CFB89C078AF751EFBDFAC99C999B72989B18B1F
4267DA3CB2B891E52147EED2CD8CAD963B093AE9DCD7BDB69922E350EEBB9FA4
F410DB3EA5429B5A1D2CE1830560B4269AA1141F0E5C90482FE9989021A54AE8
1ED079FDA5307BA5B0E675D444116F61592DBEC8EF080047AFA55FD37BB10693
936EC592C5F071EC9D54D3AACF0F3C81B5A8D58139633BC9C7E4E7309B0FAFC6
A638FD392FF2B777C29390FFA9AD70C1EBFF76E8531A814F6613383AC746E41B
FD5F47F31AA6F550105F8E2223CD286ACCA40AB62EB6908C0A2448103A6883EC
E0F9BE0A0AE44A2E5C630E0D83520755C00A1C1102E525EBEF2B4FE3C32273E9
48BB27F555780BEA1CA81F43595A8A38B386ACD26752B45557205B21B2BDF915
9B780D070ECA3F6407F581FED7294673DE50563EA3A14E92719E262B5E4E758D
BB5346408F536E12B15BE38C82AE468224358C57D13EECF17DDC4F7D91C5E7C2
5B3365C15AF14D577FCBAC6408C14F4134B227885DB8B29474EE7F6B734784FD
E4FC30545A02CB0B662B04362D16A5FC9CF1B8A327079AA9678EC476740D1788
550B368AEA021A8FEF0D94EFB1D1776844FBF207CA838D7167C1CBFD1DE4EB53
85772AB793335C289366555094AE44E3C7FF4AB55613B1522ADFCC9A6E256EE9
A10930F2F446D266A0AF65BEA12458E3B8E4FFDAFE01B9A8310C364B8AFB1319
571B81BFB2E666F2C02CC6254E933AD682A465EBD75107074ACBB6792257A5B5
51BE834759BCA006B863EFAC26A21934E475AAEE037A74775B451192870C7FCB
DD05DE0389B085A97C88C28F401A6EC1C0F5C96EB3AFDFBF2302925BAF3D4E58
E9C7C61854DDE0F1AE7D17AC021BBE710552710AFA5218CF9E451FD4B4429DE7
F558C48556969DD0F5C47D2922A63D2845BDED57B945550C9E0FFA710A9DEB01
C4BE9B136FD0CB1B63CCA91A17578C15826F3B68938B06A82B36100D13E0005D
C9AA74AC937C22DAE4C112C16DB83789F578AEB9A7DF5AC4ADE62874AAD48313
355514D42659FEB39FB17A4F826188944B4218874F376E192DE01FF15C0A6A03
5180DB62365DCAE97F8D2F6F24C69FAE8021C390785AD47DDF8323B5312A8C2F
399D777162053F61A0FCE02DC2B5DAB388265FBF7FFB4AAD979E74FDFA5636A0
1EDA101D8A1ABFC665D7612F3DE4D6B8B7EF4BDB3F05ABE3EE9C8C195EDA3437
D1183612B07B085D779251C0D4EFF73ED2E370D98A999DA3F1BA20E37B5A6BF3
9667625F0C03049CD0892A25B2C32659BCA374C63C9566C6B4D4792C5EFE7062
2E795413192684A6C7A54EA24A5E0338B9A59D6BABC78D664562375FD852FCAA
5E5E97938ED62F574C347423835A2EC75C016C890296BF36FF1FE82FF83213FF
394E6E771433547950C38F4AEA43BF939E307168056B2A90DB8ADEFBE1716720
9B146069323861342B1B9BFDF47E22E6E709A9B19051E49587CCD48CA87701F9
EFE769BD5CF736B858070FB1F0489C28132AA71F5A62860AD029297E97E8E700
D95114CFAC26C1D5DB35EA9E3133682779C9A79AB20AFCDBEDA882B88A4514A4
B75B77F4C8A09D6E2F34E16D65E569A01A43D682F74825E7EECC8508D731121F
74D82118DA46CB22C3BF0FE22906BB5FDBA561F29EC31A3D4A0C3BBD7475090C
C58884AC36C8FCB07FDD1EF023D6FA8DE5E9FAFB2945DACD50FC15923106C682
8F38FC83E5652128ED01EBEAB3236F4FA87B4882D922BDC974601C05D46019CB
72D459EB3BB41B9D72BE072074ABCF15654803F2030D7D7F0F4C7C20AE6897A5
152F896389B74F939A8123A7A2494F301D07706B01600ACD60D84236E6D2CDB1
E5D02AC300216DB172A026C49AD933
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMMI12
%!PS-AdobeFont-1.1: CMMI12 1.100
%%CreationDate: 1996 Jul 27 08:57:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-30 -250 1026 750}readonly def
/UniqueID 5087386 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
55B50047CD58E912E67E22C1B92F41D0BEE742201DF198F3766AE35EA71D8195
A8C94D661C40D718CB09497485FAA34204229AECFE644C93FFDA54C789E4F751
3D2519F7CB9E79B2ABE3101DF2EBFAD375469CDC687FB3DC2833EDC0F946B41F
F28D72FFF2A9B8B0D76DC542537612E2BE0F3FB9601C897386359C55E867A547
F872005F5C56C6EC5E9685E03D7A82653BE8B69741C4DF332AEEB2AA450B23F3
EABD5ED060606CC7DB1762632EC3C6C4A66ADAF61A97D949DEA5156B4CF34765
67AC3F10AE17199A710A882D47979F9D41AA2CB794648BE47479F0B00E18BF04
923F54CEC1214BAFA39BB65ECB013875899E9901B7882D16D2E2C97AD3353668
A6070081E4DC627AF9192599F5876369908FBDFA11E8D6CB2E83896E9C897CEC
FD1D25651D66A333AF531FF74E1B0DEB1E3D1B5B7D3FB9D1C8BF60517B31C8D2
1C264F44BC9AF3D9BA5280D1618EED96C11ED24F789FAA263394C658DFCA8DE9
D47D9E188E212F9EC1DCF449DFDAB8437FAB9EA9AF01AE1714E8F932855182
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
TeXDict begin 40258437 52099151 1000 600 600 (internals.dvi)
@start /Fa 134[37 1[55 1[40 22 28 26 1[40 36 39 59 19
2[19 39 37 22 32 41 29 37 33 12[41 1[44 2[52 55 12[52
13[33 4[17 22 45[{ TeXBase1Encoding ReEncodeFont }28
66.4176 /Palatino-Roman rf /Fb 206[25 49[{
 TeXBase1Encoding ReEncodeFont }1 49.8132 /Palatino-Roman
rf /Fc 206[32 49[{ TeXBase1Encoding ReEncodeFont }1 63.0968
/Palatino-Roman rf /Fd 134[55 50 2[61 33 44 39 1[61 55
61 89 33 2[33 61 55 39 50 61 44 1[50 12[66 61 5[100 3[39
1[83 55 2[72 11[50 50 50 50 50 50 50 2[25 46[{
 TeXBase1Encoding ReEncodeFont }34 99.6264 /Palatino-Bold
rf /Ff 253[67 24 1[{ TeXbbad153fEncoding ReEncodeFont }2
86.5083 /CMSY10 rf /Fg 162[24 1[24 29[67 17[67 1[34 34
40[{ TeXf7b6d320Encoding ReEncodeFont }6 86.5083 /CMR10
rf /Fi 133[37 42 42 60 42 46 28 32 32 1[42 37 46 65 23
2[23 42 42 1[32 42 34 38 37 51[28 42[44 2[{
 TeXBase1Encoding ReEncodeFont }24 83.022 /Palatino-Italic
rf /Fj 134[44 44 44 44 44 44 44 44 1[44 44 44 44 44 44
44 44 44 44 44 44 44 44 44 44 1[44 10[44 44 44 1[44 44
44 1[44 44 1[44 44 44 44 44 44 44 44 44 2[44 44 44 1[44
1[44 44 3[44 44 44 1[44 44 1[44 1[44 44 44 40[{
 TeX09fbbfacEncoding ReEncodeFont }57 83.022 /CMTT10
rf /Fk 104[83 2[42 42 24[42 46 43 69 47 50 27 35 33 46
50 45 48 73 24 46 19 24 48 46 28 40 51 37 46 42 7[55
1[83 60 65 51 44 55 1[50 65 69 79 51 60 1[28 69 63 46
51 64 59 51 65 5[21 21 42 42 42 42 42 42 42 42 42 42
50 21 28 21 50 1[28 28 23 35[50 50 2[{ TeXBase1Encoding ReEncodeFont }
73 83.022 /Palatino-Roman rf /Fl 134[46 1[69 46 51 28
37 32 2[46 51 74 28 51 1[28 51 46 32 42 51 37 51 42 12[55
1[60 1[51 69 2[51 2[32 1[69 1[51 12[42 1[42 42 42 42
42 42 2[21 1[21 44[{ TeXBase1Encoding ReEncodeFont }38
83.022 /Palatino-Bold rf /Fm 134[66 1[100 66 1[40 53
47 2[66 73 106 40 73 1[40 73 66 1[60 73 1[73 60 12[80
1[86 2[100 11[86 12[60 60 60 60 60 60 4[30 44[{
 TeXBase1Encoding ReEncodeFont }29 119.552 /Palatino-Bold
rf /Fn 135[39 62 42 45 24 32 30 1[45 41 43 66 22 42 17
22 43 42 25 36 46 33 41 37 12[46 10[25 5[53 20[19 25
19 44[{ TeXBase1Encoding ReEncodeFont }29 74.7198 /Palatino-Roman
rf /Fo 139[25 33 29 14[33 46 37 31[58 65[{
 TeXBase1Encoding ReEncodeFont }7 74.7198 /Palatino-Bold
rf /Fp 193[76 1[76 60[{ TeXaae443f0Encoding ReEncodeFont }2
99.6264 /CMMI12 rf /Fq 138[60 32 42 39 3[58 2[55 1[29
58 55 1[48 61 44 55 50 13[52 13[61 77 3[74 5[25 50 3[50
1[50 50 50 50 60 25 33 45[{ TeXBase1Encoding ReEncodeFont }28
99.6264 /Palatino-Roman rf /Fr 138[87 47 1[57 1[86 78
83 5[83 2[69 88 2[72 29[102 67[{ TeXBase1Encoding ReEncodeFont }11
143.462 /Palatino-Roman rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
 end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 0 0 a
SDict begin [ /Title () /Subject () /Creator (LaTeX with hyperref package)
/Author () /Producer (dvips + Distiller) /Keywords () /DOCINFO pdfmark
end
 0 0 a 515 232
a
SDict begin H.S end
 515 232 a 515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark
end
 515 232 a 515
440 a
SDict begin [ /Count -0 /Dest (section.1) cvn /Title (Overview) /OUT
pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -0 /Dest (section.2) cvn /Title (Terminology)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -7 /Dest (section.3) cvn /Title (The driver) /OUT
pdfmark end
 515 440
a 515 440 a
SDict begin [ /Count -0 /Dest (subsection.3.1) cvn /Title (Specifying the grid extent)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -2 /Dest (subsection.3.2) cvn /Title (The timeline)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -0 /Dest (subsubsection.3.2.1) cvn /Title (Initialisation)
/OUT pdfmark end
 515
440 a 515 440 a
SDict begin [ /Count -0 /Dest (subsubsection.3.2.2) cvn /Title (Evolution)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -0 /Dest (subsection.3.3) cvn /Title (Calling scheduled routines)
/OUT pdfmark end
 515 440 a 515 440
a
SDict begin [ /Count -0 /Dest (subsection.3.4) cvn /Title (Grid arrays and grid scalars)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -0 /Dest (subsection.3.5) cvn /Title (Flesh interfaces)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -0 /Dest (subsection.3.6) cvn /Title (Interfaces to other thorns)
/OUT pdfmark end
 515 440 a 515
440 a
SDict begin [ /Count -0 /Dest (subsection.3.7) cvn /Title (Missing parts)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -3 /Dest (section.4) cvn /Title (The workhorse)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -0 /Dest (subsection.4.1) cvn /Title (The helpers)
/OUT pdfmark end
 515 440
a 515 440 a
SDict begin [ /Count -0 /Dest (subsection.4.2) cvn /Title (The grid hierarchy)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -2 /Dest (subsection.4.3) cvn /Title (The interpolators)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -0 /Dest (subsubsection.4.3.1) cvn /Title (Restriction)
/OUT pdfmark end
 515
440 a 515 440 a
SDict begin [ /Count -0 /Dest (subsubsection.4.3.2) cvn /Title (Prolongation)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Count -0 /Dest (section.5) cvn /Title (Regridding, how and where and when)
/OUT pdfmark end
 515 440 a 515 440
a
SDict begin [ /Count -0 /Dest (section.6) cvn /Title (Random ramblings)
/OUT pdfmark end
 515 440 a 515 440 a
SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines  /DOCVIEW
pdfmark end
 515 440 a 515 440 a
SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark
end
 515 440 a 515
440 a
SDict begin H.S end
 515 440 a 515 440 a
SDict begin 12 H.A end
 515 440 a 515 440 a
SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark
end
 515 440
a 1222 872 a Fr(Carpet)35 b(under)g(the)h(hood)931 1168
y Fq(Erik)25 b(Schnetter)h Fp(<)p Fq(schnetter@uni-tuebingen.de)p
Fp(>)1357 1367 y Fq(Date:)k(2003/05/03)25 b(13:29:23)1804
1666 y Fo(Abstract)834 1803 y Fn(This)e(document)g(describes)e(the)j
(internal)f(workings)f(of)h(the)g(Carpet)g(arrange-)722
1894 y(ment.)35 b(Its)23 b(intended)g(r)o(eadership)d(ar)o(e)i(people)g
(who)h(extend)f(Carpet,)h(or)f(who)h(use)722 1985 y(Carpet)18
b(mor)o(e)f(thant)j(the)f(average)f(user)-6 b(.)22 b(This)c(document)g
(is)f(supposed)g(to)h(be)g(r)o(ead)722 2077 y(in)h(conjuction)h(with)g
(and)f(guiding)f(thr)o(ough)g(the)i(sour)o(ce)d(code.)515
2362 y Fm(Contents)515 2454 y
SDict begin H.S end
 515 2454 a 515 2454 a
SDict begin 12 H.A end
 515
2454 a 515 2454 a
SDict begin [ /View [/XYZ H.V] /Dest (section*.1) cvn H.B /DEST pdfmark
end
 515 2454 a 515 2551 a
SDict begin H.S end
 515 2551 a Fl(1)82
b(Overview)1013 2551 y
SDict begin 12 H.L end
 1013 2551 a 1013 2551 a
SDict begin [ /Subtype /Link /Dest (section.1) cvn /H /I /Border [0
0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1013 2551
a 2324 w Fl(2)515 2734 y
SDict begin H.S end
 515 2734 a Fl(2)g(T)-9 b(erminology)1124
2734 y
SDict begin 12 H.L end
 1124 2734 a 1124 2734 a
SDict begin [ /Subtype /Link /Dest (section.2) cvn /H /I /Border [0
0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1124 2734 a 2213 w Fl(2)515
2917 y
SDict begin H.S end
 515 2917 a Fl(3)82 b(The)21 b(driver)1039 2917
y
SDict begin 12 H.L end
 1039 2917 a 1039 2917 a
SDict begin [ /Subtype /Link /Dest (section.3) cvn /H /I /Border [0
0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1039 2917 a 2298 w Fl(3)639
3016 y
SDict begin H.S end
 639 3016 a Fk(3.1)86 b(Specifying)21 b(the)g(grid)f(extent)1773
3016 y
SDict begin 12 H.L end
 1773 3016 a 1773 3016 a
SDict begin [ /Subtype /Link /Dest (subsection.3.1) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1773 3016 a 70 w Fk(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)165 b(3)639 3116 y
SDict begin H.S end
 639 3116 a Fk(3.2)86
b(The)21 b(timeline)1290 3116 y
SDict begin 12 H.L end
 1290 3116 a 1290 3116
a
SDict begin [ /Subtype /Link /Dest (subsection.3.2) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1290 3116 a 55 w Fk(.)41 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)165 b(4)830 3216 y
SDict begin H.S end
 830 3216 a Fk(3.2.1)98 b(Initialisation)1558
3216 y
SDict begin 12 H.L end
 1558 3216 a 1558 3216 a
SDict begin [ /Subtype /Link /Dest (subsubsection.3.2.1) cvn /H /I
/Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1558 3216 a 36 w Fk(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)165 b(5)830 3315 y
SDict begin H.S end
 830
3315 a Fk(3.2.2)98 b(Evolution)1457 3315 y
SDict begin 12 H.L end
 1457 3315
a 1457 3315 a
SDict begin [ /Subtype /Link /Dest (subsubsection.3.2.2) cvn /H /I
/Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1457 3315 a 75 w Fk(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)165 b(6)639 3415 y
SDict begin H.S end
 639 3415 a Fk(3.3)86 b(Calling)21
b(scheduled)g(r)o(outines)1816 3415 y
SDict begin 12 H.L end
 1816 3415 a 1816
3415 a
SDict begin [ /Subtype /Link /Dest (subsection.3.3) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1816 3415 a 27 w Fk(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)165 b(6)639
3514 y
SDict begin H.S end
 639 3514 a Fk(3.4)86 b(Grid)21 b(arrays)f(and)g(grid)h(scalars)
1857 3514 y
SDict begin 12 H.L end
 1857 3514 a 1857 3514 a
SDict begin [ /Subtype /Link /Dest (subsection.3.4) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1857 3514 a 48 w
Fk(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)165 b(7)639 3614 y
SDict begin H.S end
 639 3614 a Fk(3.5)86
b(Flesh)22 b(interfaces)1399 3614 y
SDict begin 12 H.L end
 1399 3614 a 1399
3614 a
SDict begin [ /Subtype /Link /Dest (subsection.3.5) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1399 3614 a 70 w Fk(.)42 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
165 b(8)639 3714 y
SDict begin H.S end
 639 3714 a Fk(3.6)86 b(Interfaces)20
b(to)h(other)g(thorns)1751 3714 y
SDict begin 12 H.L end
 1751 3714 a 1751 3714
a
SDict begin [ /Subtype /Link /Dest (subsection.3.6) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1751 3714 a 30 w Fk(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)165 b(8)639
3813 y
SDict begin H.S end
 639 3813 a Fk(3.7)86 b(Missing)22 b(parts)1330
3813 y
SDict begin 12 H.L end
 1330 3813 a 1330 3813 a
SDict begin [ /Subtype /Link /Dest (subsection.3.7) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1330 3813 a 77 w Fk(.)41
b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)165 b(8)515
3996 y
SDict begin H.S end
 515 3996 a Fl(4)82 b(The)21 b(workhorse)1214 3996
y
SDict begin 12 H.L end
 1214 3996 a 1214 3996 a
SDict begin [ /Subtype /Link /Dest (section.4) cvn /H /I /Border [0
0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1214 3996 a 2123 w Fl(8)639
4096 y
SDict begin H.S end
 639 4096 a Fk(4.1)86 b(The)21 b(helpers)1260 4096
y
SDict begin 12 H.L end
 1260 4096 a 1260 4096 a
SDict begin [ /Subtype /Link /Dest (subsection.4.1) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1260 4096 a 23 w Fk(.)41 b(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)165 b(9)639 4195 y
SDict begin H.S end
 639
4195 a Fk(4.2)86 b(The)21 b(grid)g(hierar)o(chy)1515
4195 y
SDict begin 12 H.L end
 1515 4195 a 1515 4195 a
SDict begin [ /Subtype /Link /Dest (subsection.4.2) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1515 4195 a 79 w Fk(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)165 b(9)639 4295 y
SDict begin H.S end
 639
4295 a Fk(4.3)86 b(The)21 b(interpolators)1463 4295 y
SDict begin 12 H.L end

1463 4295 a 1463 4295 a
SDict begin [ /Subtype /Link /Dest (subsection.4.3) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1463 4295 a 69 w Fk(.)41 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)124 b(10)830 4394 y
SDict begin H.S end
 830 4394 a Fk(4.3.1)98
b(Restriction)1491 4394 y
SDict begin 12 H.L end
 1491 4394 a 1491 4394 a
SDict begin [ /Subtype /Link /Dest (subsubsection.4.3.1) cvn /H /I
/Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1491
4394 a 41 w Fk(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)124
b(10)830 4494 y
SDict begin H.S end
 830 4494 a Fk(4.3.2)98 b(Pr)o(olongation)1572
4494 y
SDict begin 12 H.L end
 1572 4494 a 1572 4494 a
SDict begin [ /Subtype /Link /Dest (subsubsection.4.3.2) cvn /H /I
/Border [0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1572 4494 a 22 w Fk(.)41
b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)124 b(11)515 4677 y
SDict begin H.S end
 515
4677 a Fl(5)82 b(Regridding,)19 b(how)i(and)f(where)g(and)g(when)2098
4677 y
SDict begin 12 H.L end
 2098 4677 a 2098 4677 a
SDict begin [ /Subtype /Link /Dest (section.5) cvn /H /I /Border [0
0 12] /Color [1 0 0] H.B /ANN pdfmark end
 2098 4677 a 1198 w Fl(12)515
4859 y
SDict begin H.S end
 515 4859 a Fl(6)82 b(Random)20 b(ramblings)1372
4859 y
SDict begin 12 H.L end
 1372 4859 a 1372 4859 a
SDict begin [ /Subtype /Link /Dest (section.6) cvn /H /I /Border [0
0 12] /Color [1 0 0] H.B /ANN pdfmark end
 1372 4859 a 1924 w Fl(13)1926
5255 y Fk(1)p eop end
%%Page: 2 2
TeXDict begin 2 1 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232 a
515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark
end
 515 232 a 515 440 a
SDict begin H.S end
 515
440 a 515 440 a
SDict begin 12 H.A end
 515 440 a 515 440 a
SDict begin [ /View [/XYZ H.V] /Dest (section.1) cvn H.B /DEST pdfmark
end
 515 440 a 84 x Fm(1)119
b(Overview)515 713 y Fk(The)22 b(Carpet)f(driver)-6 b(,)21
b(which)i(lives)f(in)h(the)f(Carpet)f(arrangement,)h(is)g(divided)f
(into)i(sev-)515 813 y(eral)i(parts.)41 b(The)26 b(thorn)h
Fj(Carpet)c Fk(is)k(the)f(main)g(driver)f(piece;)j(it)e(pr)o(ovides)g
(all)f(the)i(r)o(ou-)515 912 y(tines)i(and)f(str)o(uctur)o(es)g(that)g
(Cactus)h(expects)e(fr)o(om)h(it.)49 b(The)29 b(thorn)g
Fj(CarpetLib)c Fk(is)k(the)515 1012 y(workhorse)24 b(that)e(does)h(all)
g(the)g(bookkeeping)h(and)e(data)g(shuf)o(\003ing.)33
b(Those)23 b(two)h(alone)515 1111 y(form)34 b(a)f(valid)h(Cactus)f
(driver;)40 b(the)34 b(other)g(thorns)h(pr)o(ovide)e(additional)h
(functional-)515 1211 y(ity)-9 b(.)66 b(The)34 b(thorns)h
Fj(CarpetInterp)p Fk(,)d Fj(CarpetReduce)p Fk(,)h(and)h
Fj(CarpetSlab)c Fk(pr)o(ovide)j(the)515 1311 y(corr)o(esponding)f
(interpolation,)j(r)o(eduction,)f(and)d(slabbing)h(interfaces.)58
b(The)32 b(thorns)515 1410 y Fj(CarpetIOASCII)g Fk(and)37
b Fj(CarpetIOFlexIO)32 b Fk(pr)o(ovide)37 b(I/O)h(methods.)77
b(Finally)-9 b(,)42 b(thorn)515 1510 y Fj(CarpetRegrid)11
b Fk(pr)o(ovides)k(a)h(user)g(interface)f(to)h(select)g(wher)o(e)g(and)
f(what)i(to)f(r)o(e\002ne.)23 b(\(The)515 1610 y(actual)d(r)o
(e\002nement)g(is)h(handled)g(in)g Fj(CarpetLib)p Fk(.\))515
1764 y
SDict begin H.S end
 515 1764 a 515 1764 a
SDict begin 12 H.A end
 515 1764 a 515 1764 a
SDict begin [ /View [/XYZ H.V] /Dest (section.2) cvn H.B /DEST pdfmark
end
 515
1764 a 131 x Fm(2)119 b(T)-13 b(erminology)515 2084 y
Fk(Carpet)16 b(is)i(called)f(\223Carpet\224)e(because)i(a)g(carpet)f
(consists)j(of)e(many)h(individual)g(patches.)639 2184
y(Carpet)28 b(is)h(a)f(mesh)i(r)o(e\002nement)f(driver)-6
b(.)48 b(It)29 b(knows)h(about)f(a)f(hierar)o(chy)g(of)h
Fi(r)o(e\002ne-)515 2284 y(ment)f(levels)p Fk(,)j(wher)o(e)d(each)g
(level)g(is)h(decomposed)f(into)i(a)e(set)g(of)h(cuboid)f
Fi(grid)g(patches)p Fk(.)515 2383 y(For)h(historic)h(r)o(easons)f(it)g
(also)g(has)g(a)g(notion)h(of)f Fi(multigrid)f(levels)p
Fk(,)k(but)d(those)h(ar)o(e)d(cur)o(-)515 2483 y(r)o(ently)18
b(unused.)25 b(They)19 b(might)h(conceivably)f(be)f(r)o(eactivated)f
(to)i(form)g(multigrid)g(stacks)515 2583 y(to)29 b(solve)g(elliptic)g
(equations.)50 b(The)29 b(grid)f(patch)h(is)g(the)f(smallest)i(unit)f
(of)f(grid)h(points)515 2682 y(that)22 b(Carpet)f(deals)g(with.)30
b(Carpet)21 b(parallelises)g(by)h(assigning)h(sets)f(of)g(grid)g
(patches)g(to)515 2782 y(pr)o(ocessors.)639 2881 y(A)29
b(multi-patch)g(r)o(un)g(is)g(a)f(r)o(un)i(wher)o(e)e(mor)o(e)g(than)h
(one)h(grid)e(patch)h(\(of)f(the)h(same)515 2981 y(r)o(e\002nement)24
b(level\))g(is)h(assigned)g(to)g(a)f(single)h(pr)o(ocessor)-6
b(.)37 b(This)25 b(is)g(a)f(situation)i(that)e(can)515
3081 y(occur)f(even)g(without)h(r)o(e\002nement.)32 b(This)24
b(is)g(also)f(a)g(situation)h(that)f(cannot)g(occur)g(with)515
3180 y(PUGH,)j(so)g(that)h(most)g(thorns)g(cannot)f(handle)g(this)h
(situation.)43 b(In)26 b(multi-patch)g(r)o(uns)515 3280
y(one)19 b(has)g(to)g(distinguish)h(between)f Fi(local)f(mode)p
Fk(,)g(wher)o(e)g(one)h(has)g(access)f(to)h(a)g(single)g(grid)515
3380 y(patch,)28 b(and)f Fi(global)h(mode)p Fk(,)g(wher)o(e)f(one)h
(cannot)g(access)f(individual)g(grid)g(patches,)i(but)515
3479 y(can)f(instead)h(perfom)g(global)g(operations)g(such)g(as)g
(synchr)o(onisation,)j(interpolation,)515 3579 y(or)19
b(r)o(eduction.)24 b(This)19 b(part)f(of)h(Cactus)f(is)h(curr)o(ently)g
(\(2003-04-30\))13 b(under)o(going)19 b(changes.)639
3679 y(Carpet)j(uses)h(vertex-center)o(ed)d(r)o(e\002nement.)31
b(That)23 b(is,)g(each)f(coarse)g(grid)h(point)g(co-)515
3778 y(incides)17 b(with)g(a)g(\002ne)g(grid)g(point.)25
b(T)-8 b(o)17 b Fi(r)o(egrid)f Fk(means)h(to)h(select)e(a)h(new)g(set)g
(of)g(grid)f(patches)515 3878 y(for)22 b(each)f(r)o(e\002nement)h
(level.)30 b(T)-8 b(o)23 b Fi(r)o(ecompose)e Fk(the)h(grid)g(hierar)o
(chy)g(means)g(to)h(move)f(data)515 3977 y(ar)o(ound.)47
b(Regridding)29 b(is)f(only)i(about)e(bookkeeping,)j(while)e(r)o
(ecomposing)f(is)h(about)515 4077 y(data)19 b(munging.)639
4177 y(Each)25 b(grid)f(patch)h(can)g(be)f(divided)g(in)i(up)f(to)g
(four)g(zones:)34 b(the)25 b(interior)-6 b(,)26 b(the)f(outer)515
4276 y(boundary)-9 b(,)30 b(and)e(the)h(ghost)g(zone,)i(and)d(the)h(r)o
(e\002nement)f(boundary)-9 b(.)49 b(The)29 b(interior)g(is)515
4376 y(wher)o(e)23 b(the)i(actual)e(compuations)i(go)g(on.)37
b(The)24 b(outer)g(boundary)g(is)h(wher)o(e)f(the)g(users')515
4476 y(outer)17 b(boundary)g(condition)h(is)g(applied;)f(fr)o(om)f
(Carpet's)h(point)g(of)h(view)-8 b(,)18 b(these)f(two)g(ar)o(e)515
4575 y(the)22 b(same.)30 b(\(The)21 b(only)i(dif)o(fer)o(ence)d(is)j
(that)f(Carpet)f(sets)h Fj(cctk)p 2514 4575 27 4 v 30
w(bbox)e Fk(corr)o(espondingly)-9 b(.\))515 4675 y(The)24
b(ghost)h(zones)g(ar)o(e)e(boundaries)h(to)h(other)f(grid)h(patches)f
(on)h(the)f(same)g(r)o(e\002nement)515 4774 y(level)30
b(\(that)g(might)h(live)f(on)h(a)f(dif)o(fer)o(ent)e(pr)o(ocessor\).)53
b(The)30 b(r)o(e\002nement)h(boundary)f(is)515 4874 y(the)d(boundary)h
(of)f(the)h(r)o(e\002ned)e(r)o(egion)i(in)g(a)f(level,)h(and)g(it)f(is)
h(\002lled)g(by)f(pr)o(olongation)1926 5255 y(2)p eop
end
%%Page: 3 3
TeXDict begin 3 2 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232 a
515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark
end
 515 232 a 291 x Fk(\(interpolation\))25
b(fr)o(om)f(the)h(next)g(coarser)f(level.)38 b(Both)25
b(the)g(ghost)h(zones)f(and)g(the)g(pr)o(o-)515 623 y(longation)d
(boundary)e(ar)o(e)g(\002lled)h(by)f Fi(synchr)o(onising)p
Fk(.)639 722 y(Grid)31 b(patches)f(that)h(ar)o(e)e(on)j(the)f(same)f(r)
o(e\002nement)h(level)f(never)h(overlap)f(except)515
822 y(with)e(their)g(ghost)h(zones.)46 b(Conversly)-9
b(,)30 b(all)e(ghost)g(zones)g(must)h(overlap)e(with)h(a)f(non-)515
922 y(ghost)c(zone)f(of)h(another)f(grid)g(patch)g(of)g(the)h(same)f
(level.)30 b(All)22 b(r)o(e\002nement)g(boundaries)515
1021 y(must)27 b(overlap)g(with)g(a)g(grid)g(patch)f(on)i(the)f(next)g
(coarser)f(level.)44 b(\(This)27 b(is)h(also)f(called)515
1121 y Fi(pr)o(oper)20 b(nesting)p Fk(.\))639 1220 y(Except)27
b(for)h(exceptions,)h(Carpet)e(numbers)h(grid)f(point)i(indices)f(and)f
(time)h(levels)515 1320 y(with)22 b(integers.)27 b(It)21
b(counts)i(always)e(in)g(terms)h(of)f(the)g(\002nest)h(grid,)f(so)h
(that)f(coarser)g(grids)515 1420 y(have)26 b Fi(strides)i
Fk(that)f(ar)o(e)f(powers)h(of)g(the)h(r)o(e\002nement)f(factor)-6
b(.)43 b(This)28 b(has)f(the)h(advantage)515 1519 y(that)20
b(dif)o(fer)o(ent)f(r)o(e\002nement)i(levels)f(can)h(use)g(the)g(same)f
(global)h(numbering)h(scheme.)639 1619 y(The)74 b(grid)g(patches)g(ar)o
(e)f(described)g(by)h(a)g Fi(bounding)g(box)g Fk(\(abbr)o(eviated)515
1719 y(bbox,)g(see)63 b Fj(CarpetLib/src/b)o(box)o(.*)o
Fk(.\).)147 b(This)64 b(is)g(a)f(triplet)g(of)h Fi(vectors)f
Fk(\(see)515 1818 y Fj(CarpetLib/src/ve)o(ct)o(.*)o Fk(\),)16
b(wher)o(e)21 b(each)h(triplet)f(speci\002es)h Fi(lower)g(bound)p
Fk(,)g Fi(upper)g(bound)p Fk(,)515 1918 y(and)j Fi(stride)p
Fk(,)h(much)g(as)f(is)g(conventional)i(in)e(Fortran.)39
b(T)-7 b(riplets)25 b(ar)o(e)f(enclosed)h(in)h(r)o(ound)515
2017 y(par)o(entheses)f Fg(\()r Ff(\001)32 b Fk(:)g Ff(\001)h
Fk(:)g Ff(\001)r Fg(\))q Fk(,)25 b(and)f(vectors)h(ar)o(e)e(enclosed)j
(in)f(squar)o(e)f(brackets)h Fg([)r Ff(\001)r Fk(,)16
b Ff(\001)r Fk(,)g Ff(\001)g(\001)g(\001)q Fg(])q Fk(.)37
b(A)515 2117 y(typical)25 b(grid)g(patch)g(might)h(have)e(a)h(bounding)
h(box)f(which)h(is)g(denoted)f(by)h Fg(\()r([)r Fk(0)r(,)16
b(0)r(,)g(0)r Fg(])30 b Fk(:)516 2217 y Fg([)r Fk(2)r(0)r(,)16
b(2)r(0)r(,)g(2)r(0)r Fg(])31 b Fk(:)k Fg([)r Fk(2)r(,)16
b(2)r(,)g(2)r Fg(])r(\))q Fk(.)39 b(This)26 b(is)h(to)f(be)g(r)o(ead)f
(as)i Fg(\()q Fk(lower)34 b(:)g(upper)f(:)h(stride)q
Fg(\))q Fk(,)26 b(meaning)515 2316 y(that)f(the)h(grid)g(patch)f(has)h
(one)g(corner)f(grid)h(point)g(at)g Fg([)r Fk(0)r(,)16
b(0)r(,)g(0)r Fg(])q Fk(,)24 b(the)i(diagonally)g(oppo-)515
2416 y(site)h(corner)g(grid)f(point)i(at)f Fg([)r Fk(2)r(0)r(,)16
b(2)r(0)r(,)g(2)r(0)r Fg(])q Fk(,)24 b(and)j(the)g(grid)g(points)g(ar)o
(e)f(spaced)g(two)h(\223\002ne)515 2516 y(grid)19 b(spacings\224)g
(apart.)24 b(This)c(grid)f(patch)g(contains)i(1)r(1)16
b Ff(\002)h Fk(1)r(1)e Ff(\002)i Fk(1)r(1)j(grid)f(points.)26
b(Empty)515 2615 y(bboxes)d(have)h(an)f(upper)h(bound)g(that)g(is)g
(strictly)g(lower)g(than)g(the)g(lower)g(bound.)35 b(The)515
2715 y(\002les)24 b Fj(CarpetLib/src/ve)o(ct)o(.*)17
b Fk(contains)25 b(many)f(useful)f(r)o(outines)h(to)g(deal)f(with)h
(short)515 2814 y(vectors,)38 b(and)c(the)h(\002les)g
Fj(CarpetLib/src/b)o(bo)o(x.*)28 b Fk(contain)35 b(r)o(outines)g(deal)f
(with)h(an)515 2914 y(algebra)26 b(of)h(bboxes.)45 b(The)27
b(\002les)h Fj(CarpetLib/src/bb)o(oxs)o(et)o(.*)21 b
Fk(contain)28 b(r)o(outines)f(that)515 3014 y(handle)20
b(sets)h(of)g(bboxes.)515 3151 y
SDict begin H.S end
 515 3151 a 515 3151
a
SDict begin 12 H.A end
 515 3151 a 515 3151 a
SDict begin [ /View [/XYZ H.V] /Dest (section.3) cvn H.B /DEST pdfmark
end
 515 3151 a 148 x Fm(3)119 b(The)30
b(driver)515 3489 y Fk(The)g(driver)g(consists)i(of)f(the)g(two)g
(thorns)h Fj(Carpet)c Fk(and)i Fj(CarpetLib)p Fk(.)52
b Fj(Carpet)28 b Fk(is)j(the)515 3588 y(fr)o(ont)24 b(end)h(to)h
(Cactus,)f(while)h Fj(CarpetLib)21 b Fk(is)k(the)g(back)g(end)g(to)g
(the)g(machine.)38 b Fj(Carpet)515 3688 y Fk(speci\002es)27
b(the)g(grid)g(shape,)i(decides)d(when)i(to)g(allocate)e(and)h
(deallocate)f(storage,)i(cy-)515 3787 y(cles)22 b(thr)o(ough)i(thes)f
(schedule)f(bins,)i(and)e(passes)g(all)h(internal)g(information)g(in)g
(the)g Fj(cGH)515 3887 y Fk(str)o(uctur)o(e)d(to)h(the)g(thorns.)515
4015 y
SDict begin H.S end
 515 4015 a 515 4015 a
SDict begin 12 H.A end
 515 4015 a 515 4015 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.1) cvn H.B /DEST
pdfmark end
 515
4015 a 115 x Fd(3.1)99 b(Specifying)25 b(the)g(grid)g(extent)515
4288 y Fj(Carpet)15 b Fk(de\002nes)k(the)f(usual)g(parameters)f
(necessary)h(to)h(specify)e(the)i(extent)f(of)g(the)g(grid.)515
4388 y(Everything)30 b(that)f(has)h(to)g(do)f(with)i(coor)o(dinates)e
(and)g(symmetries)h(is)g(handled)f(else-)515 4487 y(wher)o(e,)20
b(and)g(the)h(driver)f(does)h(not)g(know)h(about)e(that.)639
4587 y(The)g Fj(global)p 1067 4587 27 4 v 29 w(*)g Fk(parameters)e
(specify)i(the)g(global)h(extent)f(of)g(the)g(coarsest)g(grid.)25
b(Not)515 4686 y(all)h(of)g(this)h(grid)g(needs)f(to)h(be)f(cover)o(ed)
f(by)h(grid)h(patches.)42 b(It)26 b(is)h(conceivable)f(to)g(have)515
4786 y(an)20 b(L-shaped)g(simulation)i(domain)g(without)g(any)f(r)o
(e\002nement.)k(This)d(situation)g(can)e(be)515 4886
y(described)h(to)j(Carpet)d(by)i(specifying)g(a)g(global)g(shape)f
(that)h(is)g(the)g(convex)g(hull)g(of)g(the)515 4985
y(domain,)e(and)f(then)h(using)h(two)f(cuboid)g(grid)g(patchs)f(to)h
(\002ll)h(in)f(the)g(shape)f(of)h(the)g(L.)1926 5255
y(3)p eop end
%%Page: 4 4
TeXDict begin 4 3 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232 a
515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
end
 515 232 a 639 523 a Fk(The)19
b Fj(ghost)p 1022 523 27 4 v 29 w(*)f Fk(parameters)f(specify)i(the)f
(number)h(of)g(ghost)g(zones.)25 b(The)19 b Fj(periodic*)515
623 y Fk(parameters)j(ar)o(e)f(unused;)k(they)e(ar)o(e)f(only)i(ther)o
(e)f(because)f(some)i(thorns)g(look)g(at)f(these)515
722 y(parameters.)32 b(Carpet)22 b(itself)i(does)f(not)h(supply)g
(periodic)f(boundary)h(conditions;)i(they)515 822 y(have)19
b(to)h(be)g(handled)f(by)h(another)g(thorn.)26 b(The)20
b(size)f(of)h(the)g(pr)o(olongation)h(boundary)f(is)515
922 y(the)h(same)f(as)h(the)g(number)f(of)h(ghost)h(zones.)639
1021 y(The)i(parameter)d Fj(max)p 1340 1021 V 31 w(refinement)p
1811 1021 V 27 w(levels)g Fk(speci\002es)i(the)h(maximum)f(number)h(of)
515 1121 y(levels)k(that)f(can)h(be)g(pr)o(esent)f(in)h(a)g(r)o(un,)i
(including)e(the)h(base)e(level.)46 b(This)29 b(parameter)-6
b(,)515 1220 y(together)30 b(with)h Fj(refinement)p 1495
1220 V 28 w(factor)p Fk(,)e(de\002ne)h(the)h(grid)f(point)h(numbering)g
(scheme,)515 1320 y(which)26 b(\(see)f(above\))g(depends)g(on)h(the)g
(\002nest)g(possible)g(grid.)40 b(However)-6 b(,)26 b(none)g(of)g(the)
515 1420 y(\002ner)i(levels)g(will)h(be)f(activated)f(automatically)-9
b(.)47 b(The)28 b Fj(multigrid)p 2730 1420 V 28 w(*)g
Fk(parameters)e(ar)o(e)515 1519 y(unused.)639 1619 y(The)h(parameter)f
Fj(base)p 1392 1619 V 30 w(extents)e Fk(speci\002es)j(the)g(shapes)g
(of)g(the)g(grid)g(patches)g(that)515 1719 y(ar)o(e)e(pr)o(esent)h(on)i
(the)f(coarsest)g(grid.)44 b(This)27 b(can)g(be)f(used)h(to)g(set)g(up)
g(e.g.)f(an)h(L-shaped)515 1818 y(domain.)e(The)19 b(parameter)e
Fj(base)p 1580 1818 V 30 w(outerbounds)d Fk(speci\002es)19
b(which)h(of)f(the)g(grid)f(patches')515 1918 y(boundaries)42
b(ar)o(e)e(to)j(be)e(tr)o(eated)f(as)i(outer)g(boundaries,)47
b(i.e.)42 b(for)f(which)i(of)f(those)515 2017 y Fj(cctk)p
696 2017 V 29 w(bbox)20 b Fk(should)h(be)g(set)f(to)h(1.)639
2117 y(Carpet)i(curr)o(ently)h(ignor)o(es)g Fj(enable)p
1837 2117 V 29 w(all)p 1998 2117 V 31 w(storage)d Fk(and)j(always)g
(enables)f(all)h(stor)o(-)515 2217 y(age.)57 b(This)32
b(is)g(because)f(it)g(is)h(not)g(yet)g(clear)f(how)h(individual)f(grid)
h(function)g(can)f(be)515 2316 y(allocated)f(and)i(deallocated)e(while)
i(still)g(keeping)g(enough)h(data)d(for)h(the)h(boundary)515
2416 y(pr)o(olongation.)639 2516 y(Checksumming)21 b(and)d(poisoning)i
(ar)o(e)e(means)h(to)g(\002nd)g(thorns)h(that)e(alter)g(grid)h(vari-)
515 2615 y(ables)27 b(that)i(should)g(not)f(be)g(alter)o(ed,)g(or)h
(that)f(fail)f(to)i(\002ll)g(in)f(grid)g(variables)g(that)g(they)515
2715 y(should)21 b(\002ll)h(in.)639 2814 y(None)h(of)g(the)g(above)f
(speci\002es)h(anything)g(about)g(r)o(e\002ned)f(grids.)31
b(Re\002ned)23 b(grid)f(ar)o(e)515 2914 y(cr)o(eated)16
b(and)j(destr)o(oyed)f(at)g(r)o(un)h(time,)g(possibly)h(guided)f(by)f
(the)h(thorn)h Fj(CarpetRegrid)515 3014 y Fk(which)h(pr)o(ovides)f(a)h
(nice)g(user)f(interface.)515 3164 y
SDict begin H.S end
 515 3164 a 515 3164
a
SDict begin 12 H.A end
 515 3164 a 515 3164 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.2) cvn H.B /DEST
pdfmark end
 515 3164 a 92 x Fd(3.2)99 b(The)25
b(timeline)515 3415 y Fk(It)c(is)h Fj(Carpet)p Fk('s)d(task)i(to)h
(walk)g(thr)o(ough)g(the)f(schedule)h(bins)g(and)e(call)i(all)f(user)g
(r)o(outines.)515 3514 y(Only)g(some)g(fairly)f(fundamental)g
(initialisation)i(happens)e(in)h(the)g(\003esh)g(befor)o(e)e(Carpet)515
3614 y(takes)h(contr)o(ol.)26 b(The)21 b(overall)f(pictur)o(e)g(of)h
(what)g(happens)f(when)i(is:)515 3670 y
SDict begin H.S end
 515 3670 a 515
3670 a
SDict begin 12 H.A end
 515 3670 a 515 3670 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.1) cvn H.B /DEST pdfmark
end
 515 3670 a 619 3780 a Fk(1.)40
b(Startup)20 b(\(see)f(\002le)i Fj(Carpet/src/Carp)o(etS)o(ta)o(rt)o
(up.)o(cc)o Fk(\).)e(This)i(is)g(the)f(only)h(sched-)722
3879 y(uled)32 b(r)o(outine;)37 b(everything)32 b(else)g(happens)g(by)g
(overloading)g(and)f(r)o(egistering.)722 3979 y(This)22
b(r)o(outine)e(does)h(nothing)i(but)d(r)o(egistering)h(and)f
(overloading.)515 4036 y
SDict begin H.S end
 515 4036 a 515 4036 a
SDict begin 12 H.A end
 515 4036
a 515 4036 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.2) cvn H.B /DEST pdfmark
end
 515 4036 a 619 4145 a Fk(2.)40 b(SetupGH)25
b(\(see)g(\002le)h Fj(Carpet/src/Setu)o(pGH)o(.c)o(c)p
Fk(\).)33 b(This)26 b(r)o(outine)f(does)g(the)h(bulk)722
4245 y(of)h(initialising)i(Carpet.)43 b(It)27 b(sets)g(up)g(the)g
(internal)g(str)o(uctur)o(es)g(for)f(all)h(grid)g(vari-)722
4344 y(ables.)515 4379 y
SDict begin H.S end
 515 4379 a 515 4379 a
SDict begin 12 H.A end
 515 4379
a 515 4379 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.3) cvn H.B /DEST pdfmark
end
 515 4379 a 619 4510 a Fk(3.)40 b(Initialise)31
b(\(see)e(\002le)h Fj(Carpet/src/Initia)o(li)o(se.)o(cc)o
Fk(\).)47 b(This)31 b(r)o(outine)f(walks)g(the)722 4610
y(initialisation)22 b(part)e(of)h(the)g(scheduling)g(bins.)515
4667 y
SDict begin H.S end
 515 4667 a 515 4667 a
SDict begin 12 H.A end
 515 4667 a 515 4667 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.4) cvn H.B /DEST pdfmark
end
 515
4667 a 619 4776 a Fk(4.)40 b(Evolve)27 b(\(see)g(\002le)g
Fj(Carpet/src/Evolve)o(.cc)o Fk(\).)39 b(This)28 b(r)o(outine)f(walks)h
(the)f(evolu-)722 4876 y(tion)21 b(part)f(of)g(the)g(scheduling)h
(bins.)26 b(It)20 b(also)h(contains)f(the)h(main)f(evolution)i(loop.)
1926 5255 y(4)p eop end
%%Page: 5 5
TeXDict begin 5 4 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232 a
515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark
end
 515 232 a 515 440 a
SDict begin H.S end
 515
440 a 515 440 a
SDict begin 12 H.A end
 515 440 a 515 440 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.5) cvn H.B /DEST pdfmark
end
 515 440 a 619 523
a Fk(5.)40 b(Shutdown)33 b(\(see)f(\002le)g Fj(Carpet/src/Shutdo)o(wn.)
o(cc)o Fk(\).)54 b(This)33 b(r)o(outine)f(walks)h(the)722
623 y(shutdown)k(part)d(of)h(the)g(scheduling)h(bins.)69
b(Normally)-9 b(,)39 b(nothing)e(inter)o(esting)722 722
y(happens)21 b(her)o(e.)515 888 y(These)f(stages)h(ar)o(e)e(explained)h
(in)i(the)e(following)j(sections.)515 1038 y
SDict begin H.S end
 515 1038
a 515 1038 a
SDict begin 12 H.A end
 515 1038 a 515 1038 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.3.2.1) cvn H.B
/DEST pdfmark end
 515 1038 a 77 x Fl(3.2.1)81
b(Initialisation)515 1273 y Fk(\(See)23 b(\002le)h Fj
(Carpet/src/Initia)o(li)o(se.)o(cc)o Fk(.\))30 b(In)25
b(this)g(stage)f(Carpet)f(initialises)i(the)g(sim-)515
1372 y(ulation.)56 b(This)31 b(includes)g(setting)g(up)g(the)g(grids,)i
(calling)e(r)o(outines)g(to)g(r)o(egister)f(sym-)515
1472 y(metries)24 b(and)f(boundary)h(conditions,)h(as)f(well)g(as)f
(calculating)h(the)g(actual)f(initial)h(data)515 1571
y(on)h(several)e(r)o(e\002nement)i(levels.)36 b(It)25
b(traverses)e(the)i(scheduling)g(bins)g(in)g(the)f(following)515
1671 y(or)o(der:)515 1706 y
SDict begin H.S end
 515 1706 a 515 1706 a
SDict begin 12 H.A end
 515
1706 a 515 1706 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.6) cvn H.B /DEST pdfmark
end
 515 1706 a 619 1837 a Fk(1.)40 b(Set)20
b Fj(cctk)p 1034 1837 27 4 v 30 w(iteration)d Fk(to)k(zer)o(o)515
1838 y
SDict begin H.S end
 515 1838 a 515 1838 a
SDict begin 12 H.A end
 515 1838 a 515 1838 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.7) cvn H.B /DEST pdfmark
end
 515
1838 a 619 1970 a Fk(2.)40 b(Set)20 b Fj(cctk)p 1034
1970 27 4 v 30 w(time)f Fk(to)i(the)g(initial)h(time)515
1971 y
SDict begin H.S end
 515 1971 a 515 1971 a
SDict begin 12 H.A end
 515 1971 a 515 1971 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.8) cvn H.B /DEST pdfmark
end
 515
1971 a 619 2103 a Fk(3.)40 b(P)-8 b(ARAMCHECK)515 2104
y
SDict begin H.S end
 515 2104 a 515 2104 a
SDict begin 12 H.A end
 515 2104 a 515 2104 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.9) cvn H.B /DEST pdfmark
end
 515 2104
a 619 2236 a Fk(4.)40 b(Loop)21 b(over)g(r)o(e\002nement)f(levels,)h
(starting)g(fr)o(om)f(coarsest:)515 2259 y
SDict begin H.S end
 515 2259 a
515 2259 a
SDict begin 12 H.A end
 515 2259 a 515 2259 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.10) cvn H.B /DEST pdfmark
end
 515 2259 a 619 2368
a Fk(5.)123 b(BASEGRID)515 2369 y
SDict begin H.S end
 515 2369 a 515 2369
a
SDict begin 12 H.A end
 515 2369 a 515 2369 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.11) cvn H.B /DEST pdfmark
end
 515 2369 a 619 2501 a Fk(6.)g(INITIAL)515
2502 y
SDict begin H.S end
 515 2502 a 515 2502 a
SDict begin 12 H.A end
 515 2502 a 515 2502 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.12) cvn H.B /DEST pdfmark
end
 515
2502 a 619 2634 a Fk(7.)g(POSTINITIAL)515 2635 y
SDict begin H.S end
 515
2635 a 515 2635 a
SDict begin 12 H.A end
 515 2635 a 515 2635 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.13) cvn H.B /DEST pdfmark
end
 515 2635 a 619
2767 a Fk(8.)g(POSTSTEP)515 2768 y
SDict begin H.S end
 515 2768 a 515 2768
a
SDict begin 12 H.A end
 515 2768 a 515 2768 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.14) cvn H.B /DEST pdfmark
end
 515 2768 a 619 2900 a Fk(9.)g(Regrid)21
b(\(possibly)h(cr)o(eating)d(new)j(levels\))515 2923
y
SDict begin H.S end
 515 2923 a 515 2923 a
SDict begin 12 H.A end
 515 2923 a 515 2923 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.15) cvn H.B /DEST pdfmark
end
 515 2923
a 577 3033 a Fk(10.)40 b(End)21 b(loop)g(over)g(r)o(e\002nement)f
(levels)515 3056 y
SDict begin H.S end
 515 3056 a 515 3056 a
SDict begin 12 H.A end
 515 3056 a 515
3056 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.16) cvn H.B /DEST pdfmark
end
 515 3056 a 577 3165 a Fk(11.)40 b(Restrict)21
b(fr)o(om)g(\002ner)g(to)g(coarser)f(grids)515 3189 y
SDict begin H.S end

515 3189 a 515 3189 a
SDict begin 12 H.A end
 515 3189 a 515 3189 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.17) cvn H.B /DEST pdfmark
end
 515 3189
a 577 3298 a Fk(12.)40 b(If)56 b(desir)o(ed,)63 b(perform)55
b(Scott)g(Hawley's)h(initialisation)h(scheme)f(for)g(thr)o(ee)722
3398 y(timelevels)515 3399 y
SDict begin H.S end
 515 3399 a 515 3399 a
SDict begin 12 H.A end
 515
3399 a 515 3399 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.18) cvn H.B /DEST pdfmark
end
 515 3399 a 577 3531 a Fk(13.)40 b(Loop)21
b(over)g(r)o(e\002nement)f(levels,)h(starting)g(fr)o(om)f(coarsest:)515
3554 y
SDict begin H.S end
 515 3554 a 515 3554 a
SDict begin 12 H.A end
 515 3554 a 515 3554 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.19) cvn H.B /DEST pdfmark
end
 515
3554 a 577 3664 a Fk(14.)123 b(RECOVER)p 1206 3664 25
4 v 31 w(V)-9 b(ARIABLES)515 3665 y
SDict begin H.S end
 515 3665 a 515 3665
a
SDict begin 12 H.A end
 515 3665 a 515 3665 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.20) cvn H.B /DEST pdfmark
end
 515 3665 a 577 3796 a Fk(15.)123
b(CPINITIAL)515 3797 y
SDict begin H.S end
 515 3797 a 515 3797 a
SDict begin 12 H.A end
 515 3797
a 515 3797 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.21) cvn H.B /DEST pdfmark
end
 515 3797 a 577 3929 a Fk(16.)g(ANAL)-8 b(YSIS)515
3930 y
SDict begin H.S end
 515 3930 a 515 3930 a
SDict begin 12 H.A end
 515 3930 a 515 3930 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.22) cvn H.B /DEST pdfmark
end
 515
3930 a 577 4062 a Fk(17.)123 b(OutputGH)515 4085 y
SDict begin H.S end
 515
4085 a 515 4085 a
SDict begin 12 H.A end
 515 4085 a 515 4085 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.23) cvn H.B /DEST pdfmark
end
 515 4085 a 577
4195 a Fk(18.)40 b(End)21 b(loop)g(over)g(r)o(e\002nement)f(levels)639
4361 y(In)k(the)g(beginning,)i(only)e(the)g(coarsest)f(level)h(exists.)
34 b(The)24 b(\002rst)g(loop)g(starts)g(by)g(ini-)515
4461 y(tialising)i(this)h(level.)40 b(At)26 b(the)f(end)h(of)g(this)g
(loop,)i(mor)o(e)d(levels)h(ar)o(e)e(cr)o(eated)g(if)i(desir)o(ed.)515
4560 y(This)j(makes)f(it)g(possible)h(to)g(make)f(this)h(decision)g
(depend)f(on)h(an)f(automatic)g(r)o(e\002ne-)515 4660
y(ment)21 b(criterion.)1926 5255 y(5)p eop end
%%Page: 6 6
TeXDict begin 6 5 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232 a
515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark
end
 515 232 a 515 440 a
SDict begin H.S end
 515
440 a 515 440 a
SDict begin 12 H.A end
 515 440 a 515 440 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.3.2.2) cvn H.B
/DEST pdfmark end
 515 440 a 83 x Fl(3.2.2)81
b(Evolution)515 681 y Fk(\(See)20 b(\002le)i Fj(Carpet/src/Evolve)o(.c)
o(c)p Fk(.\))g(In)g(this)h(stage)e(Carpet)g(performs)h(the)g(main)g
(time)515 781 y(evolution)30 b(loop.)53 b(This)31 b(is)f(further)f
(complicated)g(by)h(the)g(fact)e(that)i(\002ner)g(grids)f(need)515
880 y(to)d(take)e(mor)o(e)i(and)f(smaller)g(time)h(steps)f(than)h
(coarser)e(grids.)40 b(In)26 b(Carpet's)e(time)i(step)515
980 y(counting)d(scheme,)g(which)h(is)e(based)g(on)h(the)g(\002nest)g
(grid)f(time)h(steps,)f(this)i(means)e(that)515 1080
y(the)f(coarser)g(grids)h(ar)o(e)e(skipped)h(in)h(the)f(r)o(emaining)h
(time)g(steps.)28 b(Thus)21 b(the)h(elegant)f(r)o(e-)515
1179 y(cursive)16 b(scheme)i(is)f(\003attened)g(out.)24
b(The)17 b(scheduling)h(bins)g(in)f(the)g(main)h(time)f(evolution)515
1279 y(loop)k(ar)o(e)f(traversed)f(in)i(the)g(following)h(or)o(der:)515
1332 y
SDict begin H.S end
 515 1332 a 515 1332 a
SDict begin 12 H.A end
 515 1332 a 515 1332 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.24) cvn H.B /DEST pdfmark
end
 515
1332 a 619 1440 a Fk(1.)40 b(Advance)20 b Fj(cctk)p 1253
1440 27 4 v 29 w(iteration)515 1441 y
SDict begin H.S end
 515 1441 a 515
1441 a
SDict begin 12 H.A end
 515 1441 a 515 1441 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.25) cvn H.B /DEST pdfmark
end
 515 1441 a 619 1572 a Fk(2.)40
b(Loop)21 b(over)g(r)o(e\002nement)f(levels,)h(starting)g(fr)o(om)f
(coarsest:)515 1596 y
SDict begin H.S end
 515 1596 a 515 1596 a
SDict begin 12 H.A end
 515 1596
a 515 1596 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.26) cvn H.B /DEST pdfmark
end
 515 1596 a 619 1704 a Fk(3.)123 b(If)21
b(the)g(curr)o(ent)f(level)g(needs)h(to)g(be)f(tr)o(eated)f(at)h(this)i
(iteration:)515 1705 y
SDict begin H.S end
 515 1705 a 515 1705 a
SDict begin 12 H.A end
 515 1705
a 515 1705 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.27) cvn H.B /DEST pdfmark
end
 515 1705 a 619 1836 a Fk(4.)206 b(Calculate)20
b(curr)o(ent)g Fj(cctk)p 1721 1836 27 4 v 30 w(time)515
1837 y
SDict begin H.S end
 515 1837 a 515 1837 a
SDict begin 12 H.A end
 515 1837 a 515 1837 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.28) cvn H.B /DEST pdfmark
end
 515
1837 a 619 1967 a Fk(5.)206 b(Cycle)21 b(time)g(levels)515
1991 y
SDict begin H.S end
 515 1991 a 515 1991 a
SDict begin 12 H.A end
 515 1991 a 515 1991 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.29) cvn H.B /DEST pdfmark
end
 515
1991 a 619 2099 a Fk(6.)206 b(PRESTEP)515 2100 y
SDict begin H.S end
 515
2100 a 515 2100 a
SDict begin 12 H.A end
 515 2100 a 515 2100 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.30) cvn H.B /DEST pdfmark
end
 515 2100 a 619
2231 a Fk(7.)g(EVOL)515 2232 y
SDict begin H.S end
 515 2232 a 515 2232 a
SDict begin 12 H.A end

515 2232 a 515 2232 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.31) cvn H.B /DEST pdfmark
end
 515 2232 a 619 2363 a Fk(8.)g(POSTSTEP)515
2364 y
SDict begin H.S end
 515 2364 a 515 2364 a
SDict begin 12 H.A end
 515 2364 a 515 2364 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.32) cvn H.B /DEST pdfmark
end
 515
2364 a 619 2494 a Fk(9.)g(Regrid)515 2518 y
SDict begin H.S end
 515 2518
a 515 2518 a
SDict begin 12 H.A end
 515 2518 a 515 2518 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.33) cvn H.B /DEST pdfmark
end
 515 2518 a 577 2626
a Fk(10.)40 b(End)21 b(loop)g(over)g(r)o(e\002nement)f(levels)515
2649 y
SDict begin H.S end
 515 2649 a 515 2649 a
SDict begin 12 H.A end
 515 2649 a 515 2649 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.34) cvn H.B /DEST pdfmark
end
 515
2649 a 577 2758 a Fk(11.)40 b(Restrict)21 b(fr)o(om)g(\002ner)g(to)g
(coarser)f(grids)515 2781 y
SDict begin H.S end
 515 2781 a 515 2781 a
SDict begin 12 H.A end
 515
2781 a 515 2781 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.35) cvn H.B /DEST pdfmark
end
 515 2781 a 577 2890 a Fk(12.)40 b(Loop)21
b(over)g(r)o(e\002nement)f(levels,)h(starting)g(fr)o(om)f(coarsest:)515
2913 y
SDict begin H.S end
 515 2913 a 515 2913 a
SDict begin 12 H.A end
 515 2913 a 515 2913 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.36) cvn H.B /DEST pdfmark
end
 515
2913 a 577 3021 a Fk(13.)123 b(If)21 b(the)g(curr)o(ent)f(level)g
(needs)h(to)g(be)f(tr)o(eated)f(at)h(this)i(iteration:)515
3022 y
SDict begin H.S end
 515 3022 a 515 3022 a
SDict begin 12 H.A end
 515 3022 a 515 3022 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.37) cvn H.B /DEST pdfmark
end
 515
3022 a 577 3153 a Fk(14.)206 b(CHECKPOINT)515 3154 y
SDict begin H.S end

515 3154 a 515 3154 a
SDict begin 12 H.A end
 515 3154 a 515 3154 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.38) cvn H.B /DEST pdfmark
end
 515 3154
a 577 3285 a Fk(15.)g(ANAL)-8 b(YSIS)515 3286 y
SDict begin H.S end
 515 3286
a 515 3286 a
SDict begin 12 H.A end
 515 3286 a 515 3286 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.39) cvn H.B /DEST pdfmark
end
 515 3286 a 577 3416
a Fk(16.)206 b(OutputGH)515 3440 y
SDict begin H.S end
 515 3440 a 515 3440
a
SDict begin 12 H.A end
 515 3440 a 515 3440 a
SDict begin [ /View [/XYZ H.V] /Dest (Item.40) cvn H.B /DEST pdfmark
end
 515 3440 a 577 3548 a Fk(17.)40
b(End)21 b(loop)g(over)g(r)o(e\002nement)f(levels)639
3710 y(The)h(condition)i(whether)e(a)f(r)o(e\002nement)h(level)g(needs)
g(to)g(be)g(tr)o(eated)e(at)i(the)g(curr)o(ent)515 3809
y(iteration)k(is)g(dif)o(fer)o(ent)d(for)j(the)g(two)g(loops.)38
b(In)25 b(the)g(\002rst)g(loop,)i(the)d(coarse)h(grids)f(need)515
3909 y(to)j(be)f(advanced)e(befor)o(e)i(the)g(\002ner)h(grids,)h(so)e
(the)h(condition)h(is)f Fi(i)s(t)r(e)q(r)16 b Fk(m)r(o)r(d)g
Fi(s)r(t)q(r)q(i)s(d)r(e)36 b Fg(=)g Fk(1)q(.)515 4009
y(Her)o(e)20 b Fi(i)s(t)r(e)q(r)i Fk(is)f(the)g(curr)o(ent)g
(iteration,)f(and)i Fi(s)r(t)q(r)q(i)s(d)r(e)g Fk(the)f(stride)g(of)g
(the)g(curr)o(ent)f(r)o(e\002nement)515 4108 y(level,)e(i.e.)g(the)h
(factor)f(by)h(which)g(the)g(\002nest)g(grid)g(is)g(\002ner)g(than)g
(the)f(curr)o(ent)g(grid.)25 b(In)19 b(the)515 4208 y(second)k(loop)h
(above,)g(the)f(coarse)g(grids)g(need)g(to)h(be)f(tr)o(eated)f(after)g
(the)h(\002ner)h(grids,)f(so)515 4308 y(that)d(the)h(condition)h(r)o
(eads)e Fi(i)s(t)r(e)q(r)c Fk(m)r(o)r(d)g Fi(s)r(t)q(r)q(i)s(d)r(e)25
b Fg(=)h Fi(s)r(t)q(r)q(i)s(d)r(e)q Fk(.)515 4434 y
SDict begin H.S end
 515
4434 a 515 4434 a
SDict begin 12 H.A end
 515 4434 a 515 4434 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.3) cvn H.B /DEST
pdfmark end
 515 4434 a 115
x Fd(3.3)99 b(Calling)25 b(scheduled)g(routines)515 4707
y Fk(\(See)19 b(\002le)h Fj(Carpet/src/CallFu)o(nc)o(ti)o(on.)o(cc)o
Fk(.\))f(The)i(pr)o(ocess)e(by)i(which)g(the)f(scheduling)515
4807 y(bins)e(ar)o(e)f(traversed)f(is)i(dif)o(fer)o(ent)e(fr)o(om)h
(the)h(pr)o(ocess)g(which)h(actually)e(calls)h(the)g(r)o(outines)515
4907 y(within)23 b(the)f(scheduling)h(bins.)30 b(The)22
b(former)g(has)g(to)h(do)f(with)h(mesh)f(r)o(e\002nement,)g(mak-)515
5006 y(ing)f(sur)o(e)f(that)g(the)h(coarse)f(and)g(\002ne)h(grids)f(ar)
o(e)f(evolved)h(in)h(the)g(right)g(or)o(der)-6 b(.)24
b(The)d(latter)1926 5255 y(6)p eop end
%%Page: 7 7
TeXDict begin 7 6 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232 a
515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark
end
 515 232 a 291 x Fk(has)21
b(to)g(do)g(with)h(tr)o(eating)e(multiple)i(patches,)e(i.e.)g(with)i
(local)f(mode)g(and)g(global)g(mode)515 623 y(operations,)g(as)f
(mentioned)i(above.)639 722 y(In)37 b(the)f(function)h
Fj(CallFunction)p Fk(,)e(all)h(the)h(ar)o(guments)f(that)g(ar)o(e)f
(passed)g(to)i(the)515 822 y(scheduled)29 b(r)o(outines)g(have)g(to)g
(be)g(set)g(up.)51 b(Additionally)-9 b(,)31 b(the)f Fj(cGH)e
Fk(str)o(uctur)o(e)g(has)i(to)515 922 y(be)c(\002lled)h(in.)45
b(Some)26 b(\002elds)h(in)h(the)f Fj(cGH)e Fk(str)o(uctur)o(e)i(ar)o(e)
e(always)i(kept)g(up-to-date)e(dur)o(-)515 1021 y(ing)d(the)g(r)o
(e\002nement)g(level)f(loops,)i(such)f(as)g(the)g(time)g(step)g(size)f
(and)h(the)f(grid)h(spacing.)515 1121 y(The)f(\002le)h
Fj(Carpet/src/helpe)o(r.)o(cc)15 b Fk(contains)22 b(helper)f(r)o
(outines)h(that)g(allow)g(easy)f(loop-)515 1220 y(ing)h(over)f(r)o
(e\002nement)g(levels)g(and)g(over)g(grid)g(patches.)27
b(\(Grid)21 b(patches)f(ar)o(e)g(also)i(called)515 1320
y Fi(compoments)27 b Fk(in)j(Carpet.)50 b(The)29 b(expr)o(ession)f
(component)j(seems)e(to)h(be)e(confusing,)k(so)515 1420
y(that)27 b(I)g(switched)h(to)f(using)i Fi(patch)c Fk(instead.)45
b(Some)27 b(sour)o(ce)g(code)g(still)h(r)o(e\003ects)e(the)i(old)515
1519 y(conventsion.\))639 1619 y(The)d(function)h Fj(CallFunction)20
b Fk(\002rst)25 b(distinguishes)h(between)f(global)g(mode)g(func-)515
1719 y(tions)d(and)e(local)h(mode)g(functions.)515 1873
y Fl(Global)e(mode)h(functions)40 b Fk(ar)o(e)24 b(called)f(once)i
(\(on)g(each)f(pr)o(ocessor\).)36 b(They)25 b(ar)o(e)e(passed)722
1972 y(all)32 b(the)f(global)h(data,)h(such)f(as)f Fj(cctk)p
1956 1972 27 4 v 30 w(gsh)f Fk(and)h Fj(cctk)p 2496 1972
V 30 w(delta)p 2746 1972 V 29 w(space)p Fk(,)h(but)f(none)722
2072 y(of)25 b(the)f(local)g(data,)g(such)h(as)f Fj(cctk)p
1839 2072 V 30 w(lsh)f Fk(or)h Fj(cctk)p 2302 2072 V
30 w(bbox)p Fk(.)35 b(Grid)24 b(functions)h(ar)o(e)e(not)722
2171 y(accessible,)29 b(and)f(they)g(ar)o(e)f(passed)h(as)f(null)i
(pointers.)48 b(However)-6 b(,)30 b(grid)e(scalars)722
2271 y(and)e(grid)f(arrays)g(ar)o(e)f(accessible.)40
b(Ther)o(e)25 b(is)h(an)g(untested)f(gateway)h(to)g(dir)o(ectly)722
2371 y(call)21 b(local)g(mode)f(functions)i(fr)o(om)e(global)h(mode)g
(functions.)515 2531 y Fl(Local)e(mode)h(functions)41
b Fk(might)21 b(be)g(called)f(several)g(times)h(\(on)g(each)g(pr)o
(ocessor\),)f(once)722 2630 y(for)29 b(each)g(grid)g(patch)f(that)h(is)
h(assigned)f(to)g(this)h(pr)o(ocessor)-6 b(.)50 b(They)29
b(r)o(eceive)f(the)722 2730 y(global)23 b(data)e(as)h(well)g(as)g(data)
f(for)h(a)g(single)h(grid)f(patch.)30 b(It)22 b(is)h(illegal)f(to)g
(perform)722 2830 y(global)c(operations,)g(such)g(as)f(synchr)o
(onisation,)j(interpolation,)e(or)g(r)o(eduction,)g(in)722
2929 y(local)j(mode.)639 3083 y(The)g(distinction)h(between)e(global)h
(and)f(local)g(mode)h(is)g(only)g(important)g(for)g(multi-)515
3183 y(patch)f(r)o(uns.)26 b(For)21 b(single-patch)g(r)o(uns,)g(the)g
(distinction)h(does)f(not)h(exist.)639 3282 y(Multi-patch)e(r)o(uns)h
(ar)o(e)e(only)i(necessary)f(when)h(ther)o(e)f(ar)o(e)f(mor)o(e)h(grid)
g(patches)g(on)h(a)515 3382 y(r)o(e\002nement)29 b(level)g(than)g(ther)
o(e)f(ar)o(e)g(pr)o(ocessors.)51 b(This)29 b(is)h(normally)g(not)f(the)
h(case)e(for)515 3482 y(\002xed)34 b(mesh)h(r)o(e\002nement.)66
b(Things)36 b(ar)o(e)d(dif)o(fer)o(ent)f(for)i(adaptive)f(mesh)i(r)o
(e\002nement,)515 3581 y(which)21 b(can)g(cr)o(eate)e(many)i(r)o
(e\002ned)f(r)o(egions.)515 3729 y
SDict begin H.S end
 515 3729 a 515 3729
a
SDict begin 12 H.A end
 515 3729 a 515 3729 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.4) cvn H.B /DEST
pdfmark end
 515 3729 a 92 x Fd(3.4)99 b(Grid)25
b(arrays)f(and)h(grid)g(scalars)515 3979 y Fk(Grid)71
b(scalars)g(ar)o(e)g(implemented)g(as)h(zer)o(o-dimensional)f(grid)h
(arrays)e(with)515 4079 y Fj(DISTRIB=CONSTANT)o Fk(.)639
4179 y(Grid)16 b(arrays)f(ar)o(e)f(implemented)j(as)e(grid)h
(functions,)h(wher)o(e)f(each)f(grid)h(array)e(gr)o(oup)515
4278 y(has)27 b(their)g(own)i(r)o(e\002nement)e(hierar)o(chy)f(that)i
(consists)g(of)g(a)e(single)i(level)f(only)i(and)e(is)515
4378 y(never)k(changed)g(at)g(r)o(un)i(time.)58 b(Grid)32
b(arrays)e(with)j(less)f(than)f(3)h(dimension)h(ar)o(e)d(ex-)515
4477 y(tended)e(to)h(have)f(an)g(extent)g(of)h(1)f(\(and)g(no)h(ghost)g
(zones\))g(in)g(the)g(r)o(emaining)f(dimen-)515 4577
y(sions,)e(so)f(that)g(all)f(quantities)h(in)g(Carpet)f(have)g(3)g
(dimensions)2587 4577 y
SDict begin H.S end
 2587 4577 a -30 x Fc(1)2624 4577
y
SDict begin 12 H.L end
 2624 4577 a 2624 4577 a
SDict begin [ /Subtype /Link /Dest (Hfootnote.1) cvn /H /I /Border
[0 0 12] /Color [1 0 0] H.B /ANN pdfmark end
 2624 4577 a Fk(.)37 b Fj(DISTRIB=CONSTAN)o(T)
515 4677 y Fk(grid)22 b(arrays)e(ar)o(e)h(implemented)h(by)g
(internally)g(enlar)o(ging)g(the)g(grid)g(array)f(in)h(the)i
Fi(z)f Fk(di-)515 4776 y(r)o(ection,)d(and)g(then)i(distributing)f
(this)h(array)d(onto)j(the)f(pr)o(ocessors.)p 515 4847
1146 4 v 605 4903 a Fb(1)634 4848 y
SDict begin H.S end
 634 4848 a 634 4848
a
SDict begin H.R end
 634 4848 a 634 4848 a
SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.1) cvn H.B /DEST pdfmark
end
 634 4848 a 79 x Fa(This)g(is)g(set)g(by)f(a)h
(compile-time)h(constant)e(and)h(could)g(be)g(changed)f(to)h(allow)h
(for)f(grid)g(functions)h(and)515 5006 y(arrays)17 b(with)g(mor)o(e)f
(than)g(3)h(dimensions.)1926 5255 y Fk(7)p eop end
%%Page: 8 8
TeXDict begin 8 7 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232 a
515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark
end
 515 232 a 515 440 a
SDict begin H.S end
 515
440 a 515 440 a
SDict begin 12 H.A end
 515 440 a 515 440 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.5) cvn H.B /DEST
pdfmark end
 515 440 a 83 x Fd(3.5)99
b(Flesh)25 b(interfaces)515 681 y Fk(The)i(\003esh)g(has)g(many)g
(interfaces)f(that)h(need)f(to)i(be)e(\002lled)h(in)g(by)g(a)g(driver)
-6 b(.)43 b(These)26 b(ar)o(e)515 781 y(in)e(particular)e(all)h(the)h
(r)o(outines)f(that)g(ar)o(e)f(overloaded)h(in)h(the)f(SetupGH)g
(stage.)33 b(Those)515 880 y(overloaded)27 b(r)o(outines)h(as)g(well)g
(as)g(other)h(helper)e(function)i(ar)o(e)e(implemented)h(in)h(the)515
980 y(following)22 b(\002les:)515 1146 y Fj(Carpet/src/Check)o(su)o(m.)
o(cc)35 b Fk(catching)21 b(illegal)g(changes)g(to)g(grid)g(variables)
515 1279 y Fj(Carpet/src/Comm.)o(cc)35 b Fk(synchr)o(onisation,)22
b(pr)o(olongation)515 1412 y Fj(Carpet/src/Cycle)o(.c)o(c)35
b Fk(time)21 b(level)g(handling)515 1544 y Fj(Carpet/src/Poiso)o(n.)o
(cc)35 b Fk(catching)21 b(uninitialised)g(grid)g(variables)515
1677 y Fj(Carpet/src/Restr)o(ic)o(t.)o(cc)35 b Fk(r)o(estriction)21
b(fr)o(om)f(\002ner)h(to)g(coarser)f(grids)515 1810 y
Fj(Carpet/src/Stora)o(ge)o(.c)o(c)36 b Fk(enabling)21
b(and)f(disabling)h(storage)515 1943 y Fj(Carpet/src/helpe)o(rs)o(.c)o
(c)36 b Fk(small)21 b(low-level)g(helper)f(r)o(outines)515
2076 y Fj(Carpet/src/varia)o(bl)o(es)o(.cc)35 b Fk(the)42
b(global)g(variables)f(that)h(keep)g(Carpet's)f(curr)o(ent)722
2175 y(state)e(\(this)h(is)g(used)f(instead)g(of)g(a)g(GH)g(extension)h
(\227)g(should)g(pr)o(obably)e(be)722 2275 y(changed)21
b(some)g(time\))639 2441 y(Most)30 b(of)g(these)g(\002les)g(ar)o(e)e
(fairly)i(self-contained,)h(and)e(they)h(mostly)h(marshal)f(the)515
2541 y(actual)20 b(work)h(to)g Fj(CarpetLib)p Fk(.)515
2686 y
SDict begin H.S end
 515 2686 a 515 2686 a
SDict begin 12 H.A end
 515 2686 a 515 2686 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.6) cvn H.B /DEST
pdfmark end
 515
2686 a 98 x Fd(3.6)99 b(Interfaces)24 b(to)h(other)g(thorns)515
2942 y Fk(Some)42 b(other)g(thorns,)48 b(mostly)43 b(fr)o(om)f(the)g
(Carpet)f(arrangement,)46 b(do)c(need)g(to)g(ac-)515
3041 y(cess)35 b(internal)f(data)g(of)h(Carpet.)66 b(Carpet)34
b(keeps)g(its)i(internal)e(state)h(in)g(global)g(vari-)515
3141 y(ables)h(which)i(ar)o(e)d(declar)o(ed)f(in)k Fj(Carpet/src/carp)o
(et)p 2364 3141 27 4 v 25 w(public.hh)33 b Fk(and)j(de\002ned)h(in)515
3240 y Fj(Carpet/src/varia)o(bl)o(es)o(.cc)o Fk(.)30
b(Entities)24 b(that)g(can)g(be)g(accessed)f(fr)o(om)h(C)g(ar)o(e)e
(declar)o(ed)515 3340 y(in)i Fj(Carpet/src/carpe)o(t)p
1363 3340 V 25 w(public.h)p Fk(;)e(some)j(of)f(these)g(would)g(be)g
(quite)g(useful)g(if)g(they)515 3440 y(wer)o(e)c(pr)o(ovided)f(by)i
(the)g(\003esh.)515 3590 y
SDict begin H.S end
 515 3590 a 515 3590 a
SDict begin 12 H.A end
 515
3590 a 515 3590 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.7) cvn H.B /DEST
pdfmark end
 515 3590 a 92 x Fd(3.7)99 b(Missing)26
b(parts)515 3841 y Fj(Carpet)15 b Fk(does)j(not)g(handle)f(stagger)o
(ed)g(grids.)24 b Fj(Carpet)15 b Fk(does)j(not)g(pr)o(ovide)f
(cell-center)o(ed)515 3940 y(r)o(e\002nement.)27 b Fj(Carpet)19
b Fk(always)i(enables)g(all)h(storage.)27 b Fj(Carpet)19
b Fk(does)i(not)h(r)o(un)g(ef)o(\002ciently)515 4040
y(in)f(parallel.)515 4199 y
SDict begin H.S end
 515 4199 a 515 4199 a
SDict begin 12 H.A end
 515
4199 a 515 4199 a
SDict begin [ /View [/XYZ H.V] /Dest (section.4) cvn H.B /DEST pdfmark
end
 515 4199 a 126 x Fm(4)119 b(The)30
b(workhorse)515 4515 y Fk(While)24 b Fj(Carpet)d Fk(pr)o(ovides)h(the)i
(necessary)f(interfaces)g(to)h(the)f(\003esh,)i(the)e(gr)o(unt)i(work)f
(is)515 4614 y(actually)c(done)i(by)f Fj(CarpetLib)p
Fk(.)j(This)d(thorn)h(gr)o(ew)f(fr)o(om)g(an)g(earlier)f(mesh)i(r)o
(e\002nement)515 4714 y(of)j(mine)g(\(Erik)g(Schnetter\))f(library)g
(that)h(was)g(independent)g(of)g(Cactus.)37 b(It)25 b(has)g(in)h(the)
515 4814 y(mean)d(time)g(been)f(thor)o(oughly)i(changed,)f(and)g(it)g
(does)g(not)g(make)g(sense)g(any)g(mor)o(e)g(to)515 4913
y(use)k(it)g(independent)h(of)f(Cactus.)44 b Fj(CarpetLib)24
b Fk(contains)k(of)f(thr)o(ee)g(major)g(parts:)38 b(a)27
b(set)1926 5255 y(8)p eop end
%%Page: 9 9
TeXDict begin 9 8 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232 a
515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark
end
 515 232 a 291 x Fk(of)27
b(generic)f(useful)h(helpers,)h(the)f(grid)g(hierar)o(chy)f(and)g(data)
g(handling,)j(and)d(interpo-)515 623 y(lation)e(operators.)34
b(Especially)23 b(the)h(latter)f(could)h(pr)o(obably)f(be)h(separated)e
(out.)35 b(While)515 722 y Fj(CarpetLib)17 b Fk(is)k(written)g(in)g
(C++,)g(the)g(interpolators)g(ar)o(e)f(written)h(in)i(F)t
Fa(O)t(R)r(T)t(R)t(A)t(N)t Fk(7)t(7)r(.)515 872 y
SDict begin H.S end
 515
872 a 515 872 a
SDict begin 12 H.A end
 515 872 a 515 872 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1) cvn H.B /DEST
pdfmark end
 515 872 a 93 x Fd(4.1)99
b(The)25 b(helpers)515 1123 y Fk(The)32 b(helpers)f(corr)o(espond)h
(closely)g(to)g(Carpet's)f(terminology)-9 b(.)61 b(A)31
b(class)h Fj(vect<T,D>)515 1223 y Fk(pr)o(ovides)22 b(small)g
Fj(D)p Fk(-dimensional)h(vectors)f(of)h(the)f(type)h
Fj(T)p Fk(,)f(with)h(all)f(the)h(operators)f(that)515
1322 y(one)i(has)g(learned)e(to)j(enjoy)f(fr)o(om)g(Haskell)f(and)h
(Fortran)f(90.)34 b(A)23 b Fj(vect)f Fk(corr)o(esponds)i(to)515
1422 y(a)h(grid)h(point)g(location.)42 b(The)26 b(class)g
Fj(bbox<T,D>)c Fk(pr)o(ovides)j Fj(D)p Fk(-dimensional)h(bounding)515
1522 y(boxes)d(using)h(type)e Fj(T)h Fk(as)g(indices.)32
b(A)23 b Fj(bbox)e Fk(de\002nes)i(the)g(location)h(and)e(shape)h(of)g
(a)f(grid)515 1621 y(patch.)42 b(Finally)-9 b(,)28 b
Fj(bboxset<T,D>)21 b Fk(is)27 b(a)f(collection)i(of)e
Fj(bbox)p Fk(es.)41 b Fj(bboxsets)23 b Fk(ar)o(e)i(a)h(useful)515
1721 y(extension)18 b(of)g(the)f(algebra)g(of)g(bboxes,)h(as)f(it)h
(closes)g(the)g Fj(bbox)e Fk(algebra)g(under)h(the)h(union)515
1820 y(operation.)639 1920 y(The)29 b(\002les)g Fj(CarpetLib/src/d)o
(efs)o(.*)22 b Fk(de\002nes)28 b(useful)h(small)f(helpers)h(and)f
(instan-)515 2020 y(tiates)41 b(the)i(STL)e(templates.)88
b Fj(CarpetLib/src/dis)o(t.*)35 b Fk(pr)o(ovides)41 b(some)i(r)o
(outines)515 2119 y(ar)o(ound)20 b(MPI.)g(Carpet)g(is)h(closely)g
(coupled)g(to)g(MPI)f(and)g(does)h(not)h(work)f(without)h(it.)639
2219 y(\(Instead)i(of)h(inserting)g(switches)g(into)h(Carpet)d(to)i
(make)f(it)h(work)g(without)h(MPI,)e(it)515 2319 y(would)g(make)f(mor)o
(e)g(sense)h(to)g(use)g(a)f(dummy)h(version)g(of)f(MPI.)g(PETSc)g(does)
g(contain)515 2418 y(such)e(a)f(dummy)i(version.)k(It)21
b(is)g(also)g(easily)g(possible)g(to)g(use)g(a)f(fr)o(ee)g(MPI)g
(version)i(such)515 2518 y(as)c(MPICH)h(and)f(use)h(that)f(to)h(r)o(un)
h(on)f(a)f(single)i(pr)o(ocessor)-6 b(.)24 b(However)-6
b(,)19 b(I)f(cannot)i(see)e(any)515 2617 y(r)o(eal)h(need)i(for)f
(making)h(Carpet)f(work)h(without)h(MPI.\))515 2767 y
SDict begin H.S end

515 2767 a 515 2767 a
SDict begin 12 H.A end
 515 2767 a 515 2767 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.2) cvn H.B /DEST
pdfmark end
 515 2767
a 93 x Fd(4.2)99 b(The)25 b(grid)g(hierarchy)515 3018
y Fk(The)f(grid)h(hierar)o(chy)f(is)h(described)f(by)g(a)h(set)f(of)h
(classes.)37 b(Except)24 b(for)h(the)g(actual)e(data,)515
3118 y(all)d(str)o(uctur)o(es)h(and)f(all)h(information)g(is)g(r)o
(eplicated)e(on)j(all)e(pr)o(ocessors.)515 3284 y Fj(gh)40
b Fk(is)29 b(a)e(grid)h(hierar)o(chy)-9 b(.)46 b(It)28
b(describes,)g(for)g(each)f(r)o(e\002nement)h(level,)h(the)f(location)h
(of)722 3384 y(the)e(grid)g(patches.)43 b(This)28 b Fj(gh)e
Fk(does)g(not)i(contain)f(ghost)h(zones)f(or)g(pr)o(olongation)722
3483 y(boundaries.)f(Ther)o(e)19 b(exists)i(only)h(one)f(common)h
Fj(gh)e Fk(for)h(all)f(grid)h(functions.)515 3649 y Fj(dh)40
b Fk(is)21 b(a)e(data)f(hierar)o(chy)-9 b(.)25 b(It)19
b(extends)h(the)g(notion)h(of)f(a)f Fj(gh)g Fk(by)h(ghost)h(zones)f
(and)f(pr)o(olon-)722 3749 y(gation)i(boundaries.)26
b(The)20 b Fj(dh)g Fk(does)h(most)g(of)g(the)g(bookkeeping)g(work,)g
(deciding)722 3849 y(which)30 b(grid)e(patches)g(interact)g(with)i
(what)e(other)h(grid)f(patches)h(thr)o(ough)g(syn-)722
3948 y(chr)o(onisation,)c(pr)o(olongation,)f(r)o(estriction,)f(and)g
(boundary)g(pr)o(olongation.)33 b(Un-)722 4048 y(expected)23
b(situations)i(ar)o(e)d(often)i(caught)g(in)g(one)g(of)g
Fj(dh)p Fk('s)g(many)g(self)f(checks.)35 b(As)722 4147
y(all)21 b(grid)h(functions)g(have)f(the)g(same)g(number)h(of)f(ghost)h
(zones,)g(ther)o(e)e(exists)i(also)722 4247 y(only)g(one)f
Fj(dh)f Fk(for)h(all)f(grid)h(functions.)515 4413 y Fj(th)40
b Fk(is)29 b(a)f(time)g(hierar)o(chy)-9 b(.)47 b(It)29
b(extends)f(the)g(notion)i(of)e(a)g Fj(gh)f Fk(by)i(multiple)g(time)f
(levels.)722 4513 y(Ther)o(e)i(exists)g(one)h Fj(th)f
Fk(per)g(grid)g(function)h(gr)o(oup.)54 b(This)31 b(is)g(a)f(small)h
(class)f(that)722 4612 y(keeps)25 b(track)e(of)i(the)g(curr)o(ent)e
(time)i(on)g(the)g(dif)o(fer)o(ent)d(r)o(e\002nement)j(levels.)36
b(\(Note)722 4712 y(that)21 b(dif)o(fer)o(ent)e(r)o(e\002nement)h
(levels)h(usually)g(live)g(at)f(dif)o(fer)o(ent)f(times.\))515
4878 y Fj(gf)40 b Fk(is)24 b(a)f(grid)g(function)h(of)f(a)g(certain)f
(variable)g(type.)33 b(Ther)o(e)22 b(is)i(one)f(instance)h(of)f
Fj(gf)f Fk(for)722 4978 y(every)i(grid)f(function,)i(whether)g(it)f
(has)g(storage)f(or)h(not.)36 b(Each)23 b Fj(gf)g Fk(is)i(associated)
1926 5255 y(9)p eop end
%%Page: 10 10
TeXDict begin 10 9 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232
a 515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark
end
 515 232 a 722 523 a Fk(with)30
b(a)e Fj(dh)f Fk(and)h(a)g Fj(th)g Fk(and)g(holds)h(the)g(storage)f
(for)g(all)h(levels)f(and)g(all)h(patches.)722 623 y(It)c(pr)o(ovides)g
(interfaces)f(to)i(access)e(and)h(modify)g(these)h(data,)f(either)g
(dir)o(ectly)f(or)722 722 y(thr)o(ough)18 b(interpolation)g(operators.)
24 b Fj(gf)16 b Fk(also)h(handles)g(the)h(data)d(movement)j(dur)o(-)722
822 y(ing)k(a)e(r)o(egridding)g(operation.)515 988 y
Fj(ggf)40 b Fk(is)25 b(an)f(abstract)g(super)o(class)f(of)i
Fj(gf)e Fk(which)j(is)f(independent)f(of)g(the)h(variable)e(type.)722
1088 y(This)31 b(is)f(necessary)g(in)g(C++)h(to)f(pr)o(event)f(egr)o
(egious)h(code)g(duplication)g(due)g(to)722 1187 y(class)c(templates.)
41 b(Most)26 b(of)g(the)g(r)o(outines)h(in)f Fj(gf)f
Fk(ar)o(e)g(actually)g(declar)o(ed)f(in)i Fj(ggf)p Fk(,)722
1287 y(and)19 b(they)g(either)f(ar)o(e)g(virtual)g(functions)i
(themselves,)f(or)g(they)h(call)e(virtual)g(func-)722
1386 y(tions)k(that)f(ar)o(e)e(declar)o(ed)g(in)i Fj(gf)p
Fk(.)515 1553 y Fj(data)40 b Fk(is)18 b(a)g(container)g(for)g(a)g(grid)
g(patch)g(of)g(a)g(certain)g(variable)f(type.)24 b(This)19
b(is)g(a)f(glori\002ed)722 1652 y(multi-dimensional)31
b(array)d(that)h(knows)i(how)f(to)g(move)f(between)g(pr)o(ocessors.)722
1752 y Fj(data)e Fk(is)i(not)g(only)h(used)e(to)h(stor)o(e)g(the)f
(grid)h(patches)f(that)g(make)h(up)f(a)g Fj(gf)p Fk(,)i(it)f(is)722
1851 y(also)i(used)f(to)g(move)h(parts)e(of)h(patches)g(ar)o(ound,)i
(e.g.)d(for)h(synchr)o(onisation)i(or)722 1951 y(pr)o(olongation.)515
2117 y Fj(gdata)39 b Fk(is)24 b(an)g(abstract)f(super)o(class)g(of)h
Fj(data)e Fk(for)i(much)h(the)f(same)g(r)o(easons)f(as)h(for)f
Fj(ggf)p Fk(.)722 2217 y(All)e(information)h(that)e(is)h(independent)g
(of)g(the)g(variable)e(type)i(is)g(kept)g(in)g Fj(gdata)p
Fk(.)515 2367 y
SDict begin H.S end
 515 2367 a 515 2367 a
SDict begin 12 H.A end
 515 2367 a 515
2367 a
SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.3) cvn H.B /DEST
pdfmark end
 515 2367 a 92 x Fd(4.3)99 b(The)25 b(interpolators)515
2617 y Fk(Ther)o(e)e(ar)o(e)h(thr)o(ee)g(kinds)h(of)f
(\223interpolators\224:)33 b(for)25 b(pr)o(olongation,)h(for)e(r)o
(estricting,)h(and)515 2717 y(for)18 b(copying.)26 b(The)19
b(latter)f(is)h(only)h(a)f(glori\002ed)g(hyperslabber)f(that)h(moves)g
(parts)f(of)h(grid)515 2817 y(patches)h(between)h(grid)f(patches.)639
2916 y(The)28 b(interpolators)g(used)g(for)g(r)o(estriction)g(and)f(pr)
o(olongation)i(ar)o(e)e(dif)o(fer)o(ent)e(fr)o(om)515
3016 y(those)36 b(used)f(for)h(the)f(generic)h(interpolation)g
(interface)f(in)h(Cactus.)69 b(The)36 b(r)o(eason)f(is)515
3116 y(that)21 b(interpolation)i(is)f(expensive,)g(and)f(hence)h(the)g
(interpolation)g(operators)g(used)f(for)515 3215 y(r)o(estriction)31
b(and)g(pr)o(olongation)i(have)d(to)i(be)f(str)o(eamlined)g(and)g
(optimised.)58 b(As)32 b(one)515 3315 y(knows)22 b(the)g(location)f(of)
h(the)f(sampling)h(points)g(for)f(the)g(interpolation,)h(one)g(can)f
(calcu-)515 3415 y(late)16 b(the)g(coef)o(\002cients)g(in)h(advance,)f
(saving)g(much)h(time)g(compar)o(ed)e(to)i(calling)f(a)g(generic)515
3514 y(interpolation)21 b(interface.)515 3664 y
SDict begin H.S end
 515 3664
a 515 3664 a
SDict begin 12 H.A end
 515 3664 a 515 3664 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.3.1) cvn H.B
/DEST pdfmark end
 515 3664 a 76 x Fl(4.3.1)81
b(Restriction)515 3898 y Fk(Restriction)22 b(operators)f(move)h(data)e
(fr)o(om)g(\002ner)i(to)f(coarser)g(grids.)27 b(They)21
b(ar)o(e)f(typically)515 3998 y(called)j(after)f(both)j(the)f(coarse)f
(and)g(the)h(\002ne)g(grid)g(have)f(been)h(advanced)e(to)i(the)g(same)
515 4098 y(time,)18 b(and)e(they)h(overwrite)g(parts)g(of)g(the)g
(coarse)f(grid)h(with)h(information)g(fr)o(om)f(the)g(\002ne)515
4197 y(grid,)i(coupling)h(the)f(coarse)f(grid)h(evolution)h(to)g(the)f
(\002ne)g(grid)g(evolution.)26 b(In)19 b(principle,)515
4297 y(ther)o(e)d(could)h(be)g(r)o(estriction)g(operators)g(with)h(dif)
o(fer)o(ent)d(or)o(ders)i(of)g(accuracy)-9 b(.)23 b(Curr)o(ently)515
4396 y(only)e(a)g(single)g(r)o(estriction)g(operator)f(is)h
(implemented)g(that)g(uses)g(sampling.)639 4496 y(The)165
b(interface)e(of)i(the)f(r)o(estriction)h(operator)f(\(see)g(\002le)515
4596 y Fj(CarpetLib/src/re)o(st)o(ri)o(ct)p 1485 4596
27 4 v 25 w(3d)p 1598 4596 V 31 w(real8.F77)p Fk(\))16
b(is)515 4762 y Fj(subroutine)39 b(restrict_3d_real8)776
4861 y(\(src,)j(srciext,)e(srcjext,)g(srckext,)820 4961
y(dst,)i(dstiext,)e(dstjext,)g(dstkext,)1905 5255 y Fk(10)p
eop end
%%Page: 11 11
TeXDict begin 11 10 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232
a 515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark
end
 515 232 a 820 523 a Fj(srcbbox,)40
b(dstbbox,)g(regbbox\))645 722 y(integer)172 b(srciext,)40
b(srcjext,)g(srckext)645 822 y(CCTK_REAL8)g(src\(srciext,srcj)o(ex)o
(t,s)o(rc)o(kex)o(t\))645 922 y(integer)172 b(dstiext,)40
b(dstjext,)g(dstkext)645 1021 y(CCTK_REAL8)g(dst\(dstiext,dstj)o(ex)o
(t,d)o(st)o(kex)o(t\))645 1121 y(integer)172 b(srcbbox\(3,3\),)38
b(dstbbox\(3,3\),)g(regbbox\(3,3\))515 1256 y Fk(This)33
b(interpolator)g(assumes)f(that)h(space)f(has)g(thr)o(ee)g(dimensions.)
62 b(The)33 b(arrays)e Fj(src)515 1355 y Fk(and)22 b
Fj(dst)g Fk(contain)h(the)g(sour)o(ce)g(\(\002ne\))f(and)h(destination)
g(\(coarse\))f(grid)h(patches,)g(stor)o(ed)515 1455 y(in)35
b(Fortran)g(or)o(der)-6 b(,)37 b(as)d(is)h(customary)g(in)g(Cactus.)68
b(The)34 b(arrays)g Fj(src)g Fk(and)g Fj(dst)f Fk(have)515
1555 y(the)40 b(shapes)f Fj(\(srciext,srcjext)o(,sr)o(ck)o(ext)o(\))33
b Fk(and)40 b Fj(\(dstiext,dstjex)o(t,d)o(st)o(ke)o(xt\))o
Fk(,)515 1654 y(r)o(espectively)19 b(\227)i(this)h(corr)o(esponds)e(to)
h(the)g Fj(cctk)p 2117 1654 27 4 v 30 w(lsh)f Fk(\002eld)g(in)h(the)g
Fj(cGH)f Fk(str)o(uctur)o(e.)639 1754 y(The)25 b(thr)o(ee)e(bboxes)i
(describe)e(the)i(location)g(and)f(shape)g(of)h(the)f(two)i(arrays)d
(and)h(of)515 1853 y(the)k(r)o(egion)g(that)f(should)i(be)f(pr)o
(olongated)f(in)h(the)g(global)h(grid)e(point)i(index)f(system.)515
1953 y(That)22 b(is,)h(while)g(the)f(two)h(arrays)f Fj(src)f
Fk(and)h Fj(dst)f Fk(ar)o(e)g(stor)o(ed)g(as)i(dense)f(arrays,)f(they)i
(cor)o(-)515 2053 y(r)o(espond)k(to)h(grid)f(patches)h(which)g(in)g
(general)f(have)h(non-unit)g(strides)g(in)g(the)g(global)515
2152 y(index)18 b(system.)25 b(As)18 b(pr)o(olongation)g(is)h(an)f
(operation)g(that)g(is)g(performed)f(between)h(over)o(-)515
2252 y(lapping)23 b(grids,)h(the)g(pr)o(olongation)g(r)o(egion)f(is)h
(the)f(same)g(for)h(both)g(the)f(coarse)g(and)g(the)515
2352 y(\002ne)e(grids.)639 2451 y(A)32 b(few)f(constraints)i(must)f
(hold)g(for)g(these)g(data.)57 b(For)32 b(example,)h(the)f(shapes)g(of)
515 2551 y(the)22 b(arrays)f(must)i(be)f(the)g(same)g(as)g(the)g
(shapes)g(de\002ned)g(by)g(the)g(bounding)h(boxes;)g(the)515
2650 y(strides)e(in)h(the)f(bounding)i(boxes)e(must)h(dif)o(fer)e(by)h
(the)h(r)o(e\002nement)f(factor;)f(the)i(bound-)515 2750
y(ing)j(boxes)h(must)f(overlap,)h(and)e(the)h(r)o(egion's)h(bounding)g
(box)f(must)h(be)e(contained)i(in)515 2850 y(the)j(arrays)g(bounding)h
(boxes,)i(etc.)51 b(Checking)30 b(these)g(constraints)g(makes)g(up)f
(about)515 2949 y(thr)o(ee)20 b(quarters)g(of)h(the)g(r)o(estriction)g
(r)o(outine.)639 3049 y(The)f(bboxes)g(themselves)g(ar)o(e)f(her)o(e)g
(r)o(epr)o(esented)e(as)j(Fortran)g(arrays.)k(Their)19
b(mean-)515 3149 y(ing)i(is)515 3283 y Fj(bbox\(:,1\))38
b Fk(lower)21 b(boundary)f(\(inclusive\))515 3408 y Fj(bbox\(:,2\))38
b Fk(upper)20 b(boundary)g(\(inclusive\))515 3533 y Fj(bbox\(:,3\))38
b Fk(stride)515 3664 y
SDict begin H.S end
 515 3664 a 515 3664 a
SDict begin 12 H.A end
 515 3664
a 515 3664 a
SDict begin [ /View [/XYZ H.V] /Dest (subsubsection.4.3.2) cvn H.B
/DEST pdfmark end
 515 3664 a 88 x Fl(4.3.2)81 b(Prolongation)515
3910 y Fk(Ther)o(e)20 b(ar)o(e)g(many)i(pr)o(olongation)g(operators)f
(implemented.)28 b(They)22 b(dif)o(fer)e(in)h(the)h(or)o(der)515
4010 y(of)c(their)h(interpolation)g(in)g(space)e(\(\002rst)i(and)f
(thir)o(d,)g(or)g(linear)g(and)g(cubic)g(interpolation\))515
4110 y(and)i(in)i(time)f(\(\002rst)g(and)g(second,)g(or)g(linear)g(and)
g(quadratic\).)k(The)c(higher)h(the)f(or)o(der)f(of)515
4209 y(interpolation,)h(the)g(lar)o(ger)e(is)i(the)f(stencil,)h(i.e.)f
(the)h(mor)o(e)f(ghost)i(zones)e(and)g(time)h(levels)515
4309 y(ar)o(e)e(necessary)-9 b(,)20 b(and)g(the)h(mor)o(e)g(expensive)f
(the)h(operation)g(becomes.)639 4408 y(The)217 b(pr)o(olongation)h
(operators)f(live)g(in)g(the)h(\002les)515 4508 y Fj(CarpetLib/src/pr)o
(ol)o(on)o(gat)o(e)p 1572 4508 27 4 v 25 w(3d)p 1685
4508 V 31 w(real8*.F77)p Fk(,)65 b(and)60 b(the)h(\002le)f(names)g
(indicate)515 4608 y(their)41 b(or)o(ders:)65 b Fi(n)q
Fj(tl)40 b Fk(stands)h(for)g Fi(n)h Fk(time)f(levels,)46
b(and)40 b Fj(o)q Fi(n)h Fk(stands)g(for)g(an)f(or)o(der)h
Fi(n)515 4707 y Fk(interpolation)21 b(in)h(space)e(\(which)h(uses)g(a)f
(stencil)h(that)g(is)h Fi(n)d Fg(+)f Fk(1)j(grid)g(points)g(wide\).)639
4807 y(Apart)30 b(fr)o(om)h(taking)g(mor)o(e)g(than)h(one)f
Fj(src)f Fk(array)g(ar)o(gument)h(when)g(using)h(mor)o(e)515
4907 y(than)23 b(one)g(time)g(level,)g(the)g(interface)e(to)j(the)f(pr)
o(olongation)g(operator)f(is)i(equivalent)f(to)515 5006
y(that)d(of)h(the)g(r)o(estriction)g(operator)f(described)g(above.)1905
5255 y(11)p eop end
%%Page: 12 12
TeXDict begin 12 11 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232
a 515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark
end
 515 232 a 515 440 a
SDict begin H.S end
 515
440 a 515 440 a
SDict begin 12 H.A end
 515 440 a 515 440 a
SDict begin [ /View [/XYZ H.V] /Dest (section.5) cvn H.B /DEST pdfmark
end
 515 440 a 86 x Fm(5)119
b(Regridding,)30 b(how)g(and)g(where)e(and)i(when)515
715 y Fk(The)25 b(thorn)h Fj(Carpet)d Fk(pr)o(ovides)h(a)h(r)o(outine)g
Fj(RegisterRegridRou)o(tin)o(e)19 b Fk(wher)o(e)25 b(one)g(can)515
815 y(r)o(egister)20 b(a)h(r)o(egridding)g(r)o(outine.)27
b(Such)21 b(a)f(r)o(egridding)h(r)o(outine)g(does)g(not)h(have)f(to)h
(actu-)515 914 y(ally)k(r)o(egrid)g(anything,)i(it)f(only)g(has)g(to)g
(r)o(eturn)e(the)i(new)g(desir)o(ed)e(grid)h(hierar)o(chy)-9
b(,)27 b(i.e.)515 1014 y(basically)20 b(a)g(description)h(of)g(a)f
Fj(gh)p Fk(.)639 1114 y(Thorn)g Fj(CarpetRegrid)15 b
Fk(pr)o(ovides)k(a)g(user)g(interface)f(to)i(the)g(r)o(egridding)f(r)o
(outines)h(in)515 1213 y(Carpet.)j(All)18 b(it)g(does)g(is)h(take)e(a)h
(r)o(egridding)f(speci\002cation)h(fr)o(om)g(the)g(user)g(and)g
(translate)515 1313 y(that)24 b(into)i(a)e Fj(gh)p Fk(.)36
b(As)25 b(usual,)g(the)g(parts)f(wher)o(e)g(the)h(computer)g(has)f(to)h
(listen)h(to)f(what)f(a)515 1412 y(human)d(being)g(intends)g(ar)o(e)f
(the)h(most)g(complicated.)639 1512 y(As)26 b(humans)h(ar)o(e)e
(usually)i(mor)o(e)e(adept)h(at)f(getting)i(used)f(to)h(computers)f
(than)h(the)515 1612 y(other)e(way)g(ar)o(ound,)g(it)g(is)h(useful)f
(and)f(pr)o(obably)h(necessary)f(to)i(get)f(acquainted)f(with)515
1711 y(how)d(Carpet)f(thinks)i(in)f(or)o(der)f(to)h(make)g(it)g(do)f
(what)h(is)g(intended.)639 1811 y(Carpet)27 b(does)h(not)h(deal)e(with)
i(r)o(eal-valued)c(coor)o(dinates.)47 b(Carpet)27 b(deals)g(with)i(in-)
515 1911 y(teger)23 b(grid)h(point)h(locations)g(only)-9
b(,)26 b(and)e(it)g(counts)h(grid)f(points)h(in)g(terms)f(of)g(the)g
(\002nest)515 2010 y(possible)e(grid)g(\(not)g(the)g(\002nest)g(curr)o
(ently)f(existing)i(grid\).)28 b(The)21 b(\002nest)i(possible)f(grid)g
(is)515 2110 y(de\002ned)j(by)h(the)g(maximum)h(number)f(of)g(r)o
(e\002nement)f(levels)h(set)g(in)h Fj(Carpet)p Fk(.)38
b(Chang-)515 2209 y(ing)19 b(this)h(parameter)e(will)i(change)f(the)g
(meaning)h(of)f(many)g(other)g(values)g(in)h(parameter)515
2309 y(\002les,)33 b(such)e(as)f(e.g.)h(iteration)f(numbers)h
(\(termination,)j(output\).)55 b(The)31 b(only)g(param-)515
2409 y(eter)g(that)h(is)h(speci\002ed)f(in)g(terms)g(of)h(the)f
(coarsest)g(grid)g(is)g(the)g(shape)g(of)g(the)h(coars-)515
2508 y(est)38 b(grid)h(in)g(the)f Fj(global)p 1381 2508
27 4 v 29 w(*)g Fk(parameters)g(of)g Fj(Carpet)p Fk(.)77
b(I)38 b(ther)o(efor)o(e)f(suggest)i(to)g(set)515 2608
y Fj(max)p 652 2608 V 30 w(refinement)p 1122 2608 V 27
w(levels)25 b Fk(to)j(some)f(lar)o(ge)g(number)g(\(e.g.)f(10\),)i(and)e
(then)i(not)g(chang-)515 2708 y(ing)21 b(it)g(while)h(experimenting)f
(with)g(other)g(parameter)e(settings.)639 2807 y(Carpet)d(also)i(does)f
(not)h(know)g(about)g(symmetries.)25 b(When)17 b(specifying)h(the)f
(location)515 2907 y(of)k(a)g(\002ne)g(grid)h(in)f(terms)h(of)f(grid)g
(points,)h(it)g(is)g(the)f(r)o(esponsibility)h(of)g(the)f(user)g(to)h
(place)515 3007 y(the)32 b(\002ne)g(grid)g(corr)o(ectly)-9
b(.)59 b(For)32 b(that)g(one)h(has)f(to)h(take)e(ghost)i(zones)g(and)e
(symmetry)515 3106 y(zones)21 b(into)g(account.)639 3206
y(It)c(is)g(also)f(possible)i(to)e(specify)h(the)f(\002ne)h(grid)g
(locations)g(in)g(terms)g(of)f(r)o(eal-valued)e(co-)515
3305 y(or)o(dinates.)32 b(In)23 b(this)h(case,)f Fj(CarpetRegrid)18
b Fk(translates)23 b(these)g(into)h(integer)f(grid)g(points.)515
3405 y(A)i(good)g(translation)h(is)g(quite)g(complicated,)f(because)g
(it)g(has)h(to)f(take)g(many)h(user)f(ex-)515 3505 y(pectations)g(into)
g(account,)g(such)h(as)e(the)h(location)g(of)g(the)g(origin,)h
(staggering)f(with)g(r)o(e-)515 3604 y(spect)19 b(to)h(the)g(origin,)g
(symmetry)g(boundary)g(conditions,)h(the)e(number)h(of)f(ghost)i(zones)
515 3704 y(etc.)40 b(The)26 b(curr)o(ent)f(translation)h(is)h(naive)e
(and)g(leads)h(to)g(unexpected)f(r)o(esults)g(in)i(many)515
3804 y(cases.)32 b(A)23 b(r)o(outine)g(that)h(does)f(most)h(of)f(the)h
(time)f(what)h(the)f(user)g(expects)g(while)h(being)515
3903 y(easy)g(to)i(understand)f(is)g(pr)o(obably)f(important)i(for)f
(the)g(ease)f(of)i(use)f(of)g(Carpet,)g(but)g(it)515
4003 y(might)d(be)e(some)h(time)g(until)h(it)f(is)g(written.)639
4102 y Fj(CarpetRegrid)e Fk(contains)25 b(also)f(a)f(r)o(outine)h(that)
g(measur)o(es)f(the)g(err)o(or)-6 b(,)24 b(as)f(pr)o(ovided)515
4202 y(in)d(a)g(grid)g(function,)g(and)g(the)g(automatically)g(decides)
f(wher)o(e)h(to)g(r)o(e\002ne.)25 b(This)20 b(is)h(called)515
4302 y(AMR)f(\(adaptive)f(mesh)i(r)o(e\002nement\))g(if)f(it)h(works)h
(ef)o(\002ciently)-9 b(.)639 4401 y(Much)30 b(of)g Fj(CarpetRegrid)24
b Fk(is)31 b(just)f(slabbed)f(together)h(in)g(an)g(attempt)f(to)h
(\002nd)h(out)515 4501 y(what)f(people)h(need)f(and)g(expect.)54
b(The)31 b(thorn)g(is)g(a)g(mess,)i(and)d(a)g(complete)h(r)o(ewrite)515
4601 y(might)20 b(be)f(a)g(good)h(idea,)e(once)i(one)f(knows)i(what)e
(exactly)g(the)g(r)o(ewritten)g(thorn)h(should)515 4700
y(do.)1905 5255 y(12)p eop end
%%Page: 13 13
TeXDict begin 13 12 bop 0 0 a
SDict begin /product where{pop product(Distiller)search{pop pop pop
version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
grestore}if}{pop}ifelse}{pop}ifelse}if end
 0 0 a 515 232 a
SDict begin H.S end
 515 232
a 515 232 a
SDict begin H.R end
 515 232 a 515 232 a
SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark
end
 515 232 a 515 440 a
SDict begin H.S end
 515
440 a 515 440 a
SDict begin 12 H.A end
 515 440 a 515 440 a
SDict begin [ /View [/XYZ H.V] /Dest (section.6) cvn H.B /DEST pdfmark
end
 515 440 a 86 x Fm(6)119
b(Random)31 b(ramblings)515 715 y Fk(Carpet)c(uses)i(the)g(STL,)f
(because)g(the)g(STL)g(pr)o(ovides)g(very)h(useful)f(container)h
(classes)515 815 y(such)e(as)g(vectors,)i(sets,)f(and)f(lists.)46
b(W)-6 b(riting)27 b(these)h(abstract)e(datatypes)g(oneself)h(does)515
914 y(not)21 b(make)f(sense)g(in)h(these)f(times.)26
b(It)21 b(makes)f(much)h(mor)o(e)f(sense)g(to)h(politick)g(computer)515
1014 y(administrators)g(to)g(upgrade)e(their)i(softwar)o(e.)639
1114 y(The)h(STL)f(and)h Fj(CarpetLib)p Fk('s)c(classes)k(need)f(to)h
(be)g(instantiated)g(explicitly)-9 b(.)29 b(Several)515
1213 y(compilers)i(have)g(several)f(\223automatic\224)g(schemes)h(that)
g(handle)g(all)g(template)f(issues)515 1313 y(\223just)g(\002ne\224.)53
b(Except)29 b(they)h(don't.)54 b(One)30 b(wants)g(to)h(select)f(the)g
(following:)45 b(No)30 b(auto-)515 1412 y(matic)e(inclusion)h(of)f
Fj(.cc)f Fk(\002les,)j(no)e(automatic)g(template)g(instantiation)h(at)e
(link)i(time.)515 1512 y(Instead,)20 b(most)h(templates)f(ar)o(e)f
(instantiated)h(explicitly)h(by)f Fj(CarpetLib)p Fk(.)i(It)e(is)h(also)
f(nec-)515 1612 y(essary)27 b(to)g(specify)g(to)g(instantiate)h(used)f
(templates)f(automatically)-9 b(.)45 b(The)27 b(explicit)g(in-)515
1711 y(stantiations)32 b(of)f Fj(CarpetLib)p Fk('s)d(classes)j(live)g
(in)h(the)f Fj(.cc)f Fk(\002les)i(corr)o(esponding)f(to)h(the)515
1811 y Fj(.hh)18 b Fk(\002le)i(that)g(de\002ne)f(the)h(templates.)25
b(The)20 b(STL)f(templates)g(ar)o(e)f(instantiated)i(in)g(the)g(\002le)
515 1911 y Fj(CarpetLib/src/de)o(fs)o(.c)o(c)p Fk(.)639
2010 y(Carpet)e(makes)h(extensive)f(use)h(of)g(the)g
Fj(assert\(\))d Fk(macr)o(o)i(in)h(C.)g(This)g(is)g(a)g(quick)g(and)515
2110 y(easy)j(way)h(to)g(ensur)o(e)f(that)g(a)g(certain)h(condition)g
(holds.)32 b(Assert)23 b(statements)g(abort)f(the)515
2209 y(code)c(if)f(the)i(condition)g(does)f(not)h(hold.)25
b(Although)19 b(I)f(try)g(to)h(pr)o(ovide)e(useful)h(err)o(or)f(mes-)
515 2309 y(sages)25 b(to)h(the)f(user)-6 b(,)26 b(many)f(unexpected)g
(cases)g(ar)o(e)f(only)i(caught)f(deep)f(inside)i(Carpet)515
2409 y(and)g(manifest)g(themselves)h(as)g(assertion)g(failur)o(es.)41
b(If)27 b(you)g(r)o(eport)f(an)g(assertion)h(fail-)515
2508 y(ur)o(e,)i(it)f(is)h(vitally)f(important)h(to)f(r)o(emember)g
(theaccompanying)g(\002le)h(name)f(and)g(line)515 2608
y(number)-6 b(.)35 b(It)24 b(would)h(also)f(be)g(useful)g(to)h(extract)
e(fr)o(om)g(the)h(cor)o(e)g(\002le)g(a)g(stack)g(backtrace)515
2708 y(and)c(the)h(values)f(of)h(the)g(local)g(variables)e(of)i(the)g
(curr)o(ent)f(stack)h(frame.)639 2807 y(Using)37 b(symmetry)f(boundary)
g(conditions)h(such)g(as)e(octant)h(mode)g(is)h(curr)o(ently)515
2907 y(still)e(awkwar)o(d)e(in)h(Carpet.)65 b(Ther)o(e)34
b(ar)o(e)e(several)i(r)o(easons)g(for)g(this:)53 b Fj(CarpetRegrid)515
3007 y Fk(does)28 b(not)g(know)h(about)f(symmetries,)i(and)e(hence)g
(doesn't)g(take)g(them)g(into)h(account)515 3106 y(when)21
b(choosing)h(r)o(e\002nement)e(r)o(egions.)25 b(The)c(symmetry)g
(conditions)g(on)g(the)g(\002ner)f(grid)515 3206 y(might)i(be)f(dif)o
(fer)o(ent)e(fr)o(om)i(the)g(conditions)i(on)e(the)h(coarser)e(grids,)h
(and)g(the)g(symmetry)515 3305 y(thorns)31 b(cannot)f(cope)f(with)i
(this,)h(so)f(this)f(situation)h(must)f(be)g(avoided:)42
b(one)31 b(cannot)515 3405 y(use)24 b Fj(avoid)p 889
3405 27 4 v 29 w(origin=yes)p Fk(,)d(because)j(the)g(\002ner)h(grids)f
(all)h(have)e Fj(avoid)p 2797 3405 V 30 w(origin=no)d
Fk(due)515 3505 y(to)h(the)g(vertex-centr)o(ed)d(r)o(e\002nement.)1905
5255 y(13)p eop end
%%Trailer

userdict /end-hook known{end-hook}if
%%EOF