Newer
Older
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
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"using LinearAlgebra\n",
"using Plots\n",
"import JSON\n",
"# using Quaternions\n",
"using StaticArrays, Rotations\n",
"using Distributed\n",
"using StaticArrays, BenchmarkTools\n",
"using Base.Threads\n",
"using CUDAnative\n",
"using CuArrays,CUDAdrv \n",
"using Test\n",
"import Base: +, * , -, ^"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Todo\n",
"- create struct for material and get for each edge its properties\n",
"- implement getTimestep (done)\n",
"- implement on single voxel (done)\n",
"- get reat E and L (done)\n",
"- compare to Frame3dd"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"struct Vector3\n",
" x::Float64\n",
" y::Float64\n",
" z::Float64\n",
" function Vector3()\n",
" x=0.0\n",
" y=0.0\n",
" z=0.0\n",
" new(x,y,z)\n",
" end\n",
" function Vector3(x,y,z)\n",
" new(x,y,z)\n",
" end\n",
"end\n",
"struct Quaternion\n",
" x::Float64\n",
" y::Float64\n",
" z::Float64\n",
" w::Float64\n",
" function Quaternion()\n",
" x=0.0\n",
" y=0.0\n",
" z=0.0\n",
" w=1.0\n",
" new(x,y,z,w)\n",
" end\n",
" function Quaternion(x,y,z,w)\n",
" new(x,y,z,w)\n",
" end\n",
"end\n",
"struct RotationMatrix\n",
" te1::Float64\n",
" te2::Float64\n",
" te3::Float64\n",
" te4::Float64\n",
" te5::Float64\n",
" te6::Float64\n",
" te7::Float64\n",
" te8::Float64\n",
" te9::Float64\n",
" te10::Float64\n",
" te11::Float64\n",
" te12::Float64\n",
" te13::Float64\n",
" te14::Float64\n",
" te15::Float64\n",
" te16::Float64\n",
" function RotationMatrix()\n",
" te1 =0.0\n",
" te2 =0.0\n",
" te3 =0.0\n",
" te4 =0.0\n",
" te5 =0.0\n",
" te6 =0.0\n",
" te7 =0.0\n",
" te8 =0.0\n",
" te9 =0.0\n",
" te10=0.0\n",
" te11=0.0\n",
" te12=0.0\n",
" te13=0.0\n",
" te14=0.0\n",
" te15=0.0\n",
" te16=0.0\n",
" new(te1,te2,te3,te4,te5,te6,te7,te8,te9,te10,te11,te12,te13,te14,te15,te16)\n",
" end\n",
" function RotationMatrix(te1,te2,te3,te4,te5,te6,te7,te8,te9,te10,te11,te12,te13,te14,te15,te16)\n",
" new(te1,te2,te3,te4,te5,te6,te7,te8,te9,te10,te11,te12,te13,te14,te15,te16)\n",
" end\n",
"end\n",
"\n",
"+(f::Vector3, g::Vector3)=Vector3(f.x+g.x , f.y+g.y,f.z+g.z )\n",
"-(f::Vector3, g::Vector3)=Vector3(f.x-g.x , f.y-g.y,f.z-g.z )\n",
"*(f::Vector3, g::Vector3)=Vector3(f.x*g.x , f.y*g.y,f.z*g.z )\n",
"\n",
"+(f::Vector3, g::Number)=Vector3(f.x+g , f.y+g,f.z+g )\n",
"-(f::Vector3, g::Number)=Vector3(f.x-g , f.y-g,f.z-g )\n",
"*(f::Vector3, g::Number)=Vector3(f.x*g , f.y*g,f.z*g )\n",
"\n",
"+(g::Vector3, f::Number)=Vector3(f.x+g , f.y+g,f.z+g )\n",
"-(g::Vector3, f::Number)=Vector3(g-f.x , g-f.y,g-f.z )\n",
"*(g::Vector3, f::Number)=Vector3(f.x*g , f.y*g,f.z*g )\n",
"\n",
"addX(f::Vector3, g::Number)=Vector3(f.x+g , f.y,f.z)\n",
"addY(f::Vector3, g::Number)=Vector3(f.x , f.y+g,f.z )\n",
"addZ(f::Vector3, g::Number)=Vector3(f.x , f.y,f.z+g )\n",
"\n",
"function normalizeVector3(f::Vector3)\n",
" leng=sqrt((f.x * f.x) + (f.y * f.y) + (f.z * f.z))\n",
" return Vector3(f.x/leng,f.y/leng,f.z/leng)\n",
" \n",
"end\n",
"function normalizeQuaternion(f::Quaternion)\n",
" l = sqrt((f.x * f.x) + (f.y * f.y) + (f.z * f.z)+ (f.w * f.w))\n",
" if l === 0 \n",
" qx = 0\n",
" qy = 0\n",
" qz = 0\n",
" qw = 1\n",
" else \n",
" l = 1 / l\n",
" qx = f.x * l\n",
" qy = f.y * l\n",
" qz = f.z * l\n",
" qw = f.w * l\n",
" end\n",
" return Quaternion(qx,qy,qz,qw)\n",
"end\n",
"\n",
"function normalizeQuaternion1!(fx::Float64,fy::Float64,fz::Float64,fw::Float64)\n",
" l = sqrt((fx * fx) + (fy * fy) + (fz * fz)+ (fw * fw))\n",
" if l === 0 \n",
" qx = 0.0\n",
" qy = 0.0\n",
" qz = 0.0\n",
" qw = 1.0\n",
" else \n",
" l = 1.0 / l\n",
" qx = fx * l\n",
" qy = fy * l\n",
" qz = fz * l\n",
" qw = fw * l\n",
" end\n",
" return qx,qy,qz,qw\n",
"end\n",
"\n",
"\n",
"function dotVector3(f::Vector3, g::Vector3)\n",
" return (f.x * g.x) + (f.y * g.y) + (f.z * g.z)\n",
"end\n",
"\n",
"function Base.show(io::IO, v::Vector3)\n",
" print(io, \"x:$(v.x), y:$(v.y), z:$(v.z)\")\n",
"end\n",
"\n",
"function Base.show(io::IO, v::Quaternion)\n",
" print(io, \"x:$(v.x), y:$(v.y), z:$(v.z), w:$(v.z)\")\n",
"end\n",
"\n",
"Base.Broadcast.broadcastable(q::Vector3) = Ref(q)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"simulateParallel (generic function with 2 methods)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function simulateParallel(numTimeSteps,dt)\n",
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
" # initialize(setup)\n",
" \n",
" for i in 1:numTimeSteps\n",
" #println(\"Timestep:\",i)\n",
" doTimeStep(dt,i)\n",
" end\n",
"end\n",
"\n",
"function simulateParallel(metavoxel,numTimeSteps,dt)\n",
" # initialize(setup)\n",
" \n",
" for i in 1:numTimeSteps\n",
" #println(\"Timestep:\",i)\n",
" doTimeStep(metavoxel,dt,i)\n",
" end\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"initialize (generic function with 1 method)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function initialize(setup)\n",
" nodes = setup[\"nodes\"]\n",
" edges = setup[\"edges\"]\n",
"\n",
" i=1\n",
" # pre-calculate current position\n",
" for node in nodes\n",
" # element=parse(Int,node[\"id\"][2:end])\n",
" N_position[i]=Vector3(node[\"position\"][\"x\"]/100.0,node[\"position\"][\"y\"]/100.0,node[\"position\"][\"z\"]/100.0)\n",
" N_restrained[i]=node[\"restrained_degrees_of_freedom\"][1] ## todo later consider other degrees of freedom\n",
" N_displacement[i]=Vector3(node[\"displacement\"][\"x\"],node[\"displacement\"][\"y\"],node[\"displacement\"][\"z\"])\n",
" N_angle[i]=Vector3(node[\"angle\"][\"x\"],node[\"angle\"][\"y\"],node[\"angle\"][\"z\"])\n",
" N_force[i]=Vector3(node[\"force\"][\"x\"]/1,node[\"force\"][\"y\"]/1,node[\"force\"][\"z\"]/1)\n",
" N_currPosition[i]=Vector3(node[\"position\"][\"x\"]/100.0,node[\"position\"][\"y\"]/100.0,node[\"position\"][\"z\"]/100.0)\n",
"\n",
" # for dynamic simulations\n",
" # append!(N_posTimeSteps,[[]])\n",
" # append!(N_angTimeSteps,[[]])\n",
"\n",
" i=i+1\n",
" end \n",
"\n",
" i=1\n",
" # pre-calculate the axis\n",
" for edge in edges\n",
" # element=parse(Int,edge[\"id\"][2:end])\n",
"\n",
" # find the nodes that the lements connects\n",
" fromNode = nodes[edge[\"source\"]+1]\n",
" toNode = nodes[edge[\"target\"]+1]\n",
"\n",
"\n",
" node1 = [fromNode[\"position\"][\"x\"]/100.0 fromNode[\"position\"][\"y\"]/100.0 fromNode[\"position\"][\"z\"]/100.0]\n",
" node2 = [toNode[\"position\"][\"x\"]/100.0 toNode[\"position\"][\"y\"]/100.0 toNode[\"position\"][\"z\"]/100.0]\n",
"\n",
" length=norm(node2-node1)\n",
" axis=normalize(collect(Iterators.flatten(node2-node1)))\n",
"\n",
" E_source[i]=edge[\"source\"]+1\n",
" E_target[i]=edge[\"target\"]+1\n",
" E_area[i]=edge[\"area\"]\n",
" E_density[i]=edge[\"density\"]\n",
" E_stiffness[i]=edge[\"stiffness\"]\n",
" E_axis[i]=Vector3(axis[1],axis[2],axis[3])\n",
" E_currentRestLength[i]=length #?????????? todo change\n",
"# E_currentRestLength[i]=75/sqrt(2)\n",
"\n",
" N_edgeID[E_source[i],N_currEdge[E_source[i]]]=i\n",
" N_edgeFirst[E_source[i],N_currEdge[E_source[i]]]=true\n",
" N_currEdge[E_source[i]]+=1\n",
"\n",
" N_edgeID[E_target[i],N_currEdge[E_target[i]]]=i\n",
" N_edgeFirst[E_target[i],N_currEdge[E_target[i]]]=false\n",
" N_currEdge[E_target[i]]+=1\n",
"\n",
"\n",
" # for dynamic simulations\n",
" # append!(E_stressTimeSteps,[[]])\n",
"\n",
" i=i+1\n",
" end \n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"doTimeStep! (generic function with 1 method)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function doTimeStep(dt,currentTimeStep)\n",
" # update forces: go through edges, get currentposition from nodes, calc pos2 and update stresses and interior forces of nodes\n",
" run_updateEdges!(\n",
" E_sourceGPU, \n",
" E_targetGPU,\n",
" E_areaGPU,\n",
" E_densityGPU,\n",
" E_stiffnessGPU,\n",
" E_stressGPU,\n",
" E_axisGPU,\n",
" E_currentRestLengthGPU,\n",
" E_pos2GPU,\n",
" E_angle1vGPU,\n",
" E_angle2vGPU,\n",
" E_angle1GPU,\n",
" E_angle2GPU,\n",
" E_intForce1GPU,\n",
" E_intMoment1GPU,\n",
" E_intForce2GPU,\n",
" E_intMoment2GPU,\n",
" E_dampGPU,\n",
" N_currPositionGPU,\n",
" N_orientGPU)\n",
" \n",
" # update forces: go through nodes and update interior force (according to int forces from edges), integrate and update currpos\n",
" run_updateNodes!(dt,currentTimeStep,\n",
" N_positionGPU, \n",
" N_restrainedGPU,\n",
" N_displacementGPU,\n",
" N_angleGPU,\n",
" N_currPositionGPU,\n",
" N_linMomGPU,\n",
" N_angMomGPU,\n",
" N_intForceGPU,\n",
" N_intMomentGPU,\n",
" N_forceGPU,\n",
" N_momentGPU,\n",
" N_orientGPU,\n",
" N_edgeIDGPU, \n",
" N_edgeFirstGPU, \n",
" E_intForce1GPU,\n",
" E_intMoment1GPU,\n",
" E_intForce2GPU,\n",
" E_intMoment2GPU)\n",
" \n",
"end\n",
"\n",
"function doTimeStep!(metavoxel,dt,currentTimeStep)\n",
" # update forces: go through edges, get currentposition from nodes, calc pos2 and update stresses and interior forces of nodes\n",
" run_updateEdges!(\n",
" metavoxel[\"E_sourceGPU\"], \n",
" metavoxel[\"E_targetGPU\"],\n",
" metavoxel[\"E_areaGPU\"],\n",
" metavoxel[\"E_densityGPU\"],\n",
" metavoxel[\"E_stiffnessGPU\"],\n",
" metavoxel[\"E_stressGPU\"],\n",
" metavoxel[\"E_axisGPU\"],\n",
" metavoxel[\"E_currentRestLengthGPU\"],\n",
" metavoxel[\"E_pos2GPU\"],\n",
" metavoxel[\"E_angle1vGPU\"],\n",
" metavoxel[\"E_angle2vGPU\"],\n",
" metavoxel[\"E_angle1GPU\"],\n",
" metavoxel[\"E_angle2GPU\"],\n",
" metavoxel[\"E_intForce1GPU\"],\n",
" metavoxel[\"E_intMoment1GPU\"],\n",
" metavoxel[\"E_intForce2GPU\"],\n",
" metavoxel[\"E_intMoment2GPU\"],\n",
" metavoxel[\"E_dampGPU\"],\n",
" metavoxel[\"N_currPositionGPU\"],\n",
" metavoxel[\"N_orientGPU\"])\n",
" \n",
" # update forces: go through nodes and update interior force (according to int forces from edges), integrate and update currpos\n",
" run_updateNodes!(dt,currentTimeStep,\n",
" metavoxel[\"N_positionGPU\"], \n",
" metavoxel[\"N_restrainedGPU\"],\n",
" metavoxel[\"N_displacementGPU\"],\n",
" metavoxel[\"N_angleGPU\"],\n",
" metavoxel[\"N_currPositionGPU\"],\n",
" metavoxel[\"N_linMomGPU\"],\n",
" metavoxel[\"N_angMomGPU\"],\n",
" metavoxel[\"N_intForceGPU\"],\n",
" metavoxel[\"N_intMomentGPU\"],\n",
" metavoxel[\"N_forceGPU\"],\n",
" metavoxel[\"N_momentGPU\"],\n",
" metavoxel[\"N_orientGPU\"],\n",
" metavoxel[\"N_edgeIDGPU\"], \n",
" metavoxel[\"N_edgeFirstGPU\"], \n",
" metavoxel[\"E_intForce1GPU\"],\n",
" metavoxel[\"E_intMoment1GPU\"],\n",
" metavoxel[\"E_intForce2GPU\"],\n",
" metavoxel[\"E_intMoment2GPU\"])\n",
" \n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"run_updateEdges! (generic function with 1 method)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function updateEdges!(E_source,E_target,E_area,E_density,E_stiffness,E_stress,E_axis,\n",
" E_currentRestLength,E_pos2,E_angle1v,E_angle2v,\n",
" E_angle1,E_angle2,E_intForce1,E_intMoment1,E_intForce2,E_intMoment2,E_damp,\n",
" N_currPosition,N_orient)\n",
"\n",
" index = (blockIdx().x - 1) * blockDim().x + threadIdx().x\n",
" stride = blockDim().x * gridDim().x\n",
" ## @cuprintln(\"thread $index, block $stride\")\n",
" N=length(E_source)\n",
" for i = index:stride:N\n",
" \n",
" @inbounds pVNeg=N_currPosition[E_source[i]]\n",
" @inbounds pVPos=N_currPosition[E_target[i]]\n",
" \n",
" @inbounds oVNeg=N_orient[E_source[i]]\n",
" @inbounds oVPos=N_orient[E_target[i]]\n",
" \n",
" @inbounds oldPos2=Vector3(E_pos2[i].x,E_pos2[i].y,E_pos2[i].z) #?copy?\n",
" @inbounds oldAngle1v = Vector3(E_angle1v[i].x,E_angle1v[i].y,E_angle1v[i].z)\n",
" @inbounds oldAngle2v = Vector3(E_angle2v[i].x,E_angle2v[i].y,E_angle2v[i].z)# remember the positions/angles from last timestep to calculate velocity\n",
" \n",
" \n",
" @inbounds E_pos2[i],E_angle1v[i],E_angle2v[i],E_angle1[i],E_angle2[i],totalRot= orientLink!(E_currentRestLength[i],pVNeg,pVPos,oVNeg,oVPos,E_axis[i])\n",
" \n",
" @inbounds dPos2 = Vector3(0.5,0.5,0.5) * (E_pos2[i]-oldPos2) #deltas for local damping. velocity at center is half the total velocity\n",
" @inbounds dAngle1 = Vector3(0.5,0.5,0.5) *(E_angle1v[i]-oldAngle1v)\n",
" @inbounds dAngle2 = Vector3(0.5,0.5,0.5) *(E_angle2v[i]-oldAngle2v)\n",
" \n",
" \n",
" @inbounds strain=(E_pos2[i].x/E_currentRestLength[i])\n",
" \n",
" positiveEnd=true\n",
" if axialStrain( positiveEnd,strain)>100.0\n",
" diverged=true\n",
" @cuprintln(\"DIVERGED!!!!!!!!!!\")\n",
" return \n",
" end\n",
" \n",
" @inbounds E = E_stiffness[i]\n",
" \n",
" \n",
" \n",
" @inbounds l = E_currentRestLength[i]\n",
" \n",
" \n",
" nu=0\n",
"# L = 5.0 #?? change!!!!!!\n",
" L=l\n",
" a1 = E*L # EA/L : Units of N/m\n",
" a2 = E * L*L*L / (12.0*(1+nu)) # GJ/L : Units of N-m\n",
" b1 = E*L # 12EI/L^3 : Units of N/m\n",
" b2 = E*L*L/2.0 # 6EI/L^2 : Units of N (or N-m/m: torque related to linear distance)\n",
" b3 = E*L*L*L/6.0 # 2EI/L : Units of N-m\n",
" \n",
" nu=0.35\n",
" W = 75\n",
"# L = W/sqrt(2)\n",
" l=L\n",
" n_min = 1\n",
" n_max = 7\n",
" # Cross Section inputs, must be floats\n",
" mass=125000 #before for voxel\n",
" mass=1\n",
" E = 2000e9 # MPa\n",
" G = E * 1 / 3 # MPa\n",
" h = 2.38/100.0 # mm\n",
" b = 2.38/100.0 # mm\n",
" rho = 7.85e-9 / 3 # kg/mm^3\n",
" S = h * b\n",
" Sy = (S * (6 + 12 * nu + 6 * nu^2)/ (7 + 12 * nu + 4 * nu^2))\n",
" # For solid rectangular cross section (width=b, depth=d & ( b < d )):\n",
" Q = 1 / 3 - 0.2244 / (min(h / b, b / h) + 0.1607)\n",
" Jxx = Q * min(h * b^3, b * h^3)\n",
" s=b\n",
" \n",
" MaxFreq2=E*s/mass\n",
" dt= 1/(6.283185*sqrt(MaxFreq2))\n",
"\n",
"\n",
" ##if voxels\n",
" #nu=0\n",
" #L=l\n",
" #a1 = E*L # EA/L : Units of N/m\n",
" #a2 = E * L*L*L / (12.0*(1+nu)) # GJ/L : Units of N-m\n",
" #b1 = E*L # 12EI/L^3 : Units of N/m\n",
" #b2 = E*L*L/2.0 # 6EI/L^2 : Units of N (or N-m/m: torque related to linear distance)\n",
" #b3 = E*L*L*L/6.0 # 2EI/L : Units of N-m\n",
"\n",
" I= b*h^3/12\n",
" J=b*h*(b*b+h*h)/12\n",
" a1=E*b*h/L\n",
" a2=G*J/L\n",
" b1=12*E*I/(L^3)\n",
" b2=6*E*I/(L^2)\n",
" b3=2*E*I/(L)\n",
" \n",
" \n",
"\n",
" \n",
" #inbounds currentTransverseArea=25.0 #?? change!!!!!! E_area[i]\n",
" @inbounds currentTransverseArea= b*h\n",
" @inbounds _stress=updateStrain(strain,E)\n",
" \n",
" #@inbounds currentTransverseArea= E_area[i]\n",
" #@inbounds _stress=updateStrain(strain,E_stiffness[i])\n",
" \n",
" @inbounds E_stress[i]=_stress\n",
" \n",
" #@cuprintln(\"_stress $_stress\")\n",
" x=(_stress*currentTransverseArea)\n",
" @inbounds y=(b1*E_pos2[i].y-b2*(E_angle1v[i].z + E_angle2v[i].z))\n",
" @inbounds z=(b1*E_pos2[i].z + b2*(E_angle1v[i].y + E_angle2v[i].y))\n",
" \n",
" x=convert(Float64,x)\n",
" y=convert(Float64,y)\n",
" z=convert(Float64,z)\n",
" \n",
" # Use Curstress instead of -a1*Pos2.x to account for non-linear deformation \n",
" forceNeg = Vector3(x,y,z)\n",
" \n",
" forcePos = Vector3(-x,-y,-z)\n",
" \n",
" @inbounds x= (a2*(E_angle2v[i].x-E_angle1v[i].x))\n",
" @inbounds y= (-b2*E_pos2[i].z-b3*(2.0*E_angle1v[i].y+E_angle2v[i].y))\n",
" @inbounds z=(b2*E_pos2[i].y - b3*(2.0*E_angle1v[i].z + E_angle2v[i].z)) \n",
" x=convert(Float64,x)\n",
" y=convert(Float64,y)\n",
" z=convert(Float64,z)\n",
" momentNeg = Vector3(x,y,z)\n",
" \n",
"\n",
" @inbounds x= (a2*(E_angle1v[i].x-E_angle2v[i].x))\n",
" @inbounds y= (-b2*E_pos2[i].z- b3*(E_angle1v[i].y+2.0*E_angle2v[i].y))\n",
" @inbounds z=(b2*E_pos2[i].y - b3*(E_angle1v[i].z + 2.0*E_angle2v[i].z))\n",
" x=convert(Float64,x)\n",
" y=convert(Float64,y)\n",
" z=convert(Float64,z)\n",
" momentPos = Vector3(x,y,z)\n",
" \n",
" \n",
" ### damping\n",
" @inbounds if E_damp[i] #first pass no damping\n",
" sqA1=CUDAnative.sqrt(a1) \n",
" sqA2xIp=CUDAnative.sqrt(a2*L*L/6.0) \n",
" sqB1=CUDAnative.sqrt(b1) \n",
" sqB2xFMp=CUDAnative.sqrt(b2*L/2) \n",
" sqB3xIp=CUDAnative.sqrt(b3*L*L/6.0)\n",
" \n",
" dampingMultiplier=Vector3(28099.3,28099.3,28099.3) # 2*mat->_sqrtMass*mat->zetaInternal/previousDt;?? todo link to material\n",
" \n",
" zeta=1\n",
" dampingM= 2*sqrt(mass)*zeta/dt\n",
" dampingMultiplier=Vector3(dampingM,dampingM,dampingM)\n",
" \n",
" posCalc=Vector3(sqA1*dPos2.x, sqB1*dPos2.y - sqB2xFMp*(dAngle1.z+dAngle2.z),sqB1*dPos2.z + sqB2xFMp*(dAngle1.y+dAngle2.y))\n",
" \n",
" \n",
" forceNeg =forceNeg + (dampingMultiplier*posCalc);\n",
" forcePos =forcePos - (dampingMultiplier*posCalc);\n",
"\n",
" momentNeg -= Vector3(0.5,0.5,0.5)*dampingMultiplier*Vector3(-sqA2xIp*(dAngle2.x - dAngle1.x),\n",
" sqB2xFMp*dPos2.z + sqB3xIp*(2*dAngle1.y + dAngle2.y),\n",
" -sqB2xFMp*dPos2.y + sqB3xIp*(2*dAngle1.z + dAngle2.z));\n",
" momentPos -= Vector3(0.5,0.5,0.5)*dampingMultiplier*Vector3(sqA2xIp*(dAngle2.x - dAngle1.x),\n",
" sqB2xFMp*dPos2.z + sqB3xIp*(dAngle1.y + 2*dAngle2.y),\n",
" -sqB2xFMp*dPos2.y + sqB3xIp*(dAngle1.z + 2*dAngle2.z));\n",
"\n",
" else\n",
" @inbounds E_damp[i]=true \n",
" end\n",
"\n",
" smallAngle=true\n",
" if !smallAngle # ?? check\n",
" @inbounds forceNeg = RotateVec3DInv(E_angle1[i],forceNeg)\n",
" @inbounds momentNeg = RotateVec3DInv(E_angle1[i],momentNeg)\n",
" end\n",
" \n",
" @inbounds forcePos = RotateVec3DInv(E_angle2[i],forcePos)\n",
" @inbounds momentPos = RotateVec3DInv(E_angle2[i],momentPos)\n",
"\n",
" @inbounds forceNeg =toAxisOriginalVector3(forceNeg,E_axis[i])\n",
" @inbounds forcePos =toAxisOriginalVector3(forcePos,E_axis[i])\n",
"\n",
" @inbounds momentNeg=toAxisOriginalQuat(momentNeg,E_axis[i])# TODOO CHECKKKKKK\n",
" @inbounds momentPos=toAxisOriginalQuat(momentPos,E_axis[i])\n",
"\n",
"\n",
" @inbounds E_intForce1[i] =forceNeg\n",
" @inbounds E_intForce2[i] =forcePos\n",
" \n",
"\n",
"\n",
" @inbounds x= momentNeg.x\n",
" @inbounds y= momentNeg.y\n",
" @inbounds z= momentNeg.z \n",
" x=convert(Float64,x)\n",
" y=convert(Float64,y)\n",
" z=convert(Float64,z)\n",
" \n",
" @inbounds E_intMoment1[i]=Vector3(x,y,z)\n",
"\n",
" @inbounds x= momentNeg.x\n",
" @inbounds y= momentNeg.y\n",
" @inbounds z= momentNeg.z\n",
" x=convert(Float64,x)\n",
" y=convert(Float64,y)\n",
" z=convert(Float64,z)\n",
" \n",
" @inbounds E_intMoment2[i]=Vector3(x,y,z)\n",
" \n",
" #x=E_pos2[i].x*10000000000\n",
" #y=E_pos2[i].y*10000000000\n",
" #z=E_pos2[i].z*10000000000\n",
" #@cuprintln(\"pos2 x $x, y $y, z $z \")\n",
" ##x=E_intMoment2[i].x*10000000000\n",
" #y=E_intMoment2[i].y*10000000000\n",
" #z=E_intMoment2[i].z*10000000000\n",
" #@cuprintln(\"E_intMoment2 x $x, y $y, z $z \")\n",
"\n",
" \n",
" \n",
" end\n",
" return\n",
"end\n",
"\n",
"function run_updateEdges!(E_source,E_target,E_area,E_density,E_stiffness,\n",
" E_stress,E_axis,E_currentRestLength,E_pos2,E_angle1v,E_angle2v,\n",
" E_angle1,E_angle2,E_intForce1,E_intMoment1,E_intForce2,E_intMoment2,\n",
" E_damp,N_currPosition,N_orient)\n",
" N=length(E_source)\n",
" numblocks = ceil(Int, N/256)\n",
" CuArrays.@sync begin\n",
" @cuda threads=256 blocks=numblocks updateEdges!(E_source,E_target,E_area,E_density,\n",
" E_stiffness,E_stress,E_axis,E_currentRestLength,E_pos2,E_angle1v,\n",
" E_angle2v,E_angle1,E_angle2,E_intForce1,E_intMoment1,E_intForce2,\n",
" E_intMoment2,E_damp,N_currPosition,N_orient)\n",
" end\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"run_updateNodes! (generic function with 1 method)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function updateNodes!(dt,currentTimeStep,N_position, N_restrained,N_displacement,N_angle,N_currPosition,N_linMom,N_angMom,N_intForce,N_intMoment,N_force,N_moment,N_orient,N_edgeID,N_edgeFirst,E_intForce1,E_intMoment1,E_intForce2,E_intMoment2)\n",
"\n",
" index = (blockIdx().x - 1) * blockDim().x + threadIdx().x\n",
" stride = blockDim().x * gridDim().x\n",
" ## @cuprintln(\"thread $index, block $stride\")\n",
" N,M=size(N_edgeID)\n",
" for i = index:stride:N\n",
" @inbounds if N_restrained[i]\n",
" return\n",
" else\n",
" for j in 1:M\n",
" temp=N_edgeID[i,j]\n",
" @inbounds if (N_edgeID[i,j]!=-1)\n",
" #@cuprintln(\"i $i, j $j, N_edgeID[i,j] $temp\")\n",
" @inbounds N_intForce[i]=ifelse(N_edgeFirst[i,j], N_intForce[i]+E_intForce1[N_edgeID[i,j]], N_intForce[i]+E_intForce2[N_edgeID[i,j]] )\n",
" @inbounds N_intMoment[i]=ifelse(N_edgeFirst[i,j], N_intMoment[i]+E_intMoment1[N_edgeID[i,j]], N_intMoment[i]+E_intMoment2[N_edgeID[i,j]] )\n",
" end\n",
" end\n",
" @inbounds curForce = force(N_intForce[i],N_orient[i],N_force[i],true,currentTimeStep)\n",
" \n",
" #@inbounds N_force[i]=Vector3(0,0,0) ##????\n",
" \n",
" @inbounds N_intForce[i]=Vector3(0,0,0)\n",
" \n",
" #x=curForce.x\n",
" #y=curForce.y\n",
" #z=curForce.z\n",
" #@cuprintln(\"curForce x $x, y $y, z $z \")\n",
" \n",
" #x=N_linMom[i].x*10000000000\n",
" #y=N_linMom[i].y*10000000000\n",
" #z=N_linMom[i].z*10000000000\n",
" #@cuprintln(\"N_linMom[i] x $x, y $y, z $z \")\n",
" \n",
" \n",
" @inbounds N_linMom[i]=N_linMom[i]+curForce*Vector3(dt,dt,dt) #todo make sure right\n",
" massInverse=8e-6 # todo ?? later change //8e-6\n",
" mass=1\n",
" massInverse=1.0/mass #\n",
" @inbounds translate=N_linMom[i]*Vector3((dt*massInverse),(dt*massInverse),(dt*massInverse)) # ??massInverse\n",
" \n",
" #x=translate.x*10000000000\n",
" #y=translate.y*10000000000\n",
" #z=translate.z*10000000000\n",
" #@cuprintln(\"translate x $x, y $y, z $z \")\n",
" \n",
" @inbounds N_currPosition[i]=N_currPosition[i]+translate\n",
" @inbounds N_displacement[i]=N_displacement[i]+translate\n",
" \n",
" \n",
" \n",
" # Rotation\n",
" @inbounds curMoment = moment(N_intMoment[i],N_orient[i],N_moment[i]) \n",
" \n",
" \n",
" \n",
" @inbounds N_intMoment[i]=Vector3(0,0,0) # do i really need it?\n",
" \n",
" @inbounds N_angMom[i]=N_angMom[i]+curMoment*Vector3(dt,dt,dt)\n",
" \n",
" \n",
" \n",
" \n",
" momentInertiaInverse=1.92e-6 # todo ?? later change 1/Inertia (1/(kg*m^2))\n",
" \n",
" \n",
" @inbounds temp=FromRotationVector(N_angMom[i]*Vector3((dt*momentInertiaInverse),(dt*momentInertiaInverse),(dt*momentInertiaInverse)))\n",
" \n",
" \n",
" #x=temp.x*10000000000\n",
" #y=temp.y*10000000000\n",
" #z=temp.z*10000000000\n",
" #@cuprintln(\"temp x $x, y $y, z $z \")\n",
" \n",
" @inbounds N_orient[i]=multiplyQuaternions(temp,N_orient[i])\n",
" \n",
" #@inbounds x= N_orient[i].x*temp.x\n",
" #@inbounds y= N_orient[i].y*temp.y\n",
" #@inbounds z= N_orient[i].z*temp.z\n",
" #@inbounds w= N_orient[i].w*temp.w\n",
" #x=convert(Float64,x)\n",
" #y=convert(Float64,y)\n",
" #z=convert(Float64,z)\n",
" #w=convert(Float64,w)\n",
" \n",
" #@inbounds N_orient[i]=Quaternion(x,y,z,w)\n",
" \n",
" #x=N_orient[i].x*10000000000\n",
" #y=N_orient[i].y*10000000000\n",
" #z=N_orient[i].z*10000000000\n",
" #w=N_orient[i].w\n",
" #@cuprintln(\"N_orient x $x, y $y, z $z, w $w \")\n",
" \n",
" \n",
" end\n",
" end\n",
" return\n",
"end\n",
"\n",
"\n",
"function run_updateNodes!(dt,currentTimeStep,N_position, N_restrained,N_displacement, N_angle,N_currPosition,N_linMom,N_angMom,N_intForce,N_intMoment,N_force,N_moment,N_orient,N_edgeID,N_edgeFirst,E_intForce1,E_intMoment1,E_intForce2,E_intMoment2)\n",
" N=length(N_intForce)\n",
" numblocks = ceil(Int, N/256)\n",
" CuArrays.@sync begin\n",
" @cuda threads=256 blocks=numblocks updateNodes!(dt,currentTimeStep,N_position, N_restrained,N_displacement, N_angle,N_currPosition,N_linMom,N_angMom,N_intForce,N_intMoment,N_force,N_moment,N_orient,N_edgeID,N_edgeFirst,E_intForce1,E_intMoment1,E_intForce2,E_intMoment2)\n",
" end\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"orientLink! (generic function with 1 method)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function orientLink!(currentRestLength,pVNeg,pVPos,oVNeg,oVPos,axis) # updates pos2, angle1, angle2, and smallAngle //Quat3D<double> /*double restLength*/\n",
" \n",
" pos2 = toAxisXVector3(pVPos-pVNeg,axis) # digit truncation happens here...\n",
" angle1 = toAxisXQuat(oVNeg,axis)\n",
" angle2 = toAxisXQuat(oVPos,axis)\n",
" \n",
" #x=pos2.x*10000000000\n",
" #y=pos2.y*10000000000\n",
" #z=pos2.z*10000000000\n",
" #@cuprintln(\"pos2 x $x, y $y, z $z \")\n",
" \n",
" #x=angle1.x*10000000000\n",
" #y=angle1.y*10000000000\n",
" #z=angle1.z*10000000000\n",
" #@cuprintln(\"angle1 x $x, y $y, z $z \")\n",
" #x=oVNeg.x*10000000000\n",
" #y=oVNeg.y*10000000000\n",
" #z=oVNeg.z*10000000000\n",
" #@cuprintln(\"oVNeg x $x, y $y, z $z \")\n",
" \n",
" \n",
" \n",
" totalRot = conjugate(angle1) #keep track of the total rotation of this bond (after toAxisX()) # Quat3D<double>\n",
" pos2 = RotateVec3D(totalRot,pos2)\n",
" \n",
" #x=pos2.x*10000000000\n",
" #y=pos2.y*10000000000\n",
" #z=pos2.z*10000000000\n",
" #@cuprintln(\"pos2 2 x $x, y $y, z $z \")\n",
" \n",
" \n",
" #x=totalRot.x*10000000000\n",
" #y=totalRot.y*10000000000\n",
" #z=totalRot.z*10000000000\n",
" #@cuprintln(\"totalRot x $x, y $y, z $z \")\n",
" \n",
" \n",
"# x=pos2.x*10000000000\n",
"# y=pos2.y*10000000000\n",
"# z=pos2.z*10000000000\n",
"# @cuprintln(\"pos2 x $x, y $y, z $z \")\n",
" \n",
" angle2 = Quaternion(angle2.x*totalRot.x,angle2.y*totalRot.y,angle2.z*totalRot.z,angle2.w*totalRot.w)\n",
" angle1 = Quaternion(0.0,0.0,0.0,1.0)#new THREE.Quaternion() #zero for now...\n",
"\n",
" smallAngle=true #todo later remove\n",
" \n",
" \n",
" if (smallAngle)\t #Align so Angle1 is all zeros\n",
" #pos2[1] =pos2[1]- currentRestLength #only valid for small angles\n",
" pos2=Vector3(pos2.x-currentRestLength,pos2.y,pos2.z)\n",
" else #Large angle. Align so that Pos2.y, Pos2.z are zero.\n",
" # FromAngleToPosX(angle1,pos2) #get the angle to align Pos2 with the X axis\n",
" # totalRot = angle1.clone().multiply(totalRot) #update our total rotation to reflect this\n",
" # angle2 = angle1.clone().multiply( angle2) #rotate angle2\n",
" # pos2 = new THREE.Vector3(pos2.length() - currentRestLength, 0, 0);\n",
" end\n",
" \n",
" angle1v = ToRotationVector(angle1)\n",
" angle2v = ToRotationVector(angle2)\n",
" \n",
" \n",
" \n",
" \n",
"# pos2,angle1v,angle2v,angle1,angle2,\n",
" return pos2,angle1v,angle2v,angle1,angle2,totalRot\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"toAxisOriginalQuat (generic function with 1 method)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function toAxisXVector3(pV::Vector3,axis::Vector3) #TODO CHANGE\n",
"\n",
" xaxis=Vector3(1.0,0.0,0.0)\n",
"\n",
" vector=normalizeVector3(axis)\n",
" q=setFromUnitVectors(vector,xaxis)\n",
" \n",
" \n",
" \n",
"# rot=setFromRotationMatrix(quatToMatrix( q ))\n",
" \n",
" \n",
"# v= applyQuaternion1( pV ,setQuaternionFromEuler(rot) )\n",
" v=applyQuaternion1( pV ,q )\n",
" \n",
" #d=15\n",
" #vx=round(v.x, digits=d)\n",
" #vy=round(v.y, digits=d)\n",
" #vz=round(v.z, digits=d)\n",
" \n",
" \n",
" return Vector3(v.x,v.y,v.z)\n",
"end\n",
"\n",
"function toAxisOriginalVector3(pV::Vector3,axis::Vector3)\n",
" \n",
" xaxis=Vector3(1.0,0.0,0.0)\n",
"\n",
" vector=normalizeVector3(axis)\n",
"\n",
" q=setFromUnitVectors(xaxis,vector)\n",
" \n",
"\n",
"# rot=setFromRotationMatrix(quatToMatrix( q ))\n",
"\n",
"# v= applyQuaternion1( pV ,setQuaternionFromEuler(rot) )\n",
" v=applyQuaternion1( pV ,q )\n",
" \n",
" #d=15\n",
" #vx=round(v.x, digits=d)\n",
" #vy=round(v.y, digits=d)\n",
" #vz=round(v.z, digits=d)\n",
" \n",
" \n",
" return Vector3(v.x,v.y,v.z)\n",
"end\n",
"\n",
"function toAxisXQuat(pQ::Quaternion,axis::Vector3)\n",
" \n",
" xaxis=Vector3(1.0,0.0,0.0)\n",
"\n",
" vector=normalizeVector3(axis)\n",
"\n",
"\n",
" q=setFromUnitVectors(vector,xaxis)\n",
" \n",
" #d=17\n",
" #qw=round(q[1], digits=d)\n",
" #qx=round(q[2], digits=d)\n",
" #qy=round(q[3], digits=d)\n",
" #qz=round(q[4], digits=d)\n",
" #\n",
"\n",
"# rot=setFromRotationMatrix(quatToMatrix( q ))\n",
" \n",
" pV=Vector3(pQ.x,pQ.y,pQ.z)\n",
" \n",
"# v=applyQuaternion1( pV ,setQuaternionFromEuler(rot) )\n",
" v=applyQuaternion1( pV ,q )\n",
" \n",
" #d=15\n",
" #vx=round(v.x, digits=d)\n",
" #vy=round(v.y, digits=d)\n",
" #vz=round(v.z, digits=d)\n",
" \n",
" return Quaternion(v.x,v.y,v.z,1.0)\n",
" \n",
" # return [1.0 v[1] v[2] v[3]]\n",
"end\n",
"\n",
"function toAxisOriginalQuat(pQ::Vector3,axis::Vector3)\n",
" xaxis=Vector3(1.0,0.0,0.0)\n",
"\n",
" vector=normalizeVector3(axis)\n",
" \n",
" q=setFromUnitVectors(xaxis,vector)\n",
" \n",
"\n",
"# rot=setFromRotationMatrix(quatToMatrix( q ))\n",
" \n",
" pV=Vector3(pQ.x,pQ.y,pQ.z)\n",
"# v=applyQuaternion1( pV ,setQuaternionFromEuler(rot) )\n",
" v=applyQuaternion1( pV ,q )\n",
" \n",
" #d=15\n",
" #vx=round(v.x, digits=d)\n",
" #vy=round(v.y, digits=d)\n",
" #vz=round(v.z, digits=d)\n",
" \n",
" return Quaternion(v.x,v.y,v.z,1.0)\n",
" \n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"applyQuaternion1 (generic function with 1 method)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function setFromUnitVectors(vFrom::Vector3, vTo::Vector3)\n",
" # assumes direction vectors vFrom and vTo are normalized\n",
" EPS = 0.000000001;\n",
" r= dotVector3(vFrom,vTo)+1.0\n",
" # r = dot(vFrom,vTo)+1\n",
"\n",
" if r < EPS\n",
" r = 0;\n",
" if abs( vFrom.x ) > abs( vFrom.z ) \n",
" qx = - vFrom.y\n",
" qy = vFrom.x\n",
" qz = 0.0\n",
" qw = r\n",
" else \n",
" qx = 0.0\n",
" qy = -(vFrom.z)\n",
" qz = vFrom.y\n",
" qw = r\n",
" end\n",
" else \n",
" # crossVectors( vFrom, vTo ); // inlined to avoid cyclic dependency on Vector3\n",
" qx = vFrom.y * vTo.z - vFrom.z * vTo.y\n",
" qy = vFrom.z * vTo.x - vFrom.x * vTo.z\n",
" qz = vFrom.x * vTo.y - vFrom.y * vTo.x\n",
" qw = r\n",
"\n",
" end\n",
" qx= (qx==-0.0) ? 0.0 : qx\n",
" qy= (qy==-0.0) ? 0.0 : qy\n",
" qz= (qz==-0.0) ? 0.0 : qz\n",
" qw= (qw==-0.0) ? 0.0 : qw\n",
" \n",
" \n",
" mx=qx*qx\n",
" my=qy*qy\n",
" mz=qz*qz\n",
" mw=qw*qw\n",
" mm=mx+my\n",
" mm=mm+mz\n",
" mm=mm+mw\n",
" mm=convert(Float64,mm)#??????????????????? todo check later\n",
" \n",
" l=CUDAnative.sqrt(mm)\n",
" \n",
" #l = sqrt((qx * qx) + (qy * qy) + (qz * qz)+ (qw * qw))\n",
" if l === 0 \n",
" qx = 0.0\n",
" qy = 0.0\n",
" qz = 0.0\n",
" qw = 1.0\n",
" else \n",
" l = 1.0 / l\n",
" qx = qx * l\n",
" qy = qy * l\n",
" qz = qz * l\n",
" qw = qw * l\n",
" end\n",
" \n",
" \n",
"\n",
" # return qx,qy,qz,qw\n",
" return Quaternion(qx,qy,qz,qw)\n",
" \n",
" # return normalizeQ(Quat(qw,qx,qy,qz))\n",
" # return Quat(nn[1], nn[2], nn[3], nn[4])\n",
"\n",
"end\n",
"\n",
"function quatToMatrix( quaternion::Quaternion)\n",
"\n",
" #te = RotationMatrix()\n",
" \n",
" x = quaternion.x\n",
" y = quaternion.y\n",
" z = quaternion.z\n",
" w = quaternion.w\n",
" \n",
" x2 = x + x\n",
" y2 = y + y\n",
" z2 = z + z\n",
" xx = x * x2\n",
" xy = x * y2\n",
" xz = x * z2\n",
" yy = y * y2\n",
" yz = y * z2\n",
" zz = z * z2\n",
" wx = w * x2\n",
" wy = w * y2\n",
" wz = w * z2\n",
"\n",
" sx = 1.0\n",
" sy = 1.0\n",
" sz = 1.0\n",
"\n",
" te1 = ( 1.0 - ( yy + zz ) ) * sx\n",
" te2 = ( xy + wz ) * sx\n",
" te3 = ( xz - wy ) * sx\n",
" te4 = 0.0\n",
"\n",
" te5 = ( xy - wz ) * sy\n",
" te6 = ( 1.0 - ( xx + zz ) ) * sy\n",
" te7 = ( yz + wx ) * sy\n",
" te8 = 0.0\n",
"\n",
" te9 = ( xz + wy ) * sz\n",
" te10 = ( yz - wx ) * sz\n",
" te11 = ( 1.0 - ( xx + yy ) ) * sz\n",
" te12 = 0.0\n",
"\n",
" te13 = 0.0 #position.x;\n",
" te14 = 0.0 #position.y;\n",
" te15 = 0.0 #position.z;\n",
" te16 = 1.0\n",
" \n",
" \n",
" te= RotationMatrix(te1,te2,te3,te4,te5,te6,te7,te8,te9,te10,te11,te12,te13,te14,te15,te16)\n",
"\n",
" return te\n",
"\n",
"end\n",
"\n",
"function setFromRotationMatrix(m::RotationMatrix)\n",
" #te = m\n",
" #m11 = (te[ 1 ]== -0.0) ? 0.0 : te[ 1 ]\n",
" #m12 = (te[ 5 ]== -0.0) ? 0.0 : te[ 5 ]\n",
" #m13 = (te[ 9 ]== -0.0) ? 0.0 : te[ 9 ]\n",
" #m21 = (te[ 2 ]== -0.0) ? 0.0 : te[ 2 ]\n",
" #m22 = (te[ 6 ]== -0.0) ? 0.0 : te[ 6 ]\n",
" #m23 = (te[ 10]== -0.0) ? 0.0 : te[ 10]\n",
" #m31 = (te[ 3 ]== -0.0) ? 0.0 : te[ 3 ]\n",
" #m32 = (te[ 7 ]== -0.0) ? 0.0 : te[ 7 ]\n",
" #m33 = (te[ 11]== -0.0) ? 0.0 : te[ 11]\n",
"\n",
" m11 = convert(Float64,m.te1 )\n",
" m12 = convert(Float64,m.te5 )\n",
" m13 = convert(Float64,m.te9 )\n",
" m21 = convert(Float64,m.te2 )\n",
" m22 = convert(Float64,m.te6 )\n",
" m23 = convert(Float64,m.te10)\n",
" m31 = convert(Float64,m.te3 )\n",
" m32 = convert(Float64,m.te7 )\n",
" m33 = convert(Float64,m.te11)\n",
" \n",
"\n",
" y = CUDAnative.asin( clamp( m13, -1.0, 1.0 ) ) ##check if has to be changed to cuda\n",
"\n",
" if ( abs( m13 ) < 0.9999999999 ) \n",
" \n",
" x = CUDAnative.atan2( - m23, m33 )\n",
" z = CUDAnative.atan2( - m12, m11 )#-m12, m11\n",
" # if(m23==0.0)\n",
" # x = atan( m23, m33 )\n",
" # end\n",
" # if(m12==0.0)\n",
" # z = atan( m12, m11 )\n",
" # end\n",
"\n",
" else\n",
"\n",
" x = CUDAnative.atan2( m32, m22 )\n",
" z = 0.0;\n",
"\n",
" end\n",
" \n",
" \n",
" return Vector3(x,y,z)\n",
" \n",
"end\n",
"\n",
"function setQuaternionFromEuler(euler::Vector3)\n",
" x=euler.x\n",
" y=euler.y\n",
" z=euler.z\n",
" \n",
" \n",
" c1 = CUDAnative.cos( x / 2.0 )\n",
" c2 = CUDAnative.cos( y / 2.0 )\n",
" c3 = CUDAnative.cos( z / 2.0 )\n",
"\n",
" s1 = CUDAnative.sin( x / 2.0 )\n",
" s2 = CUDAnative.sin( y / 2.0 )\n",
" s3 = CUDAnative.sin( z / 2.0 )\n",
" \n",
" \n",
" x = s1 * c2 * c3 + c1 * s2 * s3\n",
" y = c1 * s2 * c3 - s1 * c2 * s3\n",
" z = c1 * c2 * s3 + s1 * s2 * c3\n",
" w = c1 * c2 * c3 - s1 * s2 * s3\n",
" \n",
" return Quaternion(x,y,z,w)\n",
"end\n",
"\n",
"function applyQuaternion1(e::Vector3,q2::Quaternion)\n",
" x = e.x\n",
" y = e.y\n",
" z = e.z\n",
"\n",
" qx = q2.x\n",
" qy = q2.y\n",
" qz = q2.z\n",
" qw = q2.w\n",
"\n",
" # calculate quat * vector\n",
"\n",
" ix = qw * x + qy * z - qz * y\n",
" iy = qw * y + qz * x - qx * z\n",
" iz = qw * z + qx * y - qy * x\n",
" iw = - qx * x - qy * y - qz * z\n",
"\n",
" # calculate result * inverse quat\n",
"\n",
" xx = ix * qw + iw * - qx + iy * - qz - iz * - qy\n",
" yy = iy * qw + iw * - qy + iz * - qx - ix * - qz\n",
" zz = iz * qw + iw * - qz + ix * - qy - iy * - qx\n",
" \n",
" d=15\n",
"\n",
" return Vector3(xx,yy,zz)\n",
"end\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"multiplyQuaternions (generic function with 1 method)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function conjugate(q::Quaternion)\n",
" x= (-q.x==-0) ? 0.0 : -q.x\n",
" y= (-q.y==-0) ? 0.0 : -q.y\n",
" z= (-q.z==-0) ? 0.0 : -q.z\n",
" w=q.w\n",
" x=convert(Float64,x)\n",
" y=convert(Float64,y)\n",
" z=convert(Float64,z)\n",
" w=convert(Float64,w)\n",
" return Quaternion(x,y,z,w)\n",
"end\n",
"\n",
"function RotateVec3D(a::Quaternion, f::Vector3) \n",
" fx= (f.x==-0) ? 0 : f.x\n",
" fy= (f.y==-0) ? 0 : f.y\n",
" fz= (f.z==-0) ? 0 : f.z\n",
" # fx= f.x\n",
" # fy= f.y\n",
" # fz= f.z\n",
" tw = fx*a.x + fy*a.y + fz*a.z\n",
" tx = fx*a.w - fy*a.z + fz*a.y\n",
" ty = fx*a.z + fy*a.w - fz*a.x\n",
" tz = -fx*a.y + fy*a.x + fz*a.w\n",
"\n",
" return Vector3((a.w*tx+a.x*tw+a.y*tz-a.z*ty),(a.w*ty-a.x*tz+a.y*tw+a.z*tx),(a.w*tz+a.x*ty-a.y*tx+a.z*tw))\n",
"end\n",
"#!< Returns a vector representing the specified vector \"f\" rotated by this quaternion. @param[in] f The vector to transform.\n",
"\n",
"function RotateVec3DInv(a::Quaternion, f::Vector3) \n",
" fx=f.x\n",
" fy=f.y\n",
" fz=f.z\n",
" tw = a.x*fx + a.y*fy + a.z*fz\n",
" tx = a.w*fx - a.y*fz + a.z*fy\n",
" ty = a.w*fy + a.x*fz - a.z*fx\n",
" tz = a.w*fz - a.x*fy + a.y*fx\n",
" return Vector3((tw*a.x + tx*a.w + ty*a.z - tz*a.y),(tw*a.y - tx*a.z + ty*a.w + tz*a.x),(tw*a.z + tx*a.y - ty*a.x + tz*a.w))\n",
"end\n",
"#!< Returns a vector representing the specified vector \"f\" rotated by the inverse of this quaternion. This is the opposite of RotateVec3D. @param[in] f The vector to transform.\n",
"\n",
"function ToRotationVector(a::Quaternion) \n",
" if (a.w >= 1.0 || a.w <= -1.0) \n",
" return Vector3(0.0,0.0,0.0)\n",
" end\n",
" squareLength = 1.0-a.w*a.w; # because x*x + y*y + z*z + w*w = 1.0, but more susceptible to w noise (when \n",
" SLTHRESH_ACOS2SQRT= 2.4e-3; # SquareLength threshhold for when we can use square root optimization for acos. From SquareLength = 1-w*w. (calculate according to 1.0-W_THRESH_ACOS2SQRT*W_THRESH_ACOS2SQRT\n",
"\n",
" if (squareLength < SLTHRESH_ACOS2SQRT) # ???????\n",
" x=a.x*(2.0*CUDAnative.sqrt((2-2*a.w)/squareLength))\n",
" y=a.y*(2.0*CUDAnative.sqrt((2-2*a.w)/squareLength))\n",
" z=a.z*(2.0*CUDAnative.sqrt((2-2*a.w)/squareLength))\n",
" x=convert(Float64,x)\n",
" y=convert(Float64,y)\n",
" z=convert(Float64,z)\n",
" \n",
" return Vector3(x,y,z) ; # acos(w) = sqrt(2*(1-x)) for w close to 1. for w=0.001, error is 1.317e-6\n",
" else \n",
" x=a.x*(2.0*CUDAnative.acos(a.w)/CUDAnative.sqrt(squareLength))\n",
" y=a.y*(2.0*CUDAnative.acos(a.w)/CUDAnative.sqrt(squareLength))\n",
" z=a.z*(2.0*CUDAnative.acos(a.w)/CUDAnative.sqrt(squareLength))\n",
" x=convert(Float64,x)\n",
" y=convert(Float64,y)\n",
" z=convert(Float64,z)\n",
"\n",
" return Vector3(x,y,z)\n",
" end \n",
"end \n",
"# !< Returns a rotation vector representing this quaternion rotation. Adapted from http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/\n",
"\n",
"function FromRotationVector(VecIn::Vector3)\n",
" theta=VecIn*Vector3(0.5,0.5,0.5)\n",
" ntheta=CUDAnative.sqrt((theta.x * theta.x) + (theta.y * theta.y) + (theta.z * theta.z))\n",
" thetaMag2=ntheta*ntheta\n",
" \n",
" DBL_EPSILONx24 =5.328e-15\n",
" if thetaMag2*thetaMag2 < DBL_EPSILONx24\n",
" qw=1.0 - 0.5*thetaMag2\n",
"\t\ts=1.0 - thetaMag2 / 6.0\n",
" else\n",
" thetaMag = CUDAnative.sqrt(thetaMag2)\n",
"\t\tqw=CUDAnative.cos(thetaMag)\n",
"\t\ts=CUDAnative.sin(thetaMag) / thetaMag\n",
" end\n",
" qx=theta.x*s\n",
" qy=theta.y*s\n",
" qz=theta.z*s\n",
" \n",
" qx=convert(Float64,qx)\n",
" qy=convert(Float64,qy)\n",
" qz=convert(Float64,qz)\n",
" qw=convert(Float64,qw)\n",
" \n",
" return Quaternion(qx,qy,qz,qw)\n",
"end\n",
"\n",
"function multiplyQuaternions(q::Quaternion,f::Quaternion)\n",
" x=q.x\n",
" y=q.y\n",
" z=q.z\n",
" w=q.w\n",
" x1=w*f.x + x*f.w + y*f.z - z*f.y \n",
" y1=w*f.y - x*f.z + y*f.w + z*f.x\n",
" z1=w*f.z + x*f.y - y*f.x + z*f.w\n",
" w1=w*f.w - x*f.x - y*f.y - z*f.z\n",
"# x1=convert(Float64,x1)\n",
"# y1=convert(Float64,y1)\n",
"# z1=convert(Float64,z1)\n",
"# w1=convert(Float64,w1)\n",
"\treturn Quaternion(x1,y1,z1,w1 ); #!< overload quaternion multiplication.\n",
"end\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"axialStrain (generic function with 1 method)"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function updateStrain( axialStrain,E) # ?from where strain\n",
" strain = axialStrain # redundant?\n",
" currentTransverseStrainSum=0.0 # ??? todo\n",
" linear=true\n",
" maxStrain=1000000000000000;# ?? todo later change\n",
" if linear\n",
" if axialStrain > maxStrain\n",
" maxStrain = axialStrain # remember this maximum for easy reference\n",
" end\n",
" return stress(axialStrain,E)\n",
" else \n",
" if (axialStrain > maxStrain) # if new territory on the stress/strain curve\n",
" maxStrain = axialStrain # remember this maximum for easy reference\n",
" returnStress = stress(axialStrain,E) # ??currentTransverseStrainSum\n",
" if (nu != 0.0) \n",
" strainOffset = maxStrain-stress(axialStrain,E)/(_eHat*(1.0-nu)) # precalculate strain offset for when we back off\n",
" else \n",
" strainOffset = maxStrain-returnStress/E # precalculate strain offset for when we back off\n",
" end\n",
" else # backed off a non-linear material, therefore in linear region.\n",
" relativeStrain = axialStrain-strainOffset # treat the material as linear with a strain offset according to the maximum plastic deformation\n",
" if (nu != 0.0) \n",
" returnStress = stress(relativeStrain,E)\n",
" else \n",
" returnStress = E*relativeStrain\n",
" end\n",
" end\n",
" return returnStress\n",
" end\n",
"end\n",
"\n",
"function stress( strain , E ) #end,transverseStrainSum, forceLinear){\n",
" # reference: http://www.colorado.edu/engineering/CAS/courses.d/Structures.d/IAST.Lect05.d/IAST.Lect05.pdf page 10\n",
" # if (isFailed(strain)) return 0.0f; //if a failure point is set and exceeded, we've broken!\n",
" # var E =setup.edges[0].stiffness; //todo change later to material ??\n",
" # var E=1000000;//todo change later to material ??\n",
" # var scaleFactor=1;\n",
" return E*strain;\n",
"\n",
" # # if (strain <= strainData[1] || linear || forceLinear){ //for compression/first segment and linear materials (forced or otherwise), simple calculation\n",
"\n",
" # if (nu==0.0) return E*strain;\n",
" # else return _eHat*((1-nu)*strain + nu*transverseStrainSum); \n",
" # else return eHat()*((1-nu)*strain + nu*transverseStrainSum); \n",
" # # }\n",
"\n",
" #//the non-linear feature with non-zero poissons ratio is currently experimental\n",
" #int DataCount = modelDataPoints();\n",
" #for (int i=2; i<DataCount; i++){ //go through each segment in the material model (skipping the first segment because it has already been handled.\n",
" # if (strain <= strainData[i] || i==DataCount-1){ //if in the segment ending with this point (or if this is the last point extrapolate out) \n",
" # float Perc = (strain-strainData[i-1])/(strainData[i]-strainData[i-1]);\n",
" # float basicStress = stressData[i-1] + Perc*(stressData[i]-stressData[i-1]);\n",
" # if (nu==0.0f) return basicStress;\n",
" # else { //accounting for volumetric effects\n",
" # float modulus = (stressData[i]-stressData[i-1])/(strainData[i]-strainData[i-1]);\n",
" # float modulusHat = modulus/((1-2*nu)*(1+nu));\n",
" # float effectiveStrain = basicStress/modulus; //this is the strain at which a simple linear stress strain line would hit this point at the definied modulus\n",
" # float effectiveTransverseStrainSum = transverseStrainSum*(effectiveStrain/strain);\n",
" # return modulusHat*((1-nu)*effectiveStrain + nu*effectiveTransverseStrainSum);\n",
" # }\n",
" # }\n",
" #}\n",
"\n",
" # assert(false); //should never reach this point\n",
" # return 0.0f;\n",
"end \n",
"\n",
"function axialStrain( positiveEnd,strain)\n",
"\t#strainRatio = pVPos->material()->E/pVNeg->material()->E;\n",
"\tstrainRatio=1.0;\n",
"\treturn positiveEnd ? 2.0 *strain*strainRatio/(1.0+strainRatio) : 2.0*strain/(1.0+strainRatio)\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"moment (generic function with 1 method)"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function force(N_intForce,N_orient,N_force,static,currentTimeStep) \n",
" # forces from internal bonds\n",
" totalForce=Vector3(0,0,0)\n",
" # new THREE.Vector3(node.force.x,node.force.y,node.force.z);\n",
" # todo \n",
"\n",
"\n",
" totalForce=totalForce+N_intForce\n",
"\n",
" # for (int i=0; i<6; i++){ \n",
" # \tif (links[i]) totalForce += links[i]->force(isNegative((linkDirection)i)); # total force in LCS\n",
" # }\n",
" totalForce = RotateVec3D(N_orient,totalForce); # from local to global coordinates\n",
"\n",
"\n",
" # assert(!(totalForce.x != totalForce.x) || !(totalForce.y != totalForce.y) || !(totalForce.z != totalForce.z)); //assert non QNAN\n",
"\n",
" # other forces\n",
" if(static)\n",
" totalForce=totalForce+N_force\n",
" # }else if(currentTimeStep<50){\n",
" # \ttotalForce.add(new THREE.Vector3(node.force.x,node.force.y,node.force.z));\n",
" else\n",
" # var ex=0.1;\n",
" # if(node.force.y!=0){\n",
" # \tvar f=400*Math.sin(currentTimeStep*ex);\n",
" # \ttotalForce.add(new THREE.Vector3(0,f,0));\n",
"\n",
" # }\n",
" #x=N_position[node][3]\n",
" #t=currentTimeStep\n",
" #wave=getForce(x,t)\n",
" #totalForce=totalForce+[0 wave 0]\n",
" end\n",
"\n",
"\n",
" # if (externalExists()) totalForce += external()->force(); //external forces\n",
" # totalForce -= velocity()*mat->globalDampingTranslateC(); //global damping f-cv\n",
" # totalForce.z += mat->gravityForce(); //gravity, according to f=mg\n",
"\n",
" # if (isCollisionsEnabled()){\n",
" # \tfor (std::vector<CVX_Collision*>::iterator it=colWatch->begin(); it!=colWatch->end(); it++){\n",
" # \t\ttotalForce -= (*it)->contactForce(this);\n",
" # \t}\n",
" # }\n",
" # todo make internal forces 0 again\n",
" # N_intForce[node]=[0 0 0] # do i really need it?\n",
"\n",
" # node.force.x=0;\n",
" # node.force.y=0;\n",
" # node.force.z=0;\n",
"\n",
"\n",
" return totalForce\n",
"end\n",
"\n",
"\n",
"function moment(intMoment,orient,moment) \n",
" #moments from internal bonds\n",
" totalMoment=Vector3(0,0,0)\n",
" # for (int i=0; i<6; i++){ \n",
" # \tif (links[i]) totalMoment += links[i]->moment(isNegative((linkDirection)i)); //total force in LCS\n",
" # }\n",
"\n",
" totalMoment=totalMoment+intMoment\n",
" \n",
" \n",
"\n",
" totalMoment = RotateVec3D(orient,totalMoment);\n",
" \n",
" \n",
"\n",
" totalMoment=totalMoment+moment\n",
"\n",
"\n",
" #other moments\n",
" # if (externalExists()) totalMoment += external()->moment(); //external moments\n",
" # totalMoment -= angularVelocity()*mat->globalDampingRotateC(); //global damping\n",
"\n",
" return totalMoment\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"updateDataAndSave! (generic function with 1 method)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function updateDataAndSave!(metavoxel,setup,fileName)\n",
" nodes = setup[\"nodes\"]\n",
" edges = setup[\"edges\"]\n",
" \n",
" setup[\"animation\"][\"showDisplacement\"]=false\n",
" voxCount=size(nodes)[1]\n",
" linkCount=size(edges)[1]\n",
" \n",
" N_displacement=Array(metavoxel[\"N_displacementGPU\"])\n",
" N_angle=Array(metavoxel[\"N_angleGPU\"])\n",
" E_stress=Array(metavoxel[\"E_stressGPU\"])\n",
" \n",
" setup[\"viz\"][\"maxStress\"]=maximum(E_stress)\n",
" setup[\"viz\"][\"minStress\"]=minimum(E_stress) \n",
"\n",
"\n",
" i=1\n",
"\tfor edge in edges\n",
" edge[\"stress\"]=E_stress[i]\n",
" i=i+1\n",
"\n",
" end\n",
" \n",
" \n",
" i=1 \n",
"\tfor node in nodes\n",
" node[\"displacement\"][\"x\"]=N_displacement[i].x*100\n",
" node[\"displacement\"][\"y\"]=N_displacement[i].y*100\n",
" node[\"displacement\"][\"z\"]=N_displacement[i].z*100\n",
" \n",
" node[\"angle\"][\"x\"]=N_angle[i].x\n",
" node[\"angle\"][\"y\"]=N_angle[i].y\n",
" node[\"angle\"][\"z\"]=N_angle[i].z\n",
" i=i+1\n",
"\n",
" end\n",
" \n",
" # pass data as a json string (how it shall be displayed in a file)\n",
" stringdata = JSON.json(setup)\n",
"\n",
" # write the file with the stringdata variable information\n",
" open(fileName, \"w\") do f\n",
" write(f, stringdata)\n",
" end\n",
" \n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"runMetavoxelGPU! (generic function with 1 method)"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function runMetavoxelGPU!(setup,numTimeSteps,latticeSize,displacements,returnEvery,save)\n",
" function initialize!(setup)\n",
" nodes = setup[\"nodes\"]\n",
" edges = setup[\"edges\"]\n",
"\n",
" i=1\n",
" # pre-calculate current position\n",
" for node in nodes\n",
" # element=parse(Int,node[\"id\"][2:end])\n",
" N_position[i]=Vector3(node[\"position\"][\"x\"]/100.0,node[\"position\"][\"y\"]/100.0,node[\"position\"][\"z\"]/100.0)\n",
" N_restrained[i]=node[\"restrained_degrees_of_freedom\"][1] ## todo later consider other degrees of freedom\n",
" N_displacement[i]=Vector3(node[\"displacement\"][\"x\"],node[\"displacement\"][\"y\"],node[\"displacement\"][\"z\"])\n",
" N_angle[i]=Vector3(node[\"angle\"][\"x\"],node[\"angle\"][\"y\"],node[\"angle\"][\"z\"])\n",
" N_force[i]=Vector3(node[\"force\"][\"x\"],node[\"force\"][\"y\"]/1,node[\"force\"][\"z\"])\n",
" N_currPosition[i]=Vector3(node[\"position\"][\"x\"]/100.0,node[\"position\"][\"y\"]/100.0,node[\"position\"][\"z\"]/100.0)\n",
"\n",
" # for dynamic simulations\n",
" # append!(N_posTimeSteps,[[]])\n",
" # append!(N_angTimeSteps,[[]])\n",
"\n",
" i=i+1\n",
" end \n",
"\n",
" i=1\n",
" # pre-calculate the axis\n",
" for edge in edges\n",
" # element=parse(Int,edge[\"id\"][2:end])\n",
"\n",
" # find the nodes that the lements connects\n",
" fromNode = nodes[edge[\"source\"]+1]\n",
" toNode = nodes[edge[\"target\"]+1]\n",
"\n",
"\n",
" node1 = [fromNode[\"position\"][\"x\"]/100.0 fromNode[\"position\"][\"y\"]/100.0 fromNode[\"position\"][\"z\"]/100.0]\n",
" node2 = [toNode[\"position\"][\"x\"]/100.0 toNode[\"position\"][\"y\"]/100.0 toNode[\"position\"][\"z\"]/100.0]\n",
"\n",
" length=norm(node2-node1)\n",
" axis=normalize(collect(Iterators.flatten(node2-node1)))\n",
"\n",
" E_source[i]=edge[\"source\"]+1\n",
" E_target[i]=edge[\"target\"]+1\n",
" E_area[i]=edge[\"area\"]\n",
" E_density[i]=edge[\"density\"]\n",
" E_stiffness[i]=edge[\"stiffness\"]\n",
" E_axis[i]=Vector3(axis[1],axis[2],axis[3])\n",
" E_currentRestLength[i]=length #?????? todo change\n",
"# E_currentRestLength[i]=75/sqrt(2)\n",
" \n",
"\n",
" N_edgeID[E_source[i],N_currEdge[E_source[i]]]=i\n",
" N_edgeFirst[E_source[i],N_currEdge[E_source[i]]]=true\n",
" N_currEdge[E_source[i]]+=1\n",
"\n",
" N_edgeID[E_target[i],N_currEdge[E_target[i]]]=i\n",
" N_edgeFirst[E_target[i],N_currEdge[E_target[i]]]=false\n",
" N_currEdge[E_target[i]]+=1\n",
"\n",
"\n",
" # for dynamic simulations\n",
" # append!(E_stressTimeSteps,[[]])\n",
"\n",
" i=i+1\n",
" end \n",
" end\n",
" function simulateParallel!(metavoxel,numTimeSteps,dt,returnEvery)\n",
" # initialize(setup)\n",
"\n",
" for i in 1:numTimeSteps\n",
" #println(\"Timestep:\",i)\n",
" doTimeStep!(metavoxel,dt,i)\n",
" if(mod(i,returnEvery)==0)\n",
" append!(displacements,[Array(metavoxel[\"N_displacementGPU\"])])\n",
" end\n",
" end\n",
" end\n",
" \n",
" ########\n",
" voxCount=0\n",
" linkCount=0\n",
" nodes = setup[\"nodes\"]\n",
" edges = setup[\"edges\"]\n",
" voxCount=size(nodes)[1]\n",
" linkCount=size(edges)[1]\n",
" strain =0 #todooo moveeee\n",
" maxNumEdges=10\n",
"\n",
" ########\n",
" voxCount=0\n",
" linkCount=0\n",
" nodes = setup[\"nodes\"]\n",
" edges = setup[\"edges\"]\n",
" voxCount=size(nodes)[1]\n",
" linkCount=size(edges)[1]\n",
" strain =0 #todooo moveeee\n",
"\n",
" ############# nodes\n",
" N_position=fill(Vector3(),voxCount)\n",
" N_restrained=zeros(Bool, voxCount)\n",
" N_displacement=fill(Vector3(),voxCount)\n",
" N_angle=fill(Vector3(),voxCount)\n",
" N_currPosition=fill(Vector3(),voxCount)\n",
" N_linMom=fill(Vector3(),voxCount)\n",
" N_angMom=fill(Vector3(),voxCount)\n",
" N_intForce=fill(Vector3(),voxCount)\n",
" N_intMoment=fill(Vector3(),voxCount)\n",
" N_moment=fill(Vector3(),voxCount)\n",
" # N_posTimeSteps=[]\n",
" # N_angTimeSteps=[]\n",
" N_force=fill(Vector3(),voxCount)\n",
" N_orient=fill(Quaternion(),voxCount)\n",
" N_edgeID=fill(-1,(voxCount,maxNumEdges))\n",
" N_edgeFirst=fill(true,(voxCount,maxNumEdges))\n",
" N_currEdge=fill(1,voxCount)\n",
"\n",
" ############# edges\n",
" E_source=fill(0,linkCount)\n",
" E_target=fill(0,linkCount)\n",
" E_area=fill(0.0f0,linkCount)\n",
" E_density=fill(0.0f0,linkCount)\n",
" E_stiffness=fill(0.0f0,linkCount)\n",
" E_stress=fill(0.0f0,linkCount)\n",
" E_axis=fill(Vector3(1.0,0.0,0.0),linkCount)\n",
" E_currentRestLength=fill(0.0f0,linkCount)\n",
" E_pos2=fill(Vector3(),linkCount)\n",
" E_angle1v=fill(Vector3(),linkCount)\n",
" E_angle2v=fill(Vector3(),linkCount)\n",
" E_angle1=fill(Quaternion(),linkCount)\n",
" E_angle2=fill(Quaternion(),linkCount)\n",
"\n",
" E_intForce1=fill(Vector3(),linkCount)\n",
" E_intMoment1=fill(Vector3(),linkCount) \n",
"\n",
" E_intForce2=fill(Vector3(),linkCount)\n",
" E_intMoment2=fill(Vector3(),linkCount)\n",
" E_damp=fill(false,linkCount)\n",
"\n",
" E_currentTransverseStrainSum=fill(0.0f0,linkCount)# TODO remove ot incorporate\n",
" # E_stressTimeSteps=[]\n",
"\n",
"\n",
" #################################################################\n",
" initialize!(setup)\n",
" #################################################################\n",
"\n",
" ########################## turn to cuda arrays\n",
" ############# nodes\n",
" N_positionGPU= CuArray(N_position) \n",
" N_restrainedGPU= CuArray(N_restrained) \n",
" N_displacementGPU=CuArray(N_displacement) \n",
" N_angleGPU= CuArray(N_angle) \n",
" N_currPositionGPU=CuArray(N_currPosition) \n",
" N_linMomGPU= CuArray(N_linMom) \n",
" N_angMomGPU= CuArray(N_angMom) \n",
" N_intForceGPU= CuArray(N_intForce) \n",
" N_intMomentGPU= CuArray(N_intMoment) \n",
" N_momentGPU= CuArray(N_moment) \n",
" N_forceGPU= CuArray(N_force) \n",
" N_orientGPU= CuArray(N_orient) \n",
" N_edgeIDGPU= CuArray(N_edgeID) \n",
" N_edgeFirstGPU= CuArray(N_edgeFirst) \n",
"\n",
"\n",
" ############# edges\n",
" E_sourceGPU= CuArray(E_source) \n",
" E_targetGPU= CuArray(E_target)\n",
" E_areaGPU= CuArray(E_area) \n",
" E_densityGPU= CuArray(E_density)\n",
" E_stiffnessGPU= CuArray(E_stiffness)\n",
" E_stressGPU= CuArray(E_stress)\n",
" E_axisGPU= CuArray(E_axis) \n",
" E_currentRestLengthGPU= CuArray(E_currentRestLength)\n",
" E_pos2GPU= CuArray(E_pos2)\n",
" E_angle1vGPU= CuArray(E_angle1v)\n",
" E_angle2vGPU= CuArray(E_angle2v)\n",
" E_angle1GPU= CuArray(E_angle1)\n",
" E_angle2GPU= CuArray(E_angle2)\n",
" E_currentTransverseStrainSumGPU=CuArray(E_currentTransverseStrainSum)\n",
" E_intForce1GPU= CuArray(E_intForce1) \n",
" E_intMoment1GPU= CuArray(E_intMoment1) \n",
" E_intForce2GPU= CuArray(E_intForce2) \n",
" E_intMoment2GPU= CuArray(E_intMoment2)\n",
" E_dampGPU= CuArray(E_damp) \n",
" # E_stressTimeSteps=[]\n",
"\n",
"\n",
" #########################################\n",
" metavoxel = Dict(\n",
" \"N_positionGPU\" => N_positionGPU, \n",
" \"N_restrainedGPU\" => N_restrainedGPU, \n",
" \"N_displacementGPU\" => N_displacementGPU,\n",
" \"N_angleGPU\" => N_angleGPU, \n",
" \"N_currPositionGPU\" => N_currPositionGPU,\n",
" \"N_linMomGPU\" => N_linMomGPU, \n",
" \"N_angMomGPU\" => N_angMomGPU, \n",
" \"N_intForceGPU\" => N_intForceGPU, \n",
" \"N_intMomentGPU\" => N_intMomentGPU, \n",
" \"N_momentGPU\" => N_momentGPU, \n",
" \"N_forceGPU\" => N_forceGPU, \n",
" \"N_orientGPU\" => N_orientGPU, \n",
" \"N_edgeIDGPU\" => N_edgeIDGPU, \n",
" \"N_edgeFirstGPU\" => N_edgeFirstGPU,\n",
" \"E_sourceGPU\" =>E_sourceGPU, \n",
" \"E_targetGPU\" =>E_targetGPU, \n",
" \"E_areaGPU\" =>E_areaGPU, \n",
" \"E_densityGPU\" =>E_densityGPU, \n",
" \"E_stiffnessGPU\" =>E_stiffnessGPU, \n",
" \"E_stressGPU\" =>E_stressGPU, \n",
" \"E_axisGPU\" =>E_axisGPU, \n",
" \"E_currentRestLengthGPU\" =>E_currentRestLengthGPU, \n",
" \"E_pos2GPU\" =>E_pos2GPU, \n",
" \"E_angle1vGPU\" =>E_angle1vGPU, \n",
" \"E_angle2vGPU\" =>E_angle2vGPU, \n",
" \"E_angle1GPU\" =>E_angle1GPU, \n",
" \"E_angle2GPU\" =>E_angle2GPU, \n",
" \"E_currentTransverseStrainSumGPU\" =>E_currentTransverseStrainSumGPU,\n",
" \"E_intForce1GPU\" =>E_intForce1GPU, \n",
" \"E_intMoment1GPU\" =>E_intMoment1GPU, \n",
" \"E_intForce2GPU\" =>E_intForce2GPU, \n",
" \"E_intMoment2GPU\" =>E_intMoment2GPU, \n",
" \"E_dampGPU\" =>E_dampGPU \n",
" )\n",
"\n",
" #########################################\n",
" \n",
"\n",
" dt=0.0251646\n",
" E = 2000e9 # MPa\n",
" s=2.38/100.0\n",
" mass=1 \n",
" \n",
" \n",
" \n",
" MaxFreq2=E*s/mass\n",
" dt= 1/(6.283185*sqrt(MaxFreq2))\n",
"# dt=0.0001646\n",
" println(\"dt: $dt\")\n",
" \n",
" append!(displacements,[Array(metavoxel[\"N_displacementGPU\"])])\n",
" \n",
" t=@timed doTimeStep!(metavoxel,dt,0)\n",
" append!(displacements,[Array(metavoxel[\"N_displacementGPU\"])])\n",
" time=t[2]\n",
" println(\"first timestep took $time seconds\")\n",
" t=@timed simulateParallel!(metavoxel,numTimeSteps-1,dt,returnEvery)\n",
" time=t[2]\n",
" \n",
" if save\n",
" updateDataAndSave!(metavoxel,setup,\"../json/trialJuliaParallelGPU.json\")\n",
" end\n",
" println(\"ran latticeSize $latticeSize with $voxCount voxels and $linkCount edges for $numTimeSteps time steps took $time seconds\")\n",
" return\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"fea (generic function with 1 method)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function fea(setup)\n",
" #######################################################\n",
" function points(element, properties)\n",
" elements = properties[\"elements\"]\n",
" nodes = properties[\"nodes\"]\n",
" degrees_of_freedom = properties[\"degrees_of_freedom\"]\n",
"\n",
" # find the nodes that the lements connects\n",
" fromNode = elements[element][1]\n",
" toNode = elements[element][2]\n",
"\n",
" # the coordinates for each node\n",
" fromPoint = nodes[fromNode]\n",
" toPoint = nodes[toNode]\n",
"\n",
" # find the degrees of freedom for each node\n",
" dofs = degrees_of_freedom[fromNode]\n",
" dofs=vcat(dofs,degrees_of_freedom[toNode])\n",
"\n",
" return fromPoint, toPoint, dofs\n",
" end\n",
"\n",
" function direction_cosine(vec1, vec2)\n",
" return dot(vec1,vec2) / (norm(vec1) * norm(vec2))\n",
" end\n",
"\n",
" function rotation_matrix(element_vector, x_axis, y_axis,z_axis)\n",
" # find the direction cosines\n",
" x_proj = direction_cosine(element_vector, x_axis)\n",
" y_proj = direction_cosine(element_vector, y_axis)\n",
" z_proj = direction_cosine(element_vector, z_axis);\n",
" return [[x_proj y_proj z_proj 0 0 0];[0 0 0 x_proj y_proj z_proj]]\n",
" end\n",
"\n",
" function rotation_matrix(element_vector, x_axis, y_axis,z_axis)\n",
" # find the direction cosines\n",
" L=norm(element_vector)\n",
" l = (element_vector[1])/L\n",
" m = (element_vector[2])/L\n",
" n = (element_vector[3])/L\n",
" D = ( l^2+ m^2+n^2)^0.5\n",
"\n",
" transMatrix=[[l m n 0 0 0 0 0 0 0 0 0];[-m/D l/D 0 0 0 0 0 0 0 0 0 0];[ -l*n/D -m*n/D D 0 0 0 0 0 0 0 0 0];[ 0 0 0 l m n 0 0 0 0 0 0];[ 0 0 0 -m/D l/D 0 0 0 0 0 0 0];[ 0 0 0 -l*n/D -m*n/D D 0 0 0 0 0 0];[ 0 0 0 0 0 0 l m n 0 0 0];[ 0 0 0 0 0 0 -m/D l/D 0 0 0 0];[ 0 0 0 0 0 0 -l*n/D -m*n/D D 0 0 0];[ 0 0 0 0 0 0 0 0 0 l m n];[ 0 0 0 0 0 0 0 0 0 -m/D l/D 0];[ 0 0 0 0 0 0 0 0 0 -l*n/D -m*n/D D]]\n",
"\n",
" return transMatrix\n",
" end\n",
" \n",
" #######################################################\n",
" function get_matrices(setup)\n",
"\n",
" nodes = setup[\"nodes\"]\n",
" edges = setup[\"edges\"]\n",
" ndofs = length(nodes)*6\n",
"\n",
" x_axis = [1 0 0]\n",
" y_axis = [0 1 0]\n",
" z_axis = [0 0 1]\n",
"\n",
" M = zeros((ndofs,ndofs))\n",
" K = zeros((ndofs,ndofs))\n",
" \n",
" \n",
" for edge in edges\n",
" #degrees_of_freedom = properties[\"degrees_of_freedom\"]\n",
"\n",
" element=parse(Int,edge[\"id\"][2:end])\n",
"\n",
" # find the nodes that the lements connects\n",
" fromNode = nodes[edge[\"source\"]+1]\n",
" toNode = nodes[edge[\"target\"]+1]\n",
" \n",
"\n",
" # the coordinates for each node\n",
" fromPoint = [fromNode[\"position\"][\"x\"]/100.0 fromNode[\"position\"][\"y\"]/100.0 fromNode[\"position\"][\"z\"]/100.0]\n",
" toPoint = [toNode[\"position\"][\"x\"]/100.0 toNode[\"position\"][\"y\"]/100.0 toNode[\"position\"][\"z\"]/100.0]\n",
"\n",
" # find the degrees of freedom for each node\n",
" dofs = convert(Array{Int}, fromNode[\"degrees_of_freedom\"])\n",
" dofs=vcat(dofs,convert(Array{Int}, toNode[\"degrees_of_freedom\"]))\n",
"\n",
" element_vector=toPoint-fromPoint\n",
"\n",
" # find element mass and stifness matrices\n",
" length = norm(element_vector)\n",
" rho = edge[\"density\"]\n",
" area = edge[\"area\"]\n",
" E = edge[\"stiffness\"]# youngs modulus\n",
"\n",
" A = edge[\"area\"]\n",
" G=1.0#todo shear_modulus\n",
" ixx = 1.0#todo section ixx\n",
" iyy = 1.0#todo section.iyy#\n",
" l0=length\n",
" j=1.0;#todo check\n",
" l02 = l0 * l0\n",
" l03 = l0 * l0 * l0\n",
" \n",
" ################################\n",
" mass=1\n",
" nu=0.35\n",
" W = 75\n",
" L = W/sqrt(2)\n",
" L=length\n",
" n_min = 1\n",
" n_max = 7\n",
" # Cross Section inputs, must be floats\n",
" E = 2000e9 # MPa\n",
" G = E * 1 / 3 # MPa\n",
" h = 2.38/100.0 # mm\n",
" b = 2.38/100.0 # mm\n",
" rho = 7.85e-9 / 3 # kg/mm^3\n",
" S = h * b\n",
" Sy = (S * (6 + 12 * nu + 6 * nu^2)/ (7 + 12 * nu + 4 * nu^2))\n",
" # For solid rectangular cross section (width=b, depth=d & ( b < d )):\n",
" Q = 1 / 3 - 0.2244 / (min(h / b, b / h) + 0.1607)\n",
" J = Q * min(h * b^3, b * h^3)\n",
" \n",
" \n",
" ##if voxels\n",
" #nu=0\n",
" #L=l\n",
" #a1 = E*L # EA/L : Units of N/m\n",
" #a2 = E * L*L*L / (12.0*(1+nu)) # GJ/L : Units of N-m\n",
" #b1 = E*L # 12EI/L^3 : Units of N/m\n",
" #b2 = E*L*L/2.0 # 6EI/L^2 : Units of N (or N-m/m: torque related to linear distance)\n",
" #b3 = E*L*L*L/6.0 # 2EI/L : Units of N-m\n",
" \n",
" I= b*h^3/12\n",
"# J=b*h*(b*b+h*h)/12\n",
" a1=E*b*h/L\n",
" a2=G*J/L\n",
" b1=12*E*I/(L^3)\n",
" b2=6*E*I/(L^2)\n",
" b3=2*E*I/(L)\n",
" \n",
" # Cm = rho * area * length /6.0\n",
" # Ck= E * area / length \n",
"\n",
" # m = [[2 1];[1 2]]\n",
" # k = [[1 -1];[-1 1]]\n",
" \n",
"\n",
" k = [[E*A/l0 0 0 0 0 0 -E*A/l0 0 0 0 0 0];[0 12*E*ixx/l03 0 0 0 6*E*ixx/l02 0 -12*E*ixx/l03 0 0 0 6*E*ixx/l02];[0 0 12*E*iyy/l03 0 -6*E*iyy/l02 0 0 0 -12*E*iyy/l03 0 -6*E*iyy/l02 0];[0 0 0 G*j/l0 0 0 0 0 0 -G*j/l0 0 0];[0 0 -6*E*iyy/l02 0 4*E*iyy/l0 0 0 0 6*E*iyy/l02 0 2*E*iyy/l0 0];[0 6*E*ixx/l02 0 0 0 4*E*ixx/l0 0 -6*E*ixx/l02 0 0 0 2*E*ixx/l0];[-E*A/l0 0 0 0 0 0 E*A/l0 0 0 0 0 0];[0 -12*E*ixx/l03 0 0 0 -6*E*ixx/l02 0 12*E*ixx/l03 0 0 0 -6*E*ixx/l02];[0 0 -12*E*iyy/l03 0 6*E*iyy/l02 0 0 0 12*E*iyy/l03 0 6*E*iyy/l02 0];[0 0 0 -G*j/l0 0 0 0 0 0 G*j/l0 0 0];[0 0 -6*E*iyy/l02 0 2*E*iyy/l0 0 0 0 6*E*iyy/l02 0 4*E*iyy/l0 0];[0 6*E*ixx/l02 0 0 0 2*E*ixx/l0 0 -6*E*ixx/l02 0 0 0 4*E*ixx/l0]]\n",
" k= [[ a1 0 0 0 0 0 -a1 0 0 0 0 0 ];\n",
" [ 0 b1 0 0 0 b2 0 -b1 0 0 0 b2 ];\n",
" [ 0 0 b1 0 -b2 0 0 0 -b1 0 -b2 0 ];\n",
" [ 0 0 0 a2 0 0 0 0 0 -a2 0 0 ];\n",
" [ 0 0 0 0 2b3 0 0 0 b2 0 b3 0 ];\n",
" [ 0 0 0 0 0 2b3 0 -b2 0 0 0 b3 ];\n",
" [ 0 0 0 0 0 0 a1 0 0 0 0 0 ];\n",
" [ 0 0 0 0 0 0 0 b1 0 0 0 -b2 ];\n",
" [ 0 0 0 0 0 0 0 0 b1 0 b2 0 ];\n",
" [ 0 0 0 0 0 0 0 0 0 a2 0 0 ];\n",
" [ 0 0 0 0 0 0 0 0 0 0 2b3 0 ];\n",
" [ 0 0 0 0 0 0 0 0 0 0 0 2b3 ]]\n",
" # find rotated mass and stifness matrices\n",
" tau = rotation_matrix(element_vector, x_axis,y_axis,z_axis)\n",
"\n",
" # m_r=transpose(tau)*m*tau\n",
" k_r=transpose(tau)*k*tau\n",
"\n",
" # change from element to global coordinate\n",
" index= dofs.+1\n",
"\n",
" B=zeros((12,ndofs))\n",
" for i in 1:12\n",
" B[i,index[i]]=1.0\n",
" end\n",
"\n",
"\n",
" # M_rG= transpose(B)*m_r*B\n",
" K_rG= transpose(B)*k_r*B\n",
"\n",
" # M += Cm .* M_rG\n",
" # K += Ck .* K_rG\n",
" K += K_rG\n",
"\n",
" end\n",
" \n",
" \n",
" # construct the force vector\n",
" F=zeros(ndofs)\n",
" remove_indices=[];\n",
" for node in nodes\n",
" #insert!(F,i, value);\n",
" #F=vcat(F,value)\n",
" \n",
" \n",
" i=parse(Int,node[\"id\"][2:end])\n",
" f=node[\"force\"]\n",
" \n",
" # println(f)\n",
" F[(i)*6+1]=f[\"x\"]/1.0\n",
" F[(i)*6+2]=f[\"y\"]/1.0\n",
" F[(i)*6+3]=f[\"z\"]/1.0\n",
" F[(i)*6+4]=0\n",
" F[(i)*6+5]=0\n",
" F[(i)*6+6]=0\n",
" Load+=f[\"y\"]/1.0\n",
" if (F[(i)*6+2]!=0)\n",
" append!(topNodesIndices,i)\n",
" end\n",
" \n",
" dofs = convert(Array{Int}, node[\"degrees_of_freedom\"]).+1\n",
" restrained_dofs=node[\"restrained_degrees_of_freedom\"]\n",
" for (index, value) in enumerate(dofs)\n",
" if restrained_dofs[index]\n",
" append!( remove_indices, value)\n",
" end\n",
" end\n",
" \n",
" end\n",
"\n",
" #println(remove_indices)\n",
" #print(K)\n",
" #print(F)\n",
" \n",
"\n",
" #M = M[setdiff(1:end, remove_indices), :]\n",
" K = K[setdiff(1:end, remove_indices), :]\n",
"\n",
" #M = M[:,setdiff(1:end, remove_indices)]\n",
" K = K[:,setdiff(1:end, remove_indices)]\n",
"\n",
" F = F[setdiff(1:end, remove_indices)]\n",
" U=zeros(ndofs)\n",
" \n",
" return M,K,F,U,remove_indices\n",
" end\n",
"\n",
" \n",
" function updateDisplacement(setup, X)\n",
" nodes= setup[\"nodes\"]\n",
" i=0\n",
" for node in nodes\n",
" \n",
"# if !node[\"restrained_degrees_of_freedom\"][2]\n",
" #i=parse(Int,node[\"id\"][2:end])\n",
" node[\"displacement\"][\"x\"]=X[(i)*6+1]/15\n",
" node[\"displacement\"][\"y\"]=X[(i)*6+2]/15\n",
" node[\"displacement\"][\"z\"]=X[(i)*6+3]/15\n",
" node[\"angle\"][\"x\"]=X[(i)*6+4]\n",
" node[\"angle\"][\"y\"]=X[(i)*6+5]\n",
" node[\"angle\"][\"z\"]=X[(i)*6+6]\n",
" append!(displacementFEA,[Vector3(X[(i)*6+1],X[(i)*6+2],X[(i)*6+3])])\n",
" i=i+1\n",
"# else\n",
"# append!(displacementFEA,[Vector3(0,0,0)])\n",
"# end\n",
" end\n",
" end\n",
" \n",
" #######################################################\n",
"\n",
" function get_stresses(setup)\n",
" nodes = setup[\"nodes\"]\n",
" edges = setup[\"edges\"]\n",
" ndofs = length(nodes)*6\n",
"\n",
" x_axis = [1 0 0]\n",
" y_axis = [0 1 0]\n",
" z_axis = [0 0 1]\n",
"\n",
" # find the stresses in each member\n",
" stresses=zeros(length(edges))\n",
" max11=-10e6\n",
" min11=10e6\n",
" for edge in edges\n",
" #degrees_of_freedom = properties[\"degrees_of_freedom\"]\n",
"\n",
" element=parse(Int,edge[\"id\"][2:end])\n",
"\n",
" # find the nodes that the lements connects\n",
" fromNode = nodes[edge[\"source\"]+1]\n",
" toNode = nodes[edge[\"target\"]+1]\n",
"\n",
" # the coordinates for each node\n",
" fromPoint = [fromNode[\"position\"][\"x\"]/100.0 fromNode[\"position\"][\"y\"]/100.0 fromNode[\"position\"][\"z\"]/100.0]\n",
" toPoint = [toNode[\"position\"][\"x\"]/100.0 toNode[\"position\"][\"y\"]/100.0 toNode[\"position\"][\"z\"]/100.0]\n",
"\n",
" # find the degrees of freedom for each node\n",
" dofs = convert(Array{Int}, fromNode[\"degrees_of_freedom\"])\n",
" dofs=vcat(dofs,convert(Array{Int}, toNode[\"degrees_of_freedom\"]))\n",
"\n",
" element_vector=toPoint-fromPoint\n",
"\n",
"\n",
" # find rotated mass and stifness matrices\n",
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
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
" tau = rotation_matrix(element_vector, x_axis,y_axis,z_axis)\n",
"\n",
" # i1=parse(Int,fromNode[\"id\"][2:end])\n",
" # i2=parse(Int,toNode[\"id\"][2:end])\n",
"\n",
" # global_displacements=[X[(i1)*6+1] X[(i1)*6+2] X[(i1)*6+3] X[(i1)*6+4] X[(i1)*6+5] X[(i1)*6+6] X[(i2)*6+1] X[(i2)*6+2] X[(i2)*6+3] X[(i2)*6+4] X[(i2)*6+5] X[(i2)*6+6]] # todo change\n",
" global_displacements=[fromNode[\"displacement\"][\"x\"] fromNode[\"displacement\"][\"y\"] fromNode[\"displacement\"][\"z\"] fromNode[\"angle\"][\"x\"] fromNode[\"angle\"][\"y\"] fromNode[\"angle\"][\"z\"] toNode[\"displacement\"][\"x\"] toNode[\"displacement\"][\"y\"] toNode[\"displacement\"][\"z\"] toNode[\"angle\"][\"x\"] toNode[\"angle\"][\"y\"] toNode[\"angle\"][\"z\"]] # todo change\n",
"\n",
" # nodal displacement\n",
"\n",
" q=tau*transpose(global_displacements)\n",
" # println(q)\n",
" # calculate the strain and stresses\n",
" strain =(q[7]-q[1])/norm(element_vector)\n",
" E = edge[\"stiffness\"]# youngs modulus\n",
" stress=E.*strain\n",
" edge[\"stress\"]=stress\n",
" if stress>max11\n",
" max11=stress\n",
" end\n",
" if stress<min11\n",
" min11=stress\n",
" end\n",
" # println(element)\n",
" # println(stress)\n",
" end\n",
"\n",
"\n",
"\n",
" setup[\"viz\"][\"minStress\"]=min11\n",
" setup[\"viz\"][\"maxStress\"]=max11\n",
" return stresses\n",
" end\n",
" \n",
" function initialize(setup)\n",
" nodes = setup[\"nodes\"]\n",
" ndofs = length(nodes)*6\n",
" \n",
" i=0\n",
" for node in nodes\n",
" dg=[]\n",
" for ii in 0:5\n",
" append!(dg,i+ii) \n",
" end\n",
" i+=6\n",
" node[\"degrees_of_freedom\"]=dg\n",
" end\n",
" end\n",
"\n",
" #######################################################\n",
" function solveFea(setup)\n",
" // # determine the global matrices\n",
" initialize(setup)\n",
" M,K,F,U,ind=get_matrices(setup)\n",
" \n",
" #println(M)\n",
" #println(K)\n",
" #println(F)\n",
"\n",
" #evals=eigvals(K,M)\n",
" #evecs=eigvecs(K,M)\n",
" #frequencies=sqrt.(evals)\n",
" X=inv(K)*F\n",
" U[setdiff(1:end, ind)]=X\n",
"\n",
" updateDisplacement(setup, U)\n",
"\n",
" # determine the stresses in each element\n",
" stresses=get_stresses(setup)\n",
" end\n",
" #######################################################\n",
" displacementFEA=[]\n",
" Load=0\n",
" topNodesIndices=[]\n",
" solveFea(setup)\n",
" return displacementFEA,Load,topNodesIndices\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"recommendedTimeStep (generic function with 1 method)"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function recommendedTimeStep()\n",
" \n",
" \n",
"# #find the largest natural frequency (sqrt(k/m)) that anything in the simulation will experience, then multiply by 2*pi and invert to get the optimally largest timestep that should retain stability\n",
"# MaxFreq2 = 0.0; #maximum frequency in the simulation in rad/sec\n",
" \n",
"# for e in 1:length(edges) #for each edge\n",
"# CVX_Link* pL = (*it);\n",
"# #axial\n",
"# m1 = mass(), m2 = mass()\n",
"# thisMaxFreq2 = axialStiffness()/(m1<m2?m1:m2)\n",
"# if (thisMaxFreq2 > MaxFreq2) \n",
"# MaxFreq2 = thisMaxFreq2;\n",
"# end\n",
"\n",
"# #rotational will always be less than or equal\n",
"# end\n",
" \n",
"\n",
"# if (MaxFreq2 <= 0.0) #didn't find anything (i.e no links) check for individual voxelss\n",
"# for n in 1:length(nodes) #for each node\n",
"# thisMaxFreq2 = youngsModulus*nomSize/mass;\n",
"# #thisMaxFreq2 = (*it)->mat->youngsModulus()*(*it)->mat->nomSize/(*it)->mat->mass();\n",
"# if (thisMaxFreq2 > MaxFreq2) \n",
"# MaxFreq2 = thisMaxFreq2;\n",
"# end\n",
"# end\n",
"# end\n",
"\n",
"# if (MaxFreq2 <= 0.0) \n",
"# return 0.0\n",
"# else \n",
"# return 1.0/(6.283185*sqrt(MaxFreq2)) #the optimal timestep is to advance one radian of the highest natural frequency\n",
"# end\n",
" MaxFreq2=E*size/mass\n",
" return 1/(6.283185*sqrt(MaxFreq2))\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"getSetup (generic function with 1 method)"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function getSetup(latticeSize)\n",
" setup = Dict()\n",
" name=string(\"../json/setupTestUni$latticeSize\",\".json\")\n",
"# open(\"../json/setupValid2.json\", \"r\") do f\n",
"# open(\"../json/setupTest.json\", \"r\") do f\n",
" # open(\"../json/trialJulia.json\", \"r\") do f\n",
"# open(\"../json/setupTestUni4.json\", \"r\") do f\n",
" # open(\"../json/setupChiral.json\", \"r\") do f\n",
"# open(\"../json/setupTestCubeUni10.json\", \"r\") do f\n",
" open(name, \"r\") do f\n",
"# global setup\n",
" dicttxt = String(read(f)) # file information to string\n",
" setup=JSON.parse(dicttxt) # parse and transform data\n",
" end\n",
"\n",
" setup=setup[\"setup\"]\n",
" return setup\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4-element Array{Any,1}:\n",
" 4\n",
" 7\n",
" 8\n",
" 9"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"latticeSize=1\n",
"setup=getSetup(latticeSize)\n",
"displacementFEA,Load,topNodesIndices=fea(setup)\n",
"topNodesIndices"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5-element Array{Float64,1}:\n",
" 0.0\n",
" 0.0\n",
" 0.0\n",
" 0.0\n",
" 0.0"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"DDisplacements=[[],[],[],[],[]]\n",
"DDisplacementsFEA=[[],[],[],[],[]]\n",
"EsFEA=[0.0,0,0,0,0]\n",
"Es=[0.0,0,0,0,0]"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [],
"source": [
"latticeSize=5\n",
"setup=getSetup(latticeSize)\n",
"displacementFEA,Load,topNodesIndices=fea(setup);"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dt: 7.294855212986817e-7\n",
"first timestep took 0.0006283 seconds\n",
"ran latticeSize 5 with 540 voxels and 1800 edges for 2000 time steps took 0.8313075 seconds\n",
"EsFEA:[4.516432560172212, 7.389712166701619, 9.998185539814536, 12.509610413282042, 14.980612218071958]\n",
"Es:[-1.7207658256817755, -1.7187653726043761, -1.8909709475438676, -2.125645742684135, -2.322015017271702]\n",
"FEA displacement= -8.696319301969073e-10,converged displacement= 3.0929663544073403e-9\n"
]
},
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 2400 1600\">\n",
"<defs>\n",
" <clipPath id=\"clip0800\">\n",
" <rect x=\"0\" y=\"0\" width=\"2400\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip0800)\" d=\"\n",
"M0 1600 L2400 1600 L2400 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip0801\">\n",
" <rect x=\"480\" y=\"0\" width=\"1681\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip0800)\" d=\"\n",
"M407.037 1425.62 L2352.76 1425.62 L2352.76 121.675 L407.037 121.675 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip0802\">\n",
" <rect x=\"407\" y=\"121\" width=\"1947\" height=\"1305\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 461.187,1425.62 461.187,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 920.083,1425.62 920.083,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1378.98,1425.62 1378.98,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1837.87,1425.62 1837.87,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 2296.77,1425.62 2296.77,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 407.037,1415.51 2352.76,1415.51 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 407.037,1209.98 2352.76,1209.98 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 407.037,1004.45 2352.76,1004.45 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 407.037,798.913 2352.76,798.913 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 407.037,593.381 2352.76,593.381 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 407.037,387.849 2352.76,387.849 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 407.037,182.317 2352.76,182.317 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,1425.62 2352.76,1425.62 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,1425.62 407.037,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 461.187,1425.62 461.187,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 920.083,1425.62 920.083,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1378.98,1425.62 1378.98,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1837.87,1425.62 1837.87,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2296.77,1425.62 2296.77,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,1415.51 430.386,1415.51 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,1209.98 430.386,1209.98 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,1004.45 430.386,1004.45 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,798.913 430.386,798.913 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,593.381 430.386,593.381 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,387.849 430.386,387.849 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 407.037,182.317 430.386,182.317 \n",
" \"/>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 461.187, 1479.62)\" x=\"461.187\" y=\"1479.62\">0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 920.083, 1479.62)\" x=\"920.083\" y=\"1479.62\">500</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1378.98, 1479.62)\" x=\"1378.98\" y=\"1479.62\">1000</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1837.87, 1479.62)\" x=\"1837.87\" y=\"1479.62\">1500</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 2296.77, 1479.62)\" x=\"2296.77\" y=\"1479.62\">2000</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 201.946, 1439.24)\" x=\"201.946\" y=\"1439.24\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 230.056, 1439.24)\" x=\"230.056\" y=\"1439.24\">1×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 338.454, 1411.83)\" x=\"338.454\" y=\"1411.83\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 361.293, 1411.83)\" x=\"361.293\" y=\"1411.83\">7</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 383.037, 1227.48)\" x=\"383.037\" y=\"1227.48\">0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 230.056, 1028.17)\" x=\"230.056\" y=\"1028.17\">1×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 338.454, 1000.76)\" x=\"338.454\" y=\"1000.76\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 361.293, 1000.76)\" x=\"361.293\" y=\"1000.76\">7</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 230.056, 822.641)\" x=\"230.056\" y=\"822.641\">2×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 338.454, 795.231)\" x=\"338.454\" y=\"795.231\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 361.293, 795.231)\" x=\"361.293\" y=\"795.231\">7</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 230.056, 617.109)\" x=\"230.056\" y=\"617.109\">3×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 338.454, 589.699)\" x=\"338.454\" y=\"589.699\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 361.293, 589.699)\" x=\"361.293\" y=\"589.699\">7</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 230.056, 411.577)\" x=\"230.056\" y=\"411.577\">4×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 338.454, 384.167)\" x=\"338.454\" y=\"384.167\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 361.293, 384.167)\" x=\"361.293\" y=\"384.167\">7</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 230.056, 206.045)\" x=\"230.056\" y=\"206.045\">5×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 338.454, 178.634)\" x=\"338.454\" y=\"178.634\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 361.293, 178.634)\" x=\"361.293\" y=\"178.634\">7</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:84px; text-anchor:middle;\" transform=\"rotate(0, 1379.9, 73.2)\" x=\"1379.9\" y=\"73.2\">5 Voxel Convergence Study</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;\" transform=\"rotate(0, 1379.9, 1559.48)\" x=\"1379.9\" y=\"1559.48\">timestep</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;\" transform=\"rotate(-90, 89.2861, 773.647)\" x=\"89.2861\" y=\"773.647\">displacement</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 462.105,1209.98 463.023,1206.46 463.941,1200.48 464.858,1192.66 465.776,1183.43 466.694,1173.09 467.612,1161.87 468.529,1149.96 469.447,1137.5 470.365,1124.62 \n",
" 471.283,1111.41 472.201,1097.95 473.118,1084.3 474.036,1070.52 474.954,1056.65 475.872,1042.73 476.79,1028.78 477.707,1014.84 478.625,1000.92 479.543,987.061 \n",
" 480.461,973.266 481.379,959.559 482.296,945.958 483.214,932.481 484.132,919.147 485.05,905.972 485.968,892.976 486.885,880.175 487.803,867.589 488.721,855.233 \n",
" 489.639,843.125 490.556,831.282 491.474,819.717 492.392,808.444 493.31,797.476 494.228,786.823 495.145,776.493 496.063,766.492 496.981,756.824 497.899,747.491 \n",
" 498.817,738.491 499.734,729.822 500.652,721.477 501.57,713.447 502.488,705.721 503.406,698.287 504.323,691.128 505.241,684.226 506.159,677.562 507.077,671.115 \n",
" 507.995,664.861 508.912,658.777 509.83,652.838 510.748,647.016 511.666,641.286 512.583,635.62 513.501,629.992 514.419,624.375 515.337,618.743 516.255,613.07 \n",
" 517.172,607.331 518.09,601.502 519.008,595.562 519.926,589.488 520.844,583.263 521.761,576.868 522.679,570.287 523.597,563.508 524.515,556.518 525.433,549.308 \n",
" 526.35,541.871 527.268,534.201 528.186,526.297 529.104,518.157 530.022,509.783 530.939,501.179 531.857,492.351 532.775,483.307 533.693,474.057 534.61,464.612 \n",
" 535.528,454.987 536.446,445.196 537.364,435.256 538.282,425.187 539.199,415.006 540.117,404.735 541.035,394.396 541.953,384.01 542.871,373.602 543.788,363.196 \n",
" 544.706,352.814 545.624,342.483 546.542,332.226 547.46,322.069 548.377,312.036 549.295,302.152 550.213,292.441 551.131,282.925 552.049,273.629 552.966,264.575 \n",
" 553.884,255.784 554.802,247.276 555.72,239.073 556.637,231.191 557.555,223.65 558.473,216.465 559.391,209.652 560.309,203.225 561.226,197.196 562.144,191.578 \n",
" 563.062,186.381 563.98,181.612 564.898,177.281 565.815,173.393 566.733,169.954 567.651,166.966 568.569,164.433 569.487,162.355 570.404,160.733 571.322,159.564 \n",
" 572.24,158.848 573.158,158.579 574.076,158.754 574.993,159.367 575.911,160.412 576.829,161.88 577.747,163.764 578.664,166.055 579.582,168.742 580.5,171.816 \n",
" 581.418,175.265 582.336,179.078 583.253,183.241 584.171,187.744 585.089,192.573 586.007,197.714 586.925,203.154 587.842,208.879 588.76,214.876 589.678,221.131 \n",
" 590.596,227.628 591.514,234.356 592.431,241.298 593.349,248.442 594.267,255.774 595.185,263.279 596.103,270.946 597.02,278.759 597.938,286.707 598.856,294.777 \n",
" 599.774,302.956 600.691,311.233 601.609,319.595 602.527,328.032 603.445,336.533 604.363,345.086 605.28,353.682 606.198,362.311 607.116,370.965 608.034,379.633 \n",
" 608.952,388.307 609.869,396.981 610.787,405.645 611.705,414.293 612.623,422.917 613.541,431.513 614.458,440.072 615.376,448.591 616.294,457.064 617.212,465.485 \n",
" 618.13,473.85 619.047,482.155 619.965,490.397 620.883,498.571 621.801,506.674 622.718,514.704 623.636,522.656 624.554,530.53 625.472,538.323 626.39,546.032 \n",
" 627.307,553.655 628.225,561.192 629.143,568.64 630.061,575.998 630.979,583.264 631.896,590.438 632.814,597.519 633.732,604.505 634.65,611.396 635.568,618.191 \n",
" 636.485,624.889 637.403,631.489 638.321,637.991 639.239,644.395 640.157,650.699 641.074,656.903 641.992,663.006 642.91,669.008 643.828,674.908 644.745,680.705 \n",
" 645.663,686.399 646.581,691.989 647.499,697.475 648.417,702.855 649.334,708.129 650.252,713.295 651.17,718.354 652.088,723.304 653.006,728.144 653.923,732.874 \n",
" 654.841,737.491 655.759,741.996 656.677,746.387 657.595,750.662 658.512,754.822 659.43,758.863 660.348,762.786 661.266,766.589 662.184,770.271 663.101,773.83 \n",
" 664.019,777.266 664.937,780.576 665.855,783.76 666.772,786.816 667.69,789.743 668.608,792.54 669.526,795.205 670.444,797.737 671.361,800.135 672.279,802.398 \n",
" 673.197,804.525 674.115,806.514 675.033,808.364 675.95,810.075 676.868,811.645 677.786,813.073 678.704,814.359 679.622,815.502 680.539,816.5 681.457,817.354 \n",
" 682.375,818.063 683.293,818.626 684.211,819.043 685.128,819.313 686.046,819.436 686.964,819.412 687.882,819.242 688.799,818.924 689.717,818.459 690.635,817.848 \n",
" 691.553,817.09 692.471,816.186 693.388,815.137 694.306,813.943 695.224,812.605 696.142,811.124 697.06,809.501 697.977,807.736 698.895,805.832 699.813,803.788 \n",
" 700.731,801.607 701.649,799.291 702.566,796.84 703.484,794.257 704.402,791.543 705.32,788.7 706.238,785.731 707.155,782.636 708.073,779.42 708.991,776.083 \n",
" 709.909,772.629 710.826,769.059 711.744,765.377 712.662,761.586 713.58,757.687 714.498,753.684 715.415,749.58 716.333,745.377 717.251,741.08 718.169,736.691 \n",
" 719.087,732.213 720.004,727.65 720.922,723.005 721.84,718.282 722.758,713.484 723.676,708.614 724.593,703.677 725.511,698.675 726.429,693.614 727.347,688.496 \n",
" 728.265,683.325 729.182,678.105 730.1,672.84 731.018,667.533 731.936,662.19 732.853,656.813 733.771,651.406 734.689,645.974 735.607,640.52 736.525,635.049 \n",
" 737.442,629.564 738.36,624.069 739.278,618.568 740.196,613.065 741.114,607.564 742.031,602.069 742.949,596.584 743.867,591.113 744.785,585.658 745.703,580.225 \n",
" 746.62,574.817 747.538,569.437 748.456,564.089 749.374,558.777 750.292,553.505 751.209,548.275 752.127,543.092 753.045,537.958 753.963,532.877 754.88,527.853 \n",
" 755.798,522.888 756.716,517.986 757.634,513.149 758.552,508.381 759.469,503.685 760.387,499.063 761.305,494.518 762.223,490.054 763.141,485.671 764.058,481.374 \n",
" 764.976,477.164 765.894,473.044 766.812,469.016 767.73,465.082 768.647,461.245 769.565,457.506 770.483,453.867 771.401,450.33 772.319,446.897 773.236,443.57 \n",
" 774.154,440.35 775.072,437.238 775.99,434.235 776.907,431.344 777.825,428.566 778.743,425.9 779.661,423.349 780.579,420.913 781.496,418.594 782.414,416.391 \n",
" 783.332,414.305 784.25,412.338 785.168,410.489 786.085,408.759 787.003,407.148 787.921,405.656 788.839,404.284 789.757,403.031 790.674,401.898 791.592,400.883 \n",
" 792.51,399.988 793.428,399.212 794.346,398.554 795.263,398.014 796.181,397.591 797.099,397.286 798.017,397.096 798.934,397.022 799.852,397.062 800.77,397.216 \n",
" 801.688,397.483 802.606,397.862 803.523,398.351 804.441,398.95 805.359,399.657 806.277,400.471 807.195,401.391 808.112,402.415 809.03,403.543 809.948,404.771 \n",
" 810.866,406.1 811.784,407.527 812.701,409.051 813.619,410.67 814.537,412.383 815.455,414.187 816.373,416.081 817.29,418.062 818.208,420.13 819.126,422.282 \n",
" 820.044,424.516 820.962,426.831 821.879,429.223 822.797,431.692 823.715,434.235 824.633,436.85 825.55,439.534 826.468,442.286 827.386,445.104 828.304,447.985 \n",
" 829.222,450.927 830.139,453.928 831.057,456.985 831.975,460.096 832.893,463.26 833.811,466.473 834.728,469.733 835.646,473.038 836.564,476.386 837.482,479.774 \n",
" 838.4,483.2 839.317,486.662 840.235,490.156 841.153,493.682 842.071,497.235 842.989,500.815 843.906,504.418 844.824,508.043 845.742,511.686 846.66,515.346 \n",
" 847.577,519.02 848.495,522.706 849.413,526.401 850.331,530.103 851.249,533.81 852.166,537.519 853.084,541.229 854.002,544.936 854.92,548.638 855.838,552.334 \n",
" 856.755,556.021 857.673,559.696 858.591,563.358 859.509,567.005 860.427,570.633 861.344,574.241 862.262,577.828 863.18,581.39 864.098,584.925 865.016,588.433 \n",
" 865.933,591.909 866.851,595.354 867.769,598.764 868.687,602.138 869.604,605.473 870.522,608.769 871.44,612.022 872.358,615.232 873.276,618.397 874.193,621.514 \n",
" 875.111,624.582 876.029,627.6 876.947,630.566 877.865,633.477 878.782,636.334 879.7,639.134 880.618,641.875 881.536,644.557 882.454,647.178 883.371,649.736 \n",
" 884.289,652.231 885.207,654.661 886.125,657.025 887.043,659.322 887.96,661.551 888.878,663.711 889.796,665.8 890.714,667.818 891.631,669.764 892.549,671.637 \n",
" 893.467,673.436 894.385,675.161 895.303,676.81 896.22,678.384 897.138,679.881 898.056,681.302 898.974,682.645 899.892,683.91 900.809,685.097 901.727,686.205 \n",
" 902.645,687.235 903.563,688.185 904.481,689.056 905.398,689.848 906.316,690.561 907.234,691.193 908.152,691.747 909.07,692.221 909.987,692.616 910.905,692.932 \n",
" 911.823,693.169 912.741,693.328 913.658,693.408 914.576,693.411 915.494,693.336 916.412,693.184 917.33,692.956 918.247,692.653 919.165,692.274 920.083,691.821 \n",
" 921.001,691.293 921.919,690.693 922.836,690.021 923.754,689.277 924.672,688.463 925.59,687.579 926.508,686.627 927.425,685.607 928.343,684.521 929.261,683.369 \n",
" 930.179,682.152 931.097,680.873 932.014,679.532 932.932,678.129 933.85,676.668 934.768,675.148 935.685,673.571 936.603,671.939 937.521,670.252 938.439,668.513 \n",
" 939.357,666.722 940.274,664.882 941.192,662.993 942.11,661.057 943.028,659.076 943.946,657.052 944.863,654.984 945.781,652.877 946.699,650.73 947.617,648.546 \n",
" 948.535,646.326 949.452,644.072 950.37,641.785 951.288,639.468 952.206,637.122 953.124,634.748 954.041,632.348 954.959,629.925 955.877,627.479 956.795,625.013 \n",
" 957.712,622.527 958.63,620.025 959.548,617.507 960.466,614.976 961.384,612.432 962.301,609.878 963.219,607.316 964.137,604.747 965.055,602.173 965.973,599.595 \n",
" 966.89,597.015 967.808,594.436 968.726,591.858 969.644,589.283 970.562,586.713 971.479,584.15 972.397,581.595 973.315,579.05 974.233,576.515 975.151,573.994 \n",
" 976.068,571.487 976.986,568.997 977.904,566.523 978.822,564.069 979.739,561.635 980.657,559.223 981.575,556.834 982.493,554.47 983.411,552.132 984.328,549.821 \n",
" 985.246,547.539 986.164,545.287 987.082,543.067 988,540.879 988.917,538.724 989.835,536.605 990.753,534.522 991.671,532.475 992.589,530.468 993.506,528.499 \n",
" 994.424,526.571 995.342,524.684 996.26,522.839 997.178,521.038 998.095,519.281 999.013,517.569 999.931,515.902 1000.85,514.283 1001.77,512.71 1002.68,511.186 \n",
" 1003.6,509.71 1004.52,508.284 1005.44,506.908 1006.36,505.583 1007.27,504.308 1008.19,503.086 1009.11,501.915 1010.03,500.797 1010.94,499.732 1011.86,498.72 \n",
" 1012.78,497.762 1013.7,496.858 1014.62,496.008 1015.53,495.213 1016.45,494.472 1017.37,493.786 1018.29,493.154 1019.2,492.578 1020.12,492.056 1021.04,491.59 \n",
" 1021.96,491.178 1022.88,490.821 1023.79,490.519 1024.71,490.272 1025.63,490.079 1026.55,489.94 1027.46,489.855 1028.38,489.824 1029.3,489.846 1030.22,489.922 \n",
" 1031.14,490.05 1032.05,490.23 1032.97,490.463 1033.89,490.747 1034.81,491.081 1035.72,491.467 1036.64,491.902 1037.56,492.386 1038.48,492.919 1039.4,493.5 \n",
" 1040.31,494.129 1041.23,494.804 1042.15,495.525 1043.07,496.292 1043.98,497.103 1044.9,497.957 1045.82,498.855 1046.74,499.795 1047.66,500.776 1048.57,501.797 \n",
" 1049.49,502.858 1050.41,503.957 1051.33,505.094 1052.25,506.268 1053.16,507.478 1054.08,508.722 1055,510 1055.92,511.31 1056.83,512.652 1057.75,514.025 \n",
" 1058.67,515.428 1059.59,516.859 1060.51,518.317 1061.42,519.802 1062.34,521.311 1063.26,522.845 1064.18,524.402 1065.09,525.981 1066.01,527.581 1066.93,529.2 \n",
" 1067.85,530.837 1068.77,532.492 1069.68,534.162 1070.6,535.848 1071.52,537.547 1072.44,539.259 1073.35,540.983 1074.27,542.716 1075.19,544.459 1076.11,546.21 \n",
" 1077.03,547.967 1077.94,549.73 1078.86,551.497 1079.78,553.268 1080.7,555.041 1081.61,556.814 1082.53,558.588 1083.45,560.36 1084.37,562.13 1085.29,563.896 \n",
" 1086.2,565.657 1087.12,567.413 1088.04,569.162 1088.96,570.902 1089.87,572.634 1090.79,574.356 1091.71,576.067 1092.63,577.765 1093.55,579.45 1094.46,581.121 \n",
" 1095.38,582.777 1096.3,584.417 1097.22,586.04 1098.13,587.645 1099.05,589.23 1099.97,590.796 1100.89,592.342 1101.81,593.865 1102.72,595.366 1103.64,596.844 \n",
" 1104.56,598.298 1105.48,599.727 1106.39,601.13 1107.31,602.507 1108.23,603.856 1109.15,605.178 1110.07,606.471 1110.98,607.736 1111.9,608.97 1112.82,610.174 \n",
" 1113.74,611.347 1114.65,612.488 1115.57,613.597 1116.49,614.673 1117.41,615.717 1118.33,616.726 1119.24,617.702 1120.16,618.643 1121.08,619.549 1122,620.42 \n",
" 1122.91,621.255 1123.83,622.055 1124.75,622.818 1125.67,623.544 1126.59,624.234 1127.5,624.887 1128.42,625.502 1129.34,626.08 1130.26,626.621 1131.18,627.124 \n",
" 1132.09,627.589 1133.01,628.017 1133.93,628.406 1134.85,628.758 1135.76,629.071 1136.68,629.347 1137.6,629.585 1138.52,629.786 1139.44,629.948 1140.35,630.073 \n",
" 1141.27,630.161 1142.19,630.211 1143.11,630.225 1144.02,630.201 1144.94,630.141 1145.86,630.045 1146.78,629.912 1147.7,629.744 1148.61,629.541 1149.53,629.302 \n",
" 1150.45,629.028 1151.37,628.72 1152.28,628.379 1153.2,628.003 1154.12,627.595 1155.04,627.154 1155.96,626.68 1156.87,626.175 1157.79,625.639 1158.71,625.073 \n",
" 1159.63,624.476 1160.54,623.85 1161.46,623.194 1162.38,622.511 1163.3,621.8 1164.22,621.061 1165.13,620.296 1166.05,619.506 1166.97,618.69 1167.89,617.849 \n",
" 1168.8,616.985 1169.72,616.098 1170.64,615.188 1171.56,614.257 1172.48,613.304 1173.39,612.332 1174.31,611.34 1175.23,610.329 1176.15,609.3 1177.06,608.254 \n",
" 1177.98,607.192 1178.9,606.113 1179.82,605.021 1180.74,603.914 1181.65,602.793 1182.57,601.66 1183.49,600.516 1184.41,599.361 1185.32,598.195 1186.24,597.021 \n",
" 1187.16,595.837 1188.08,594.647 1189,593.449 1189.91,592.245 1190.83,591.037 1191.75,589.823 1192.67,588.606 1193.58,587.387 1194.5,586.165 1195.42,584.942 \n",
" 1196.34,583.719 1197.26,582.496 1198.17,581.274 1199.09,580.054 1200.01,578.837 1200.93,577.623 1201.85,576.414 1202.76,575.209 1203.68,574.01 1204.6,572.818 \n",
" 1205.52,571.632 1206.43,570.455 1207.35,569.286 1208.27,568.127 1209.19,566.977 1210.11,565.839 1211.02,564.711 1211.94,563.595 1212.86,562.493 1213.78,561.403 \n",
" 1214.69,560.327 1215.61,559.266 1216.53,558.22 1217.45,557.189 1218.37,556.175 1219.28,555.177 1220.2,554.197 1221.12,553.235 1222.04,552.291 1222.95,551.366 \n",
" 1223.87,550.46 1224.79,549.574 1225.71,548.708 1226.63,547.863 1227.54,547.039 1228.46,546.236 1229.38,545.456 1230.3,544.698 1231.21,543.962 1232.13,543.249 \n",
" 1233.05,542.56 1233.97,541.894 1234.89,541.252 1235.8,540.634 1236.72,540.04 1237.64,539.471 1238.56,538.927 1239.47,538.408 1240.39,537.914 1241.31,537.446 \n",
" 1242.23,537.003 1243.15,536.586 1244.06,536.194 1244.98,535.829 1245.9,535.489 1246.82,535.176 1247.73,534.888 1248.65,534.627 1249.57,534.391 1250.49,534.182 \n",
" 1251.41,533.999 1252.32,533.842 1253.24,533.711 1254.16,533.606 1255.08,533.527 1255.99,533.473 1256.91,533.445 1257.83,533.443 1258.75,533.466 1259.67,533.514 \n",
" 1260.58,533.587 1261.5,533.685 1262.42,533.807 1263.34,533.954 1264.25,534.125 1265.17,534.32 1266.09,534.538 1267.01,534.78 1267.93,535.045 1268.84,535.332 \n",
" 1269.76,535.642 1270.68,535.974 1271.6,536.327 1272.52,536.702 1273.43,537.098 1274.35,537.515 1275.27,537.952 1276.19,538.409 1277.1,538.885 1278.02,539.38 \n",
" 1278.94,539.893 1279.86,540.425 1280.78,540.975 1281.69,541.541 1282.61,542.125 1283.53,542.725 1284.45,543.34 1285.36,543.971 1286.28,544.617 1287.2,545.277 \n",
" 1288.12,545.951 1289.04,546.638 1289.95,547.338 1290.87,548.05 1291.79,548.774 1292.71,549.509 1293.62,550.254 1294.54,551.01 1295.46,551.775 1296.38,552.55 \n",
" 1297.3,553.333 1298.21,554.123 1299.13,554.921 1300.05,555.726 1300.97,556.538 1301.88,557.354 1302.8,558.176 1303.72,559.003 1304.64,559.834 1305.56,560.668 \n",
" 1306.47,561.504 1307.39,562.344 1308.31,563.185 1309.23,564.027 1310.14,564.87 1311.06,565.713 1311.98,566.556 1312.9,567.398 1313.82,568.239 1314.73,569.077 \n",
" 1315.65,569.913 1316.57,570.746 1317.49,571.575 1318.4,572.4 1319.32,573.221 1320.24,574.037 1321.16,574.847 1322.08,575.651 1322.99,576.448 1323.91,577.239 \n",
" 1324.83,578.022 1325.75,578.797 1326.66,579.564 1327.58,580.322 1328.5,581.071 1329.42,581.81 1330.34,582.539 1331.25,583.257 1332.17,583.965 1333.09,584.661 \n",
" 1334.01,585.345 1334.92,586.018 1335.84,586.678 1336.76,587.326 1337.68,587.96 1338.6,588.581 1339.51,589.188 1340.43,589.781 1341.35,590.36 1342.27,590.924 \n",
" 1343.18,591.474 1344.1,592.008 1345.02,592.527 1345.94,593.03 1346.86,593.517 1347.77,593.988 1348.69,594.443 1349.61,594.881 1350.53,595.303 1351.45,595.708 \n",
" 1352.36,596.096 1353.28,596.466 1354.2,596.82 1355.12,597.156 1356.03,597.474 1356.95,597.775 1357.87,598.058 1358.79,598.323 1359.71,598.57 1360.62,598.8 \n",
" 1361.54,599.011 1362.46,599.205 1363.38,599.38 1364.29,599.538 1365.21,599.677 1366.13,599.799 1367.05,599.903 1367.97,599.988 1368.88,600.056 1369.8,600.106 \n",
" 1370.72,600.138 1371.64,600.153 1372.55,600.15 1373.47,600.13 1374.39,600.092 1375.31,600.037 1376.23,599.966 1377.14,599.877 1378.06,599.771 1378.98,599.649 \n",
" 1379.9,599.511 1380.81,599.356 1381.73,599.185 1382.65,598.998 1383.57,598.796 1384.49,598.579 1385.4,598.346 1386.32,598.098 1387.24,597.836 1388.16,597.559 \n",
" 1389.07,597.268 1389.99,596.964 1390.91,596.645 1391.83,596.314 1392.75,595.969 1393.66,595.612 1394.58,595.242 1395.5,594.86 1396.42,594.466 1397.33,594.061 \n",
" 1398.25,593.645 1399.17,593.217 1400.09,592.78 1401.01,592.332 1401.92,591.875 1402.84,591.408 1403.76,590.932 1404.68,590.447 1405.59,589.954 1406.51,589.453 \n",
" 1407.43,588.944 1408.35,588.428 1409.27,587.906 1410.18,587.376 1411.1,586.841 1412.02,586.3 1412.94,585.753 1413.85,585.202 1414.77,584.646 1415.69,584.086 \n",
" 1416.61,583.522 1417.53,582.954 1418.44,582.384 1419.36,581.811 1420.28,581.235 1421.2,580.658 1422.12,580.079 1423.03,579.499 1423.95,578.918 1424.87,578.337 \n",
" 1425.79,577.756 1426.7,577.175 1427.62,576.595 1428.54,576.016 1429.46,575.438 1430.38,574.862 1431.29,574.289 1432.21,573.718 1433.13,573.15 1434.05,572.585 \n",
" 1434.96,572.024 1435.88,571.466 1436.8,570.913 1437.72,570.365 1438.64,569.821 1439.55,569.283 1440.47,568.75 1441.39,568.223 1442.31,567.702 1443.22,567.188 \n",
" 1444.14,566.68 1445.06,566.18 1445.98,565.686 1446.9,565.201 1447.81,564.723 1448.73,564.253 1449.65,563.792 1450.57,563.339 1451.48,562.895 1452.4,562.46 \n",
" 1453.32,562.034 1454.24,561.618 1455.16,561.212 1456.07,560.816 1456.99,560.429 1457.91,560.053 1458.83,559.688 1459.74,559.333 1460.66,558.989 1461.58,558.656 \n",
" 1462.5,558.334 1463.42,558.024 1464.33,557.725 1465.25,557.437 1466.17,557.161 1467.09,556.897 1468,556.644 1468.92,556.404 1469.84,556.176 1470.76,555.959 \n",
" 1471.68,555.755 1472.59,555.563 1473.51,555.384 1474.43,555.216 1475.35,555.061 1476.26,554.919 1477.18,554.789 1478.1,554.671 1479.02,554.566 1479.94,554.473 \n",
" 1480.85,554.392 1481.77,554.324 1482.69,554.268 1483.61,554.225 1484.52,554.193 1485.44,554.174 1486.36,554.167 1487.28,554.172 1488.2,554.189 1489.11,554.219 \n",
" 1490.03,554.259 1490.95,554.312 1491.87,554.376 1492.79,554.452 1493.7,554.539 1494.62,554.638 1495.54,554.747 1496.46,554.868 1497.37,554.999 1498.29,555.141 \n",
" 1499.21,555.294 1500.13,555.457 1501.05,555.63 1501.96,555.814 1502.88,556.007 1503.8,556.21 1504.72,556.423 1505.63,556.645 1506.55,556.876 1507.47,557.115 \n",
" 1508.39,557.364 1509.31,557.621 1510.22,557.887 1511.14,558.16 1512.06,558.441 1512.98,558.73 1513.89,559.027 1514.81,559.33 1515.73,559.641 1516.65,559.958 \n",
" 1517.57,560.281 1518.48,560.611 1519.4,560.947 1520.32,561.288 1521.24,561.635 1522.15,561.987 1523.07,562.343 1523.99,562.705 1524.91,563.071 1525.83,563.441 \n",
" 1526.74,563.815 1527.66,564.193 1528.58,564.574 1529.5,564.958 1530.41,565.345 1531.33,565.734 1532.25,566.126 1533.17,566.52 1534.09,566.915 1535,567.312 \n",
" 1535.92,567.71 1536.84,568.11 1537.76,568.51 1538.67,568.91 1539.59,569.311 1540.51,569.711 1541.43,570.112 1542.35,570.511 1543.26,570.91 1544.18,571.308 \n",
" 1545.1,571.705 1546.02,572.1 1546.93,572.493 1547.85,572.884 1548.77,573.272 1549.69,573.659 1550.61,574.042 1551.52,574.423 1552.44,574.8 1553.36,575.174 \n",
" 1554.28,575.544 1555.19,575.91 1556.11,576.272 1557.03,576.63 1557.95,576.983 1558.87,577.332 1559.78,577.676 1560.7,578.015 1561.62,578.348 1562.54,578.676 \n",
" 1563.46,578.998 1564.37,579.315 1565.29,579.625 1566.21,579.93 1567.13,580.228 1568.04,580.52 1568.96,580.805 1569.88,581.083 1570.8,581.354 1571.72,581.619 \n",
" 1572.63,581.876 1573.55,582.126 1574.47,582.369 1575.39,582.604 1576.3,582.832 1577.22,583.051 1578.14,583.263 1579.06,583.468 1579.98,583.664 1580.89,583.852 \n",
" 1581.81,584.032 1582.73,584.204 1583.65,584.367 1584.56,584.523 1585.48,584.67 1586.4,584.808 1587.32,584.938 1588.24,585.06 1589.15,585.173 1590.07,585.277 \n",
" 1590.99,585.374 1591.91,585.461 1592.82,585.54 1593.74,585.61 1594.66,585.672 1595.58,585.726 1596.5,585.77 1597.41,585.807 1598.33,585.834 1599.25,585.854 \n",
" 1600.17,585.865 1601.08,585.867 1602,585.862 1602.92,585.848 1603.84,585.826 1604.76,585.795 1605.67,585.757 1606.59,585.711 1607.51,585.656 1608.43,585.594 \n",
" 1609.34,585.524 1610.26,585.447 1611.18,585.362 1612.1,585.269 1613.02,585.169 1613.93,585.062 1614.85,584.948 1615.77,584.827 1616.69,584.698 1617.6,584.563 \n",
" 1618.52,584.422 1619.44,584.274 1620.36,584.119 1621.28,583.958 1622.19,583.791 1623.11,583.618 1624.03,583.44 1624.95,583.255 1625.86,583.065 1626.78,582.87 \n",
" 1627.7,582.669 1628.62,582.464 1629.54,582.253 1630.45,582.038 1631.37,581.819 1632.29,581.594 1633.21,581.366 1634.12,581.134 1635.04,580.897 1635.96,580.657 \n",
" 1636.88,580.414 1637.8,580.167 1638.71,579.917 1639.63,579.664 1640.55,579.408 1641.47,579.15 1642.39,578.889 1643.3,578.626 1644.22,578.36 1645.14,578.093 \n",
" 1646.06,577.824 1646.97,577.554 1647.89,577.282 1648.81,577.009 1649.73,576.735 1650.65,576.461 1651.56,576.185 1652.48,575.909 1653.4,575.633 1654.32,575.357 \n",
" 1655.23,575.081 1656.15,574.805 1657.07,574.53 1657.99,574.255 1658.91,573.981 1659.82,573.708 1660.74,573.436 1661.66,573.165 1662.58,572.896 1663.49,572.629 \n",
" 1664.41,572.363 1665.33,572.099 1666.25,571.838 1667.17,571.578 1668.08,571.321 1669,571.067 1669.92,570.815 1670.84,570.566 1671.75,570.32 1672.67,570.077 \n",
" 1673.59,569.838 1674.51,569.602 1675.43,569.369 1676.34,569.14 1677.26,568.915 1678.18,568.694 1679.1,568.477 1680.01,568.264 1680.93,568.055 1681.85,567.851 \n",
" 1682.77,567.651 1683.69,567.456 1684.6,567.265 1685.52,567.079 1686.44,566.898 1687.36,566.722 1688.27,566.551 1689.19,566.385 1690.11,566.225 1691.03,566.069 \n",
" 1691.95,565.919 1692.86,565.774 1693.78,565.635 1694.7,565.501 1695.62,565.373 1696.53,565.25 1697.45,565.133 1698.37,565.022 1699.29,564.917 1700.21,564.817 \n",
" 1701.12,564.723 1702.04,564.635 1702.96,564.552 1703.88,564.476 1704.79,564.405 1705.71,564.341 1706.63,564.282 1707.55,564.229 1708.47,564.182 1709.38,564.141 \n",
" 1710.3,564.106 1711.22,564.077 1712.14,564.053 1713.06,564.035 1713.97,564.024 1714.89,564.017 1715.81,564.017 1716.73,564.023 1717.64,564.034 1718.56,564.05 \n",
" 1719.48,564.073 1720.4,564.101 1721.32,564.134 1722.23,564.173 1723.15,564.217 1724.07,564.267 1724.99,564.321 1725.9,564.381 1726.82,564.447 1727.74,564.517 \n",
" 1728.66,564.592 1729.58,564.672 1730.49,564.757 1731.41,564.846 1732.33,564.941 1733.25,565.04 1734.16,565.143 1735.08,565.251 1736,565.362 1736.92,565.479 \n",
" 1737.84,565.599 1738.75,565.723 1739.67,565.851 1740.59,565.983 1741.51,566.119 1742.42,566.258 1743.34,566.401 1744.26,566.546 1745.18,566.696 1746.1,566.848 \n",
" 1747.01,567.003 1747.93,567.161 1748.85,567.322 1749.77,567.486 1750.68,567.652 1751.6,567.82 1752.52,567.991 1753.44,568.164 1754.36,568.339 1755.27,568.516 \n",
" 1756.19,568.694 1757.11,568.875 1758.03,569.056 1758.94,569.24 1759.86,569.424 1760.78,569.61 1761.7,569.796 1762.62,569.984 1763.53,570.172 1764.45,570.361 \n",
" 1765.37,570.551 1766.29,570.741 1767.2,570.931 1768.12,571.121 1769.04,571.312 1769.96,571.502 1770.88,571.692 1771.79,571.882 1772.71,572.071 1773.63,572.26 \n",
" 1774.55,572.448 1775.46,572.635 1776.38,572.821 1777.3,573.007 1778.22,573.191 1779.14,573.374 1780.05,573.555 1780.97,573.735 1781.89,573.913 1782.81,574.09 \n",
" 1783.73,574.265 1784.64,574.438 1785.56,574.609 1786.48,574.778 1787.4,574.945 1788.31,575.109 1789.23,575.272 1790.15,575.431 1791.07,575.588 1791.99,575.743 \n",
" 1792.9,575.894 1793.82,576.043 1794.74,576.189 1795.66,576.333 1796.57,576.473 1797.49,576.61 1798.41,576.743 1799.33,576.874 1800.25,577.001 1801.16,577.125 \n",
" 1802.08,577.246 1803,577.363 1803.92,577.476 1804.83,577.586 1805.75,577.692 1806.67,577.795 1807.59,577.893 1808.51,577.988 1809.42,578.08 1810.34,578.167 \n",
" 1811.26,578.251 1812.18,578.33 1813.09,578.406 1814.01,578.478 1814.93,578.545 1815.85,578.609 1816.77,578.669 1817.68,578.724 1818.6,578.776 1819.52,578.824 \n",
" 1820.44,578.867 1821.35,578.907 1822.27,578.942 1823.19,578.973 1824.11,579.001 1825.03,579.024 1825.94,579.043 1826.86,579.058 1827.78,579.069 1828.7,579.077 \n",
" 1829.61,579.08 1830.53,579.079 1831.45,579.074 1832.37,579.065 1833.29,579.053 1834.2,579.037 1835.12,579.016 1836.04,578.992 1836.96,578.965 1837.87,578.933 \n",
" 1838.79,578.898 1839.71,578.859 1840.63,578.817 1841.55,578.771 1842.46,578.722 1843.38,578.669 1844.3,578.613 1845.22,578.554 1846.13,578.491 1847.05,578.426 \n",
" 1847.97,578.357 1848.89,578.285 1849.81,578.21 1850.72,578.132 1851.64,578.051 1852.56,577.967 1853.48,577.881 1854.39,577.792 1855.31,577.7 1856.23,577.606 \n",
" 1857.15,577.51 1858.07,577.411 1858.98,577.31 1859.9,577.206 1860.82,577.101 1861.74,576.993 1862.66,576.884 1863.57,576.772 1864.49,576.659 1865.41,576.544 \n",
" 1866.33,576.428 1867.24,576.31 1868.16,576.19 1869.08,576.069 1870,575.947 1870.92,575.823 1871.83,575.699 1872.75,575.573 1873.67,575.447 1874.59,575.319 \n",
" 1875.5,575.191 1876.42,575.062 1877.34,574.933 1878.26,574.803 1879.18,574.673 1880.09,574.542 1881.01,574.411 1881.93,574.28 1882.85,574.149 1883.76,574.017 \n",
" 1884.68,573.886 1885.6,573.755 1886.52,573.625 1887.44,573.494 1888.35,573.364 1889.27,573.235 1890.19,573.106 1891.11,572.978 1892.02,572.85 1892.94,572.724 \n",
" 1893.86,572.598 1894.78,572.473 1895.7,572.349 1896.61,572.226 1897.53,572.105 1898.45,571.985 1899.37,571.866 1900.28,571.748 1901.2,571.632 1902.12,571.518 \n",
" 1903.04,571.405 1903.96,571.293 1904.87,571.184 1905.79,571.076 1906.71,570.97 1907.63,570.866 1908.54,570.764 1909.46,570.664 1910.38,570.566 1911.3,570.47 \n",
" 1912.22,570.376 1913.13,570.284 1914.05,570.195 1914.97,570.108 1915.89,570.023 1916.8,569.94 1917.72,569.86 1918.64,569.783 1919.56,569.708 1920.48,569.635 \n",
" 1921.39,569.565 1922.31,569.498 1923.23,569.433 1924.15,569.371 1925.06,569.311 1925.98,569.254 1926.9,569.2 1927.82,569.149 1928.74,569.1 1929.65,569.054 \n",
" 1930.57,569.011 1931.49,568.97 1932.41,568.933 1933.33,568.898 1934.24,568.866 1935.16,568.837 1936.08,568.81 1937,568.786 1937.91,568.766 1938.83,568.747 \n",
" 1939.75,568.732 1940.67,568.72 1941.59,568.71 1942.5,568.703 1943.42,568.699 1944.34,568.697 1945.26,568.699 1946.17,568.703 1947.09,568.709 1948.01,568.719 \n",
" 1948.93,568.731 1949.85,568.745 1950.76,568.763 1951.68,568.782 1952.6,568.805 1953.52,568.829 1954.43,568.857 1955.35,568.887 1956.27,568.919 1957.19,568.953 \n",
" 1958.11,568.99 1959.02,569.03 1959.94,569.071 1960.86,569.115 1961.78,569.161 1962.69,569.209 1963.61,569.259 1964.53,569.311 1965.45,569.366 1966.37,569.422 \n",
" 1967.28,569.48 1968.2,569.54 1969.12,569.602 1970.04,569.665 1970.95,569.731 1971.87,569.798 1972.79,569.866 1973.71,569.936 1974.63,570.008 1975.54,570.081 \n",
" 1976.46,570.156 1977.38,570.231 1978.3,570.309 1979.21,570.387 1980.13,570.466 1981.05,570.547 1981.97,570.629 1982.89,570.711 1983.8,570.795 1984.72,570.879 \n",
" 1985.64,570.965 1986.56,571.051 1987.47,571.138 1988.39,571.225 1989.31,571.313 1990.23,571.401 1991.15,571.49 1992.06,571.58 1992.98,571.669 1993.9,571.759 \n",
" 1994.82,571.849 1995.73,571.94 1996.65,572.03 1997.57,572.121 1998.49,572.211 1999.41,572.301 2000.32,572.392 2001.24,572.482 2002.16,572.572 2003.08,572.661 \n",
" 2004,572.75 2004.91,572.839 2005.83,572.927 2006.75,573.015 2007.67,573.102 2008.58,573.189 2009.5,573.275 2010.42,573.36 2011.34,573.444 2012.26,573.528 \n",
" 2013.17,573.61 2014.09,573.692 2015.01,573.773 2015.93,573.853 2016.84,573.931 2017.76,574.009 2018.68,574.085 2019.6,574.16 2020.52,574.234 2021.43,574.307 \n",
" 2022.35,574.379 2023.27,574.449 2024.19,574.517 2025.1,574.585 2026.02,574.65 2026.94,574.715 2027.86,574.777 2028.78,574.839 2029.69,574.898 2030.61,574.956 \n",
" 2031.53,575.013 2032.45,575.067 2033.36,575.12 2034.28,575.172 2035.2,575.221 2036.12,575.269 2037.04,575.315 2037.95,575.359 2038.87,575.402 2039.79,575.442 \n",
" 2040.71,575.481 2041.62,575.518 2042.54,575.553 2043.46,575.586 2044.38,575.617 2045.3,575.647 2046.21,575.674 2047.13,575.699 2048.05,575.723 2048.97,575.745 \n",
" 2049.88,575.764 2050.8,575.782 2051.72,575.798 2052.64,575.812 2053.56,575.824 2054.47,575.834 2055.39,575.842 2056.31,575.848 2057.23,575.852 2058.14,575.855 \n",
" 2059.06,575.855 2059.98,575.854 2060.9,575.851 2061.82,575.846 2062.73,575.839 2063.65,575.83 2064.57,575.819 2065.49,575.807 2066.4,575.793 2067.32,575.777 \n",
" 2068.24,575.76 2069.16,575.74 2070.08,575.719 2070.99,575.697 2071.91,575.672 2072.83,575.647 2073.75,575.619 2074.67,575.59 2075.58,575.56 2076.5,575.528 \n",
" 2077.42,575.494 2078.34,575.459 2079.25,575.423 2080.17,575.385 2081.09,575.346 2082.01,575.305 2082.93,575.264 2083.84,575.221 2084.76,575.177 2085.68,575.131 \n",
" 2086.6,575.085 2087.51,575.037 2088.43,574.989 2089.35,574.939 2090.27,574.888 2091.19,574.837 2092.1,574.784 2093.02,574.731 2093.94,574.677 2094.86,574.622 \n",
" 2095.77,574.566 2096.69,574.51 2097.61,574.452 2098.53,574.395 2099.45,574.336 2100.36,574.277 2101.28,574.218 2102.2,574.158 2103.12,574.098 2104.03,574.037 \n",
" 2104.95,573.976 2105.87,573.914 2106.79,573.853 2107.71,573.791 2108.62,573.729 2109.54,573.667 2110.46,573.605 2111.38,573.542 2112.29,573.48 2113.21,573.417 \n",
" 2114.13,573.355 2115.05,573.293 2115.97,573.231 2116.88,573.169 2117.8,573.108 2118.72,573.046 2119.64,572.985 2120.55,572.924 2121.47,572.864 2122.39,572.804 \n",
" 2123.31,572.744 2124.23,572.685 2125.14,572.627 2126.06,572.569 2126.98,572.511 2127.9,572.455 2128.81,572.398 2129.73,572.343 2130.65,572.288 2131.57,572.234 \n",
" 2132.49,572.181 2133.4,572.128 2134.32,572.077 2135.24,572.026 2136.16,571.976 2137.07,571.927 2137.99,571.879 2138.91,571.832 2139.83,571.786 2140.75,571.741 \n",
" 2141.66,571.697 2142.58,571.654 2143.5,571.612 2144.42,571.571 2145.33,571.531 2146.25,571.493 2147.17,571.455 2148.09,571.419 2149.01,571.384 2149.92,571.35 \n",
" 2150.84,571.318 2151.76,571.286 2152.68,571.256 2153.6,571.227 2154.51,571.2 2155.43,571.173 2156.35,571.148 2157.27,571.124 2158.18,571.102 2159.1,571.081 \n",
" 2160.02,571.061 2160.94,571.042 2161.86,571.025 2162.77,571.009 2163.69,570.995 2164.61,570.982 2165.53,570.97 2166.44,570.959 2167.36,570.95 2168.28,570.942 \n",
" 2169.2,570.936 2170.12,570.93 2171.03,570.926 2171.95,570.924 2172.87,570.922 2173.79,570.922 2174.7,570.924 2175.62,570.926 2176.54,570.93 2177.46,570.935 \n",
" 2178.38,570.942 2179.29,570.949 2180.21,570.958 2181.13,570.968 2182.05,570.979 2182.96,570.992 2183.88,571.005 2184.8,571.02 2185.72,571.036 2186.64,571.053 \n",
" 2187.55,571.071 2188.47,571.09 2189.39,571.111 2190.31,571.132 2191.22,571.154 2192.14,571.178 2193.06,571.202 2193.98,571.227 2194.9,571.254 2195.81,571.281 \n",
" 2196.73,571.309 2197.65,571.338 2198.57,571.368 2199.48,571.398 2200.4,571.43 2201.32,571.462 2202.24,571.495 2203.16,571.529 2204.07,571.563 2204.99,571.598 \n",
" 2205.91,571.634 2206.83,571.67 2207.74,571.707 2208.66,571.745 2209.58,571.783 2210.5,571.821 2211.42,571.861 2212.33,571.9 2213.25,571.94 2214.17,571.98 \n",
" 2215.09,572.021 2216,572.062 2216.92,572.104 2217.84,572.145 2218.76,572.187 2219.68,572.229 2220.59,572.272 2221.51,572.314 2222.43,572.357 2223.35,572.4 \n",
" 2224.27,572.443 2225.18,572.486 2226.1,572.528 2227.02,572.571 2227.94,572.614 2228.85,572.657 2229.77,572.7 2230.69,572.743 2231.61,572.786 2232.53,572.828 \n",
" 2233.44,572.87 2234.36,572.912 2235.28,572.954 2236.2,572.996 2237.11,573.037 2238.03,573.078 2238.95,573.119 2239.87,573.159 2240.79,573.199 2241.7,573.238 \n",
" 2242.62,573.277 2243.54,573.316 2244.46,573.354 2245.37,573.392 2246.29,573.429 2247.21,573.465 2248.13,573.501 2249.05,573.537 2249.96,573.572 2250.88,573.606 \n",
" 2251.8,573.64 2252.72,573.672 2253.63,573.705 2254.55,573.736 2255.47,573.767 2256.39,573.797 2257.31,573.827 2258.22,573.856 2259.14,573.884 2260.06,573.911 \n",
" 2260.98,573.937 2261.89,573.963 2262.81,573.987 2263.73,574.011 2264.65,574.035 2265.57,574.057 2266.48,574.078 2267.4,574.099 2268.32,574.118 2269.24,574.137 \n",
" 2270.15,574.155 2271.07,574.172 2271.99,574.188 2272.91,574.204 2273.83,574.218 2274.74,574.232 2275.66,574.244 2276.58,574.256 2277.5,574.266 2278.41,574.276 \n",
" 2279.33,574.285 2280.25,574.293 2281.17,574.3 2282.09,574.306 2283,574.311 2283.92,574.316 2284.84,574.319 2285.76,574.322 2286.67,574.323 2287.59,574.324 \n",
" 2288.51,574.324 2289.43,574.323 2290.35,574.321 2291.26,574.318 2292.18,574.314 2293.1,574.309 2294.02,574.304 2294.94,574.298 2295.85,574.29 2296.77,574.283 \n",
" 2297.69,574.274 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0802)\" style=\"stroke:#e26f46; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 462.105,1388.71 463.023,1388.71 463.941,1388.71 464.858,1388.71 465.776,1388.71 466.694,1388.71 467.612,1388.71 468.529,1388.71 469.447,1388.71 470.365,1388.71 \n",
" 471.283,1388.71 472.201,1388.71 473.118,1388.71 474.036,1388.71 474.954,1388.71 475.872,1388.71 476.79,1388.71 477.707,1388.71 478.625,1388.71 479.543,1388.71 \n",
" 480.461,1388.71 481.379,1388.71 482.296,1388.71 483.214,1388.71 484.132,1388.71 485.05,1388.71 485.968,1388.71 486.885,1388.71 487.803,1388.71 488.721,1388.71 \n",
" 489.639,1388.71 490.556,1388.71 491.474,1388.71 492.392,1388.71 493.31,1388.71 494.228,1388.71 495.145,1388.71 496.063,1388.71 496.981,1388.71 497.899,1388.71 \n",
" 498.817,1388.71 499.734,1388.71 500.652,1388.71 501.57,1388.71 502.488,1388.71 503.406,1388.71 504.323,1388.71 505.241,1388.71 506.159,1388.71 507.077,1388.71 \n",
" 507.995,1388.71 508.912,1388.71 509.83,1388.71 510.748,1388.71 511.666,1388.71 512.583,1388.71 513.501,1388.71 514.419,1388.71 515.337,1388.71 516.255,1388.71 \n",
" 517.172,1388.71 518.09,1388.71 519.008,1388.71 519.926,1388.71 520.844,1388.71 521.761,1388.71 522.679,1388.71 523.597,1388.71 524.515,1388.71 525.433,1388.71 \n",
" 526.35,1388.71 527.268,1388.71 528.186,1388.71 529.104,1388.71 530.022,1388.71 530.939,1388.71 531.857,1388.71 532.775,1388.71 533.693,1388.71 534.61,1388.71 \n",
" 535.528,1388.71 536.446,1388.71 537.364,1388.71 538.282,1388.71 539.199,1388.71 540.117,1388.71 541.035,1388.71 541.953,1388.71 542.871,1388.71 543.788,1388.71 \n",
" 544.706,1388.71 545.624,1388.71 546.542,1388.71 547.46,1388.71 548.377,1388.71 549.295,1388.71 550.213,1388.71 551.131,1388.71 552.049,1388.71 552.966,1388.71 \n",
" 553.884,1388.71 554.802,1388.71 555.72,1388.71 556.637,1388.71 557.555,1388.71 558.473,1388.71 559.391,1388.71 560.309,1388.71 561.226,1388.71 562.144,1388.71 \n",
" 563.062,1388.71 563.98,1388.71 564.898,1388.71 565.815,1388.71 566.733,1388.71 567.651,1388.71 568.569,1388.71 569.487,1388.71 570.404,1388.71 571.322,1388.71 \n",
" 572.24,1388.71 573.158,1388.71 574.076,1388.71 574.993,1388.71 575.911,1388.71 576.829,1388.71 577.747,1388.71 578.664,1388.71 579.582,1388.71 580.5,1388.71 \n",
" 581.418,1388.71 582.336,1388.71 583.253,1388.71 584.171,1388.71 585.089,1388.71 586.007,1388.71 586.925,1388.71 587.842,1388.71 588.76,1388.71 589.678,1388.71 \n",
" 590.596,1388.71 591.514,1388.71 592.431,1388.71 593.349,1388.71 594.267,1388.71 595.185,1388.71 596.103,1388.71 597.02,1388.71 597.938,1388.71 598.856,1388.71 \n",
" 599.774,1388.71 600.691,1388.71 601.609,1388.71 602.527,1388.71 603.445,1388.71 604.363,1388.71 605.28,1388.71 606.198,1388.71 607.116,1388.71 608.034,1388.71 \n",
" 608.952,1388.71 609.869,1388.71 610.787,1388.71 611.705,1388.71 612.623,1388.71 613.541,1388.71 614.458,1388.71 615.376,1388.71 616.294,1388.71 617.212,1388.71 \n",
" 618.13,1388.71 619.047,1388.71 619.965,1388.71 620.883,1388.71 621.801,1388.71 622.718,1388.71 623.636,1388.71 624.554,1388.71 625.472,1388.71 626.39,1388.71 \n",
" 627.307,1388.71 628.225,1388.71 629.143,1388.71 630.061,1388.71 630.979,1388.71 631.896,1388.71 632.814,1388.71 633.732,1388.71 634.65,1388.71 635.568,1388.71 \n",
" 636.485,1388.71 637.403,1388.71 638.321,1388.71 639.239,1388.71 640.157,1388.71 641.074,1388.71 641.992,1388.71 642.91,1388.71 643.828,1388.71 644.745,1388.71 \n",
" 645.663,1388.71 646.581,1388.71 647.499,1388.71 648.417,1388.71 649.334,1388.71 650.252,1388.71 651.17,1388.71 652.088,1388.71 653.006,1388.71 653.923,1388.71 \n",
" 654.841,1388.71 655.759,1388.71 656.677,1388.71 657.595,1388.71 658.512,1388.71 659.43,1388.71 660.348,1388.71 661.266,1388.71 662.184,1388.71 663.101,1388.71 \n",
" 664.019,1388.71 664.937,1388.71 665.855,1388.71 666.772,1388.71 667.69,1388.71 668.608,1388.71 669.526,1388.71 670.444,1388.71 671.361,1388.71 672.279,1388.71 \n",
" 673.197,1388.71 674.115,1388.71 675.033,1388.71 675.95,1388.71 676.868,1388.71 677.786,1388.71 678.704,1388.71 679.622,1388.71 680.539,1388.71 681.457,1388.71 \n",
" 682.375,1388.71 683.293,1388.71 684.211,1388.71 685.128,1388.71 686.046,1388.71 686.964,1388.71 687.882,1388.71 688.799,1388.71 689.717,1388.71 690.635,1388.71 \n",
" 691.553,1388.71 692.471,1388.71 693.388,1388.71 694.306,1388.71 695.224,1388.71 696.142,1388.71 697.06,1388.71 697.977,1388.71 698.895,1388.71 699.813,1388.71 \n",
" 700.731,1388.71 701.649,1388.71 702.566,1388.71 703.484,1388.71 704.402,1388.71 705.32,1388.71 706.238,1388.71 707.155,1388.71 708.073,1388.71 708.991,1388.71 \n",
" 709.909,1388.71 710.826,1388.71 711.744,1388.71 712.662,1388.71 713.58,1388.71 714.498,1388.71 715.415,1388.71 716.333,1388.71 717.251,1388.71 718.169,1388.71 \n",
" 719.087,1388.71 720.004,1388.71 720.922,1388.71 721.84,1388.71 722.758,1388.71 723.676,1388.71 724.593,1388.71 725.511,1388.71 726.429,1388.71 727.347,1388.71 \n",
" 728.265,1388.71 729.182,1388.71 730.1,1388.71 731.018,1388.71 731.936,1388.71 732.853,1388.71 733.771,1388.71 734.689,1388.71 735.607,1388.71 736.525,1388.71 \n",
" 737.442,1388.71 738.36,1388.71 739.278,1388.71 740.196,1388.71 741.114,1388.71 742.031,1388.71 742.949,1388.71 743.867,1388.71 744.785,1388.71 745.703,1388.71 \n",
" 746.62,1388.71 747.538,1388.71 748.456,1388.71 749.374,1388.71 750.292,1388.71 751.209,1388.71 752.127,1388.71 753.045,1388.71 753.963,1388.71 754.88,1388.71 \n",
" 755.798,1388.71 756.716,1388.71 757.634,1388.71 758.552,1388.71 759.469,1388.71 760.387,1388.71 761.305,1388.71 762.223,1388.71 763.141,1388.71 764.058,1388.71 \n",
" 764.976,1388.71 765.894,1388.71 766.812,1388.71 767.73,1388.71 768.647,1388.71 769.565,1388.71 770.483,1388.71 771.401,1388.71 772.319,1388.71 773.236,1388.71 \n",
" 774.154,1388.71 775.072,1388.71 775.99,1388.71 776.907,1388.71 777.825,1388.71 778.743,1388.71 779.661,1388.71 780.579,1388.71 781.496,1388.71 782.414,1388.71 \n",
" 783.332,1388.71 784.25,1388.71 785.168,1388.71 786.085,1388.71 787.003,1388.71 787.921,1388.71 788.839,1388.71 789.757,1388.71 790.674,1388.71 791.592,1388.71 \n",
" 792.51,1388.71 793.428,1388.71 794.346,1388.71 795.263,1388.71 796.181,1388.71 797.099,1388.71 798.017,1388.71 798.934,1388.71 799.852,1388.71 800.77,1388.71 \n",
" 801.688,1388.71 802.606,1388.71 803.523,1388.71 804.441,1388.71 805.359,1388.71 806.277,1388.71 807.195,1388.71 808.112,1388.71 809.03,1388.71 809.948,1388.71 \n",
" 810.866,1388.71 811.784,1388.71 812.701,1388.71 813.619,1388.71 814.537,1388.71 815.455,1388.71 816.373,1388.71 817.29,1388.71 818.208,1388.71 819.126,1388.71 \n",
" 820.044,1388.71 820.962,1388.71 821.879,1388.71 822.797,1388.71 823.715,1388.71 824.633,1388.71 825.55,1388.71 826.468,1388.71 827.386,1388.71 828.304,1388.71 \n",
" 829.222,1388.71 830.139,1388.71 831.057,1388.71 831.975,1388.71 832.893,1388.71 833.811,1388.71 834.728,1388.71 835.646,1388.71 836.564,1388.71 837.482,1388.71 \n",
" 838.4,1388.71 839.317,1388.71 840.235,1388.71 841.153,1388.71 842.071,1388.71 842.989,1388.71 843.906,1388.71 844.824,1388.71 845.742,1388.71 846.66,1388.71 \n",
" 847.577,1388.71 848.495,1388.71 849.413,1388.71 850.331,1388.71 851.249,1388.71 852.166,1388.71 853.084,1388.71 854.002,1388.71 854.92,1388.71 855.838,1388.71 \n",
" 856.755,1388.71 857.673,1388.71 858.591,1388.71 859.509,1388.71 860.427,1388.71 861.344,1388.71 862.262,1388.71 863.18,1388.71 864.098,1388.71 865.016,1388.71 \n",
" 865.933,1388.71 866.851,1388.71 867.769,1388.71 868.687,1388.71 869.604,1388.71 870.522,1388.71 871.44,1388.71 872.358,1388.71 873.276,1388.71 874.193,1388.71 \n",
" 875.111,1388.71 876.029,1388.71 876.947,1388.71 877.865,1388.71 878.782,1388.71 879.7,1388.71 880.618,1388.71 881.536,1388.71 882.454,1388.71 883.371,1388.71 \n",
" 884.289,1388.71 885.207,1388.71 886.125,1388.71 887.043,1388.71 887.96,1388.71 888.878,1388.71 889.796,1388.71 890.714,1388.71 891.631,1388.71 892.549,1388.71 \n",
" 893.467,1388.71 894.385,1388.71 895.303,1388.71 896.22,1388.71 897.138,1388.71 898.056,1388.71 898.974,1388.71 899.892,1388.71 900.809,1388.71 901.727,1388.71 \n",
" 902.645,1388.71 903.563,1388.71 904.481,1388.71 905.398,1388.71 906.316,1388.71 907.234,1388.71 908.152,1388.71 909.07,1388.71 909.987,1388.71 910.905,1388.71 \n",
" 911.823,1388.71 912.741,1388.71 913.658,1388.71 914.576,1388.71 915.494,1388.71 916.412,1388.71 917.33,1388.71 918.247,1388.71 919.165,1388.71 920.083,1388.71 \n",
" 921.001,1388.71 921.919,1388.71 922.836,1388.71 923.754,1388.71 924.672,1388.71 925.59,1388.71 926.508,1388.71 927.425,1388.71 928.343,1388.71 929.261,1388.71 \n",
" 930.179,1388.71 931.097,1388.71 932.014,1388.71 932.932,1388.71 933.85,1388.71 934.768,1388.71 935.685,1388.71 936.603,1388.71 937.521,1388.71 938.439,1388.71 \n",
" 939.357,1388.71 940.274,1388.71 941.192,1388.71 942.11,1388.71 943.028,1388.71 943.946,1388.71 944.863,1388.71 945.781,1388.71 946.699,1388.71 947.617,1388.71 \n",
" 948.535,1388.71 949.452,1388.71 950.37,1388.71 951.288,1388.71 952.206,1388.71 953.124,1388.71 954.041,1388.71 954.959,1388.71 955.877,1388.71 956.795,1388.71 \n",
" 957.712,1388.71 958.63,1388.71 959.548,1388.71 960.466,1388.71 961.384,1388.71 962.301,1388.71 963.219,1388.71 964.137,1388.71 965.055,1388.71 965.973,1388.71 \n",
" 966.89,1388.71 967.808,1388.71 968.726,1388.71 969.644,1388.71 970.562,1388.71 971.479,1388.71 972.397,1388.71 973.315,1388.71 974.233,1388.71 975.151,1388.71 \n",
" 976.068,1388.71 976.986,1388.71 977.904,1388.71 978.822,1388.71 979.739,1388.71 980.657,1388.71 981.575,1388.71 982.493,1388.71 983.411,1388.71 984.328,1388.71 \n",
" 985.246,1388.71 986.164,1388.71 987.082,1388.71 988,1388.71 988.917,1388.71 989.835,1388.71 990.753,1388.71 991.671,1388.71 992.589,1388.71 993.506,1388.71 \n",
" 994.424,1388.71 995.342,1388.71 996.26,1388.71 997.178,1388.71 998.095,1388.71 999.013,1388.71 999.931,1388.71 1000.85,1388.71 1001.77,1388.71 1002.68,1388.71 \n",
" 1003.6,1388.71 1004.52,1388.71 1005.44,1388.71 1006.36,1388.71 1007.27,1388.71 1008.19,1388.71 1009.11,1388.71 1010.03,1388.71 1010.94,1388.71 1011.86,1388.71 \n",
" 1012.78,1388.71 1013.7,1388.71 1014.62,1388.71 1015.53,1388.71 1016.45,1388.71 1017.37,1388.71 1018.29,1388.71 1019.2,1388.71 1020.12,1388.71 1021.04,1388.71 \n",
" 1021.96,1388.71 1022.88,1388.71 1023.79,1388.71 1024.71,1388.71 1025.63,1388.71 1026.55,1388.71 1027.46,1388.71 1028.38,1388.71 1029.3,1388.71 1030.22,1388.71 \n",
" 1031.14,1388.71 1032.05,1388.71 1032.97,1388.71 1033.89,1388.71 1034.81,1388.71 1035.72,1388.71 1036.64,1388.71 1037.56,1388.71 1038.48,1388.71 1039.4,1388.71 \n",
" 1040.31,1388.71 1041.23,1388.71 1042.15,1388.71 1043.07,1388.71 1043.98,1388.71 1044.9,1388.71 1045.82,1388.71 1046.74,1388.71 1047.66,1388.71 1048.57,1388.71 \n",
" 1049.49,1388.71 1050.41,1388.71 1051.33,1388.71 1052.25,1388.71 1053.16,1388.71 1054.08,1388.71 1055,1388.71 1055.92,1388.71 1056.83,1388.71 1057.75,1388.71 \n",
" 1058.67,1388.71 1059.59,1388.71 1060.51,1388.71 1061.42,1388.71 1062.34,1388.71 1063.26,1388.71 1064.18,1388.71 1065.09,1388.71 1066.01,1388.71 1066.93,1388.71 \n",
" 1067.85,1388.71 1068.77,1388.71 1069.68,1388.71 1070.6,1388.71 1071.52,1388.71 1072.44,1388.71 1073.35,1388.71 1074.27,1388.71 1075.19,1388.71 1076.11,1388.71 \n",
" 1077.03,1388.71 1077.94,1388.71 1078.86,1388.71 1079.78,1388.71 1080.7,1388.71 1081.61,1388.71 1082.53,1388.71 1083.45,1388.71 1084.37,1388.71 1085.29,1388.71 \n",
" 1086.2,1388.71 1087.12,1388.71 1088.04,1388.71 1088.96,1388.71 1089.87,1388.71 1090.79,1388.71 1091.71,1388.71 1092.63,1388.71 1093.55,1388.71 1094.46,1388.71 \n",
" 1095.38,1388.71 1096.3,1388.71 1097.22,1388.71 1098.13,1388.71 1099.05,1388.71 1099.97,1388.71 1100.89,1388.71 1101.81,1388.71 1102.72,1388.71 1103.64,1388.71 \n",
" 1104.56,1388.71 1105.48,1388.71 1106.39,1388.71 1107.31,1388.71 1108.23,1388.71 1109.15,1388.71 1110.07,1388.71 1110.98,1388.71 1111.9,1388.71 1112.82,1388.71 \n",
" 1113.74,1388.71 1114.65,1388.71 1115.57,1388.71 1116.49,1388.71 1117.41,1388.71 1118.33,1388.71 1119.24,1388.71 1120.16,1388.71 1121.08,1388.71 1122,1388.71 \n",
" 1122.91,1388.71 1123.83,1388.71 1124.75,1388.71 1125.67,1388.71 1126.59,1388.71 1127.5,1388.71 1128.42,1388.71 1129.34,1388.71 1130.26,1388.71 1131.18,1388.71 \n",
" 1132.09,1388.71 1133.01,1388.71 1133.93,1388.71 1134.85,1388.71 1135.76,1388.71 1136.68,1388.71 1137.6,1388.71 1138.52,1388.71 1139.44,1388.71 1140.35,1388.71 \n",
" 1141.27,1388.71 1142.19,1388.71 1143.11,1388.71 1144.02,1388.71 1144.94,1388.71 1145.86,1388.71 1146.78,1388.71 1147.7,1388.71 1148.61,1388.71 1149.53,1388.71 \n",
" 1150.45,1388.71 1151.37,1388.71 1152.28,1388.71 1153.2,1388.71 1154.12,1388.71 1155.04,1388.71 1155.96,1388.71 1156.87,1388.71 1157.79,1388.71 1158.71,1388.71 \n",
" 1159.63,1388.71 1160.54,1388.71 1161.46,1388.71 1162.38,1388.71 1163.3,1388.71 1164.22,1388.71 1165.13,1388.71 1166.05,1388.71 1166.97,1388.71 1167.89,1388.71 \n",
" 1168.8,1388.71 1169.72,1388.71 1170.64,1388.71 1171.56,1388.71 1172.48,1388.71 1173.39,1388.71 1174.31,1388.71 1175.23,1388.71 1176.15,1388.71 1177.06,1388.71 \n",
" 1177.98,1388.71 1178.9,1388.71 1179.82,1388.71 1180.74,1388.71 1181.65,1388.71 1182.57,1388.71 1183.49,1388.71 1184.41,1388.71 1185.32,1388.71 1186.24,1388.71 \n",
" 1187.16,1388.71 1188.08,1388.71 1189,1388.71 1189.91,1388.71 1190.83,1388.71 1191.75,1388.71 1192.67,1388.71 1193.58,1388.71 1194.5,1388.71 1195.42,1388.71 \n",
" 1196.34,1388.71 1197.26,1388.71 1198.17,1388.71 1199.09,1388.71 1200.01,1388.71 1200.93,1388.71 1201.85,1388.71 1202.76,1388.71 1203.68,1388.71 1204.6,1388.71 \n",
" 1205.52,1388.71 1206.43,1388.71 1207.35,1388.71 1208.27,1388.71 1209.19,1388.71 1210.11,1388.71 1211.02,1388.71 1211.94,1388.71 1212.86,1388.71 1213.78,1388.71 \n",
" 1214.69,1388.71 1215.61,1388.71 1216.53,1388.71 1217.45,1388.71 1218.37,1388.71 1219.28,1388.71 1220.2,1388.71 1221.12,1388.71 1222.04,1388.71 1222.95,1388.71 \n",
" 1223.87,1388.71 1224.79,1388.71 1225.71,1388.71 1226.63,1388.71 1227.54,1388.71 1228.46,1388.71 1229.38,1388.71 1230.3,1388.71 1231.21,1388.71 1232.13,1388.71 \n",
" 1233.05,1388.71 1233.97,1388.71 1234.89,1388.71 1235.8,1388.71 1236.72,1388.71 1237.64,1388.71 1238.56,1388.71 1239.47,1388.71 1240.39,1388.71 1241.31,1388.71 \n",
" 1242.23,1388.71 1243.15,1388.71 1244.06,1388.71 1244.98,1388.71 1245.9,1388.71 1246.82,1388.71 1247.73,1388.71 1248.65,1388.71 1249.57,1388.71 1250.49,1388.71 \n",
" 1251.41,1388.71 1252.32,1388.71 1253.24,1388.71 1254.16,1388.71 1255.08,1388.71 1255.99,1388.71 1256.91,1388.71 1257.83,1388.71 1258.75,1388.71 1259.67,1388.71 \n",
" 1260.58,1388.71 1261.5,1388.71 1262.42,1388.71 1263.34,1388.71 1264.25,1388.71 1265.17,1388.71 1266.09,1388.71 1267.01,1388.71 1267.93,1388.71 1268.84,1388.71 \n",
" 1269.76,1388.71 1270.68,1388.71 1271.6,1388.71 1272.52,1388.71 1273.43,1388.71 1274.35,1388.71 1275.27,1388.71 1276.19,1388.71 1277.1,1388.71 1278.02,1388.71 \n",
" 1278.94,1388.71 1279.86,1388.71 1280.78,1388.71 1281.69,1388.71 1282.61,1388.71 1283.53,1388.71 1284.45,1388.71 1285.36,1388.71 1286.28,1388.71 1287.2,1388.71 \n",
" 1288.12,1388.71 1289.04,1388.71 1289.95,1388.71 1290.87,1388.71 1291.79,1388.71 1292.71,1388.71 1293.62,1388.71 1294.54,1388.71 1295.46,1388.71 1296.38,1388.71 \n",
" 1297.3,1388.71 1298.21,1388.71 1299.13,1388.71 1300.05,1388.71 1300.97,1388.71 1301.88,1388.71 1302.8,1388.71 1303.72,1388.71 1304.64,1388.71 1305.56,1388.71 \n",
" 1306.47,1388.71 1307.39,1388.71 1308.31,1388.71 1309.23,1388.71 1310.14,1388.71 1311.06,1388.71 1311.98,1388.71 1312.9,1388.71 1313.82,1388.71 1314.73,1388.71 \n",
" 1315.65,1388.71 1316.57,1388.71 1317.49,1388.71 1318.4,1388.71 1319.32,1388.71 1320.24,1388.71 1321.16,1388.71 1322.08,1388.71 1322.99,1388.71 1323.91,1388.71 \n",
" 1324.83,1388.71 1325.75,1388.71 1326.66,1388.71 1327.58,1388.71 1328.5,1388.71 1329.42,1388.71 1330.34,1388.71 1331.25,1388.71 1332.17,1388.71 1333.09,1388.71 \n",
" 1334.01,1388.71 1334.92,1388.71 1335.84,1388.71 1336.76,1388.71 1337.68,1388.71 1338.6,1388.71 1339.51,1388.71 1340.43,1388.71 1341.35,1388.71 1342.27,1388.71 \n",
" 1343.18,1388.71 1344.1,1388.71 1345.02,1388.71 1345.94,1388.71 1346.86,1388.71 1347.77,1388.71 1348.69,1388.71 1349.61,1388.71 1350.53,1388.71 1351.45,1388.71 \n",
" 1352.36,1388.71 1353.28,1388.71 1354.2,1388.71 1355.12,1388.71 1356.03,1388.71 1356.95,1388.71 1357.87,1388.71 1358.79,1388.71 1359.71,1388.71 1360.62,1388.71 \n",
" 1361.54,1388.71 1362.46,1388.71 1363.38,1388.71 1364.29,1388.71 1365.21,1388.71 1366.13,1388.71 1367.05,1388.71 1367.97,1388.71 1368.88,1388.71 1369.8,1388.71 \n",
" 1370.72,1388.71 1371.64,1388.71 1372.55,1388.71 1373.47,1388.71 1374.39,1388.71 1375.31,1388.71 1376.23,1388.71 1377.14,1388.71 1378.06,1388.71 1378.98,1388.71 \n",
" 1379.9,1388.71 1380.81,1388.71 1381.73,1388.71 1382.65,1388.71 1383.57,1388.71 1384.49,1388.71 1385.4,1388.71 1386.32,1388.71 1387.24,1388.71 1388.16,1388.71 \n",
" 1389.07,1388.71 1389.99,1388.71 1390.91,1388.71 1391.83,1388.71 1392.75,1388.71 1393.66,1388.71 1394.58,1388.71 1395.5,1388.71 1396.42,1388.71 1397.33,1388.71 \n",
" 1398.25,1388.71 1399.17,1388.71 1400.09,1388.71 1401.01,1388.71 1401.92,1388.71 1402.84,1388.71 1403.76,1388.71 1404.68,1388.71 1405.59,1388.71 1406.51,1388.71 \n",
" 1407.43,1388.71 1408.35,1388.71 1409.27,1388.71 1410.18,1388.71 1411.1,1388.71 1412.02,1388.71 1412.94,1388.71 1413.85,1388.71 1414.77,1388.71 1415.69,1388.71 \n",
" 1416.61,1388.71 1417.53,1388.71 1418.44,1388.71 1419.36,1388.71 1420.28,1388.71 1421.2,1388.71 1422.12,1388.71 1423.03,1388.71 1423.95,1388.71 1424.87,1388.71 \n",
" 1425.79,1388.71 1426.7,1388.71 1427.62,1388.71 1428.54,1388.71 1429.46,1388.71 1430.38,1388.71 1431.29,1388.71 1432.21,1388.71 1433.13,1388.71 1434.05,1388.71 \n",
" 1434.96,1388.71 1435.88,1388.71 1436.8,1388.71 1437.72,1388.71 1438.64,1388.71 1439.55,1388.71 1440.47,1388.71 1441.39,1388.71 1442.31,1388.71 1443.22,1388.71 \n",
" 1444.14,1388.71 1445.06,1388.71 1445.98,1388.71 1446.9,1388.71 1447.81,1388.71 1448.73,1388.71 1449.65,1388.71 1450.57,1388.71 1451.48,1388.71 1452.4,1388.71 \n",
" 1453.32,1388.71 1454.24,1388.71 1455.16,1388.71 1456.07,1388.71 1456.99,1388.71 1457.91,1388.71 1458.83,1388.71 1459.74,1388.71 1460.66,1388.71 1461.58,1388.71 \n",
" 1462.5,1388.71 1463.42,1388.71 1464.33,1388.71 1465.25,1388.71 1466.17,1388.71 1467.09,1388.71 1468,1388.71 1468.92,1388.71 1469.84,1388.71 1470.76,1388.71 \n",
" 1471.68,1388.71 1472.59,1388.71 1473.51,1388.71 1474.43,1388.71 1475.35,1388.71 1476.26,1388.71 1477.18,1388.71 1478.1,1388.71 1479.02,1388.71 1479.94,1388.71 \n",
" 1480.85,1388.71 1481.77,1388.71 1482.69,1388.71 1483.61,1388.71 1484.52,1388.71 1485.44,1388.71 1486.36,1388.71 1487.28,1388.71 1488.2,1388.71 1489.11,1388.71 \n",
" 1490.03,1388.71 1490.95,1388.71 1491.87,1388.71 1492.79,1388.71 1493.7,1388.71 1494.62,1388.71 1495.54,1388.71 1496.46,1388.71 1497.37,1388.71 1498.29,1388.71 \n",
" 1499.21,1388.71 1500.13,1388.71 1501.05,1388.71 1501.96,1388.71 1502.88,1388.71 1503.8,1388.71 1504.72,1388.71 1505.63,1388.71 1506.55,1388.71 1507.47,1388.71 \n",
" 1508.39,1388.71 1509.31,1388.71 1510.22,1388.71 1511.14,1388.71 1512.06,1388.71 1512.98,1388.71 1513.89,1388.71 1514.81,1388.71 1515.73,1388.71 1516.65,1388.71 \n",
" 1517.57,1388.71 1518.48,1388.71 1519.4,1388.71 1520.32,1388.71 1521.24,1388.71 1522.15,1388.71 1523.07,1388.71 1523.99,1388.71 1524.91,1388.71 1525.83,1388.71 \n",
" 1526.74,1388.71 1527.66,1388.71 1528.58,1388.71 1529.5,1388.71 1530.41,1388.71 1531.33,1388.71 1532.25,1388.71 1533.17,1388.71 1534.09,1388.71 1535,1388.71 \n",
" 1535.92,1388.71 1536.84,1388.71 1537.76,1388.71 1538.67,1388.71 1539.59,1388.71 1540.51,1388.71 1541.43,1388.71 1542.35,1388.71 1543.26,1388.71 1544.18,1388.71 \n",
" 1545.1,1388.71 1546.02,1388.71 1546.93,1388.71 1547.85,1388.71 1548.77,1388.71 1549.69,1388.71 1550.61,1388.71 1551.52,1388.71 1552.44,1388.71 1553.36,1388.71 \n",
" 1554.28,1388.71 1555.19,1388.71 1556.11,1388.71 1557.03,1388.71 1557.95,1388.71 1558.87,1388.71 1559.78,1388.71 1560.7,1388.71 1561.62,1388.71 1562.54,1388.71 \n",
" 1563.46,1388.71 1564.37,1388.71 1565.29,1388.71 1566.21,1388.71 1567.13,1388.71 1568.04,1388.71 1568.96,1388.71 1569.88,1388.71 1570.8,1388.71 1571.72,1388.71 \n",
" 1572.63,1388.71 1573.55,1388.71 1574.47,1388.71 1575.39,1388.71 1576.3,1388.71 1577.22,1388.71 1578.14,1388.71 1579.06,1388.71 1579.98,1388.71 1580.89,1388.71 \n",
" 1581.81,1388.71 1582.73,1388.71 1583.65,1388.71 1584.56,1388.71 1585.48,1388.71 1586.4,1388.71 1587.32,1388.71 1588.24,1388.71 1589.15,1388.71 1590.07,1388.71 \n",
" 1590.99,1388.71 1591.91,1388.71 1592.82,1388.71 1593.74,1388.71 1594.66,1388.71 1595.58,1388.71 1596.5,1388.71 1597.41,1388.71 1598.33,1388.71 1599.25,1388.71 \n",
" 1600.17,1388.71 1601.08,1388.71 1602,1388.71 1602.92,1388.71 1603.84,1388.71 1604.76,1388.71 1605.67,1388.71 1606.59,1388.71 1607.51,1388.71 1608.43,1388.71 \n",
" 1609.34,1388.71 1610.26,1388.71 1611.18,1388.71 1612.1,1388.71 1613.02,1388.71 1613.93,1388.71 1614.85,1388.71 1615.77,1388.71 1616.69,1388.71 1617.6,1388.71 \n",
" 1618.52,1388.71 1619.44,1388.71 1620.36,1388.71 1621.28,1388.71 1622.19,1388.71 1623.11,1388.71 1624.03,1388.71 1624.95,1388.71 1625.86,1388.71 1626.78,1388.71 \n",
" 1627.7,1388.71 1628.62,1388.71 1629.54,1388.71 1630.45,1388.71 1631.37,1388.71 1632.29,1388.71 1633.21,1388.71 1634.12,1388.71 1635.04,1388.71 1635.96,1388.71 \n",
" 1636.88,1388.71 1637.8,1388.71 1638.71,1388.71 1639.63,1388.71 1640.55,1388.71 1641.47,1388.71 1642.39,1388.71 1643.3,1388.71 1644.22,1388.71 1645.14,1388.71 \n",
" 1646.06,1388.71 1646.97,1388.71 1647.89,1388.71 1648.81,1388.71 1649.73,1388.71 1650.65,1388.71 1651.56,1388.71 1652.48,1388.71 1653.4,1388.71 1654.32,1388.71 \n",
" 1655.23,1388.71 1656.15,1388.71 1657.07,1388.71 1657.99,1388.71 1658.91,1388.71 1659.82,1388.71 1660.74,1388.71 1661.66,1388.71 1662.58,1388.71 1663.49,1388.71 \n",
" 1664.41,1388.71 1665.33,1388.71 1666.25,1388.71 1667.17,1388.71 1668.08,1388.71 1669,1388.71 1669.92,1388.71 1670.84,1388.71 1671.75,1388.71 1672.67,1388.71 \n",
" 1673.59,1388.71 1674.51,1388.71 1675.43,1388.71 1676.34,1388.71 1677.26,1388.71 1678.18,1388.71 1679.1,1388.71 1680.01,1388.71 1680.93,1388.71 1681.85,1388.71 \n",
" 1682.77,1388.71 1683.69,1388.71 1684.6,1388.71 1685.52,1388.71 1686.44,1388.71 1687.36,1388.71 1688.27,1388.71 1689.19,1388.71 1690.11,1388.71 1691.03,1388.71 \n",
" 1691.95,1388.71 1692.86,1388.71 1693.78,1388.71 1694.7,1388.71 1695.62,1388.71 1696.53,1388.71 1697.45,1388.71 1698.37,1388.71 1699.29,1388.71 1700.21,1388.71 \n",
" 1701.12,1388.71 1702.04,1388.71 1702.96,1388.71 1703.88,1388.71 1704.79,1388.71 1705.71,1388.71 1706.63,1388.71 1707.55,1388.71 1708.47,1388.71 1709.38,1388.71 \n",
" 1710.3,1388.71 1711.22,1388.71 1712.14,1388.71 1713.06,1388.71 1713.97,1388.71 1714.89,1388.71 1715.81,1388.71 1716.73,1388.71 1717.64,1388.71 1718.56,1388.71 \n",
" 1719.48,1388.71 1720.4,1388.71 1721.32,1388.71 1722.23,1388.71 1723.15,1388.71 1724.07,1388.71 1724.99,1388.71 1725.9,1388.71 1726.82,1388.71 1727.74,1388.71 \n",
" 1728.66,1388.71 1729.58,1388.71 1730.49,1388.71 1731.41,1388.71 1732.33,1388.71 1733.25,1388.71 1734.16,1388.71 1735.08,1388.71 1736,1388.71 1736.92,1388.71 \n",
" 1737.84,1388.71 1738.75,1388.71 1739.67,1388.71 1740.59,1388.71 1741.51,1388.71 1742.42,1388.71 1743.34,1388.71 1744.26,1388.71 1745.18,1388.71 1746.1,1388.71 \n",
" 1747.01,1388.71 1747.93,1388.71 1748.85,1388.71 1749.77,1388.71 1750.68,1388.71 1751.6,1388.71 1752.52,1388.71 1753.44,1388.71 1754.36,1388.71 1755.27,1388.71 \n",
" 1756.19,1388.71 1757.11,1388.71 1758.03,1388.71 1758.94,1388.71 1759.86,1388.71 1760.78,1388.71 1761.7,1388.71 1762.62,1388.71 1763.53,1388.71 1764.45,1388.71 \n",
" 1765.37,1388.71 1766.29,1388.71 1767.2,1388.71 1768.12,1388.71 1769.04,1388.71 1769.96,1388.71 1770.88,1388.71 1771.79,1388.71 1772.71,1388.71 1773.63,1388.71 \n",
" 1774.55,1388.71 1775.46,1388.71 1776.38,1388.71 1777.3,1388.71 1778.22,1388.71 1779.14,1388.71 1780.05,1388.71 1780.97,1388.71 1781.89,1388.71 1782.81,1388.71 \n",
" 1783.73,1388.71 1784.64,1388.71 1785.56,1388.71 1786.48,1388.71 1787.4,1388.71 1788.31,1388.71 1789.23,1388.71 1790.15,1388.71 1791.07,1388.71 1791.99,1388.71 \n",
" 1792.9,1388.71 1793.82,1388.71 1794.74,1388.71 1795.66,1388.71 1796.57,1388.71 1797.49,1388.71 1798.41,1388.71 1799.33,1388.71 1800.25,1388.71 1801.16,1388.71 \n",
" 1802.08,1388.71 1803,1388.71 1803.92,1388.71 1804.83,1388.71 1805.75,1388.71 1806.67,1388.71 1807.59,1388.71 1808.51,1388.71 1809.42,1388.71 1810.34,1388.71 \n",
" 1811.26,1388.71 1812.18,1388.71 1813.09,1388.71 1814.01,1388.71 1814.93,1388.71 1815.85,1388.71 1816.77,1388.71 1817.68,1388.71 1818.6,1388.71 1819.52,1388.71 \n",
" 1820.44,1388.71 1821.35,1388.71 1822.27,1388.71 1823.19,1388.71 1824.11,1388.71 1825.03,1388.71 1825.94,1388.71 1826.86,1388.71 1827.78,1388.71 1828.7,1388.71 \n",
" 1829.61,1388.71 1830.53,1388.71 1831.45,1388.71 1832.37,1388.71 1833.29,1388.71 1834.2,1388.71 1835.12,1388.71 1836.04,1388.71 1836.96,1388.71 1837.87,1388.71 \n",
" 1838.79,1388.71 1839.71,1388.71 1840.63,1388.71 1841.55,1388.71 1842.46,1388.71 1843.38,1388.71 1844.3,1388.71 1845.22,1388.71 1846.13,1388.71 1847.05,1388.71 \n",
" 1847.97,1388.71 1848.89,1388.71 1849.81,1388.71 1850.72,1388.71 1851.64,1388.71 1852.56,1388.71 1853.48,1388.71 1854.39,1388.71 1855.31,1388.71 1856.23,1388.71 \n",
" 1857.15,1388.71 1858.07,1388.71 1858.98,1388.71 1859.9,1388.71 1860.82,1388.71 1861.74,1388.71 1862.66,1388.71 1863.57,1388.71 1864.49,1388.71 1865.41,1388.71 \n",
" 1866.33,1388.71 1867.24,1388.71 1868.16,1388.71 1869.08,1388.71 1870,1388.71 1870.92,1388.71 1871.83,1388.71 1872.75,1388.71 1873.67,1388.71 1874.59,1388.71 \n",
" 1875.5,1388.71 1876.42,1388.71 1877.34,1388.71 1878.26,1388.71 1879.18,1388.71 1880.09,1388.71 1881.01,1388.71 1881.93,1388.71 1882.85,1388.71 1883.76,1388.71 \n",
" 1884.68,1388.71 1885.6,1388.71 1886.52,1388.71 1887.44,1388.71 1888.35,1388.71 1889.27,1388.71 1890.19,1388.71 1891.11,1388.71 1892.02,1388.71 1892.94,1388.71 \n",
" 1893.86,1388.71 1894.78,1388.71 1895.7,1388.71 1896.61,1388.71 1897.53,1388.71 1898.45,1388.71 1899.37,1388.71 1900.28,1388.71 1901.2,1388.71 1902.12,1388.71 \n",
" 1903.04,1388.71 1903.96,1388.71 1904.87,1388.71 1905.79,1388.71 1906.71,1388.71 1907.63,1388.71 1908.54,1388.71 1909.46,1388.71 1910.38,1388.71 1911.3,1388.71 \n",
" 1912.22,1388.71 1913.13,1388.71 1914.05,1388.71 1914.97,1388.71 1915.89,1388.71 1916.8,1388.71 1917.72,1388.71 1918.64,1388.71 1919.56,1388.71 1920.48,1388.71 \n",
" 1921.39,1388.71 1922.31,1388.71 1923.23,1388.71 1924.15,1388.71 1925.06,1388.71 1925.98,1388.71 1926.9,1388.71 1927.82,1388.71 1928.74,1388.71 1929.65,1388.71 \n",
" 1930.57,1388.71 1931.49,1388.71 1932.41,1388.71 1933.33,1388.71 1934.24,1388.71 1935.16,1388.71 1936.08,1388.71 1937,1388.71 1937.91,1388.71 1938.83,1388.71 \n",
" 1939.75,1388.71 1940.67,1388.71 1941.59,1388.71 1942.5,1388.71 1943.42,1388.71 1944.34,1388.71 1945.26,1388.71 1946.17,1388.71 1947.09,1388.71 1948.01,1388.71 \n",
" 1948.93,1388.71 1949.85,1388.71 1950.76,1388.71 1951.68,1388.71 1952.6,1388.71 1953.52,1388.71 1954.43,1388.71 1955.35,1388.71 1956.27,1388.71 1957.19,1388.71 \n",
" 1958.11,1388.71 1959.02,1388.71 1959.94,1388.71 1960.86,1388.71 1961.78,1388.71 1962.69,1388.71 1963.61,1388.71 1964.53,1388.71 1965.45,1388.71 1966.37,1388.71 \n",
" 1967.28,1388.71 1968.2,1388.71 1969.12,1388.71 1970.04,1388.71 1970.95,1388.71 1971.87,1388.71 1972.79,1388.71 1973.71,1388.71 1974.63,1388.71 1975.54,1388.71 \n",
" 1976.46,1388.71 1977.38,1388.71 1978.3,1388.71 1979.21,1388.71 1980.13,1388.71 1981.05,1388.71 1981.97,1388.71 1982.89,1388.71 1983.8,1388.71 1984.72,1388.71 \n",
" 1985.64,1388.71 1986.56,1388.71 1987.47,1388.71 1988.39,1388.71 1989.31,1388.71 1990.23,1388.71 1991.15,1388.71 1992.06,1388.71 1992.98,1388.71 1993.9,1388.71 \n",
" 1994.82,1388.71 1995.73,1388.71 1996.65,1388.71 1997.57,1388.71 1998.49,1388.71 1999.41,1388.71 2000.32,1388.71 2001.24,1388.71 2002.16,1388.71 2003.08,1388.71 \n",
" 2004,1388.71 2004.91,1388.71 2005.83,1388.71 2006.75,1388.71 2007.67,1388.71 2008.58,1388.71 2009.5,1388.71 2010.42,1388.71 2011.34,1388.71 2012.26,1388.71 \n",
" 2013.17,1388.71 2014.09,1388.71 2015.01,1388.71 2015.93,1388.71 2016.84,1388.71 2017.76,1388.71 2018.68,1388.71 2019.6,1388.71 2020.52,1388.71 2021.43,1388.71 \n",
" 2022.35,1388.71 2023.27,1388.71 2024.19,1388.71 2025.1,1388.71 2026.02,1388.71 2026.94,1388.71 2027.86,1388.71 2028.78,1388.71 2029.69,1388.71 2030.61,1388.71 \n",
" 2031.53,1388.71 2032.45,1388.71 2033.36,1388.71 2034.28,1388.71 2035.2,1388.71 2036.12,1388.71 2037.04,1388.71 2037.95,1388.71 2038.87,1388.71 2039.79,1388.71 \n",
" 2040.71,1388.71 2041.62,1388.71 2042.54,1388.71 2043.46,1388.71 2044.38,1388.71 2045.3,1388.71 2046.21,1388.71 2047.13,1388.71 2048.05,1388.71 2048.97,1388.71 \n",
" 2049.88,1388.71 2050.8,1388.71 2051.72,1388.71 2052.64,1388.71 2053.56,1388.71 2054.47,1388.71 2055.39,1388.71 2056.31,1388.71 2057.23,1388.71 2058.14,1388.71 \n",
" 2059.06,1388.71 2059.98,1388.71 2060.9,1388.71 2061.82,1388.71 2062.73,1388.71 2063.65,1388.71 2064.57,1388.71 2065.49,1388.71 2066.4,1388.71 2067.32,1388.71 \n",
" 2068.24,1388.71 2069.16,1388.71 2070.08,1388.71 2070.99,1388.71 2071.91,1388.71 2072.83,1388.71 2073.75,1388.71 2074.67,1388.71 2075.58,1388.71 2076.5,1388.71 \n",
" 2077.42,1388.71 2078.34,1388.71 2079.25,1388.71 2080.17,1388.71 2081.09,1388.71 2082.01,1388.71 2082.93,1388.71 2083.84,1388.71 2084.76,1388.71 2085.68,1388.71 \n",
" 2086.6,1388.71 2087.51,1388.71 2088.43,1388.71 2089.35,1388.71 2090.27,1388.71 2091.19,1388.71 2092.1,1388.71 2093.02,1388.71 2093.94,1388.71 2094.86,1388.71 \n",
" 2095.77,1388.71 2096.69,1388.71 2097.61,1388.71 2098.53,1388.71 2099.45,1388.71 2100.36,1388.71 2101.28,1388.71 2102.2,1388.71 2103.12,1388.71 2104.03,1388.71 \n",
" 2104.95,1388.71 2105.87,1388.71 2106.79,1388.71 2107.71,1388.71 2108.62,1388.71 2109.54,1388.71 2110.46,1388.71 2111.38,1388.71 2112.29,1388.71 2113.21,1388.71 \n",
" 2114.13,1388.71 2115.05,1388.71 2115.97,1388.71 2116.88,1388.71 2117.8,1388.71 2118.72,1388.71 2119.64,1388.71 2120.55,1388.71 2121.47,1388.71 2122.39,1388.71 \n",
" 2123.31,1388.71 2124.23,1388.71 2125.14,1388.71 2126.06,1388.71 2126.98,1388.71 2127.9,1388.71 2128.81,1388.71 2129.73,1388.71 2130.65,1388.71 2131.57,1388.71 \n",
" 2132.49,1388.71 2133.4,1388.71 2134.32,1388.71 2135.24,1388.71 2136.16,1388.71 2137.07,1388.71 2137.99,1388.71 2138.91,1388.71 2139.83,1388.71 2140.75,1388.71 \n",
" 2141.66,1388.71 2142.58,1388.71 2143.5,1388.71 2144.42,1388.71 2145.33,1388.71 2146.25,1388.71 2147.17,1388.71 2148.09,1388.71 2149.01,1388.71 2149.92,1388.71 \n",
" 2150.84,1388.71 2151.76,1388.71 2152.68,1388.71 2153.6,1388.71 2154.51,1388.71 2155.43,1388.71 2156.35,1388.71 2157.27,1388.71 2158.18,1388.71 2159.1,1388.71 \n",
" 2160.02,1388.71 2160.94,1388.71 2161.86,1388.71 2162.77,1388.71 2163.69,1388.71 2164.61,1388.71 2165.53,1388.71 2166.44,1388.71 2167.36,1388.71 2168.28,1388.71 \n",
" 2169.2,1388.71 2170.12,1388.71 2171.03,1388.71 2171.95,1388.71 2172.87,1388.71 2173.79,1388.71 2174.7,1388.71 2175.62,1388.71 2176.54,1388.71 2177.46,1388.71 \n",
" 2178.38,1388.71 2179.29,1388.71 2180.21,1388.71 2181.13,1388.71 2182.05,1388.71 2182.96,1388.71 2183.88,1388.71 2184.8,1388.71 2185.72,1388.71 2186.64,1388.71 \n",
" 2187.55,1388.71 2188.47,1388.71 2189.39,1388.71 2190.31,1388.71 2191.22,1388.71 2192.14,1388.71 2193.06,1388.71 2193.98,1388.71 2194.9,1388.71 2195.81,1388.71 \n",
" 2196.73,1388.71 2197.65,1388.71 2198.57,1388.71 2199.48,1388.71 2200.4,1388.71 2201.32,1388.71 2202.24,1388.71 2203.16,1388.71 2204.07,1388.71 2204.99,1388.71 \n",
" 2205.91,1388.71 2206.83,1388.71 2207.74,1388.71 2208.66,1388.71 2209.58,1388.71 2210.5,1388.71 2211.42,1388.71 2212.33,1388.71 2213.25,1388.71 2214.17,1388.71 \n",
" 2215.09,1388.71 2216,1388.71 2216.92,1388.71 2217.84,1388.71 2218.76,1388.71 2219.68,1388.71 2220.59,1388.71 2221.51,1388.71 2222.43,1388.71 2223.35,1388.71 \n",
" 2224.27,1388.71 2225.18,1388.71 2226.1,1388.71 2227.02,1388.71 2227.94,1388.71 2228.85,1388.71 2229.77,1388.71 2230.69,1388.71 2231.61,1388.71 2232.53,1388.71 \n",
" 2233.44,1388.71 2234.36,1388.71 2235.28,1388.71 2236.2,1388.71 2237.11,1388.71 2238.03,1388.71 2238.95,1388.71 2239.87,1388.71 2240.79,1388.71 2241.7,1388.71 \n",
" 2242.62,1388.71 2243.54,1388.71 2244.46,1388.71 2245.37,1388.71 2246.29,1388.71 2247.21,1388.71 2248.13,1388.71 2249.05,1388.71 2249.96,1388.71 2250.88,1388.71 \n",
" 2251.8,1388.71 2252.72,1388.71 2253.63,1388.71 2254.55,1388.71 2255.47,1388.71 2256.39,1388.71 2257.31,1388.71 2258.22,1388.71 2259.14,1388.71 2260.06,1388.71 \n",
" 2260.98,1388.71 2261.89,1388.71 2262.81,1388.71 2263.73,1388.71 2264.65,1388.71 2265.57,1388.71 2266.48,1388.71 2267.4,1388.71 2268.32,1388.71 2269.24,1388.71 \n",
" 2270.15,1388.71 2271.07,1388.71 2271.99,1388.71 2272.91,1388.71 2273.83,1388.71 2274.74,1388.71 2275.66,1388.71 2276.58,1388.71 2277.5,1388.71 2278.41,1388.71 \n",
" 2279.33,1388.71 2280.25,1388.71 2281.17,1388.71 2282.09,1388.71 2283,1388.71 2283.92,1388.71 2284.84,1388.71 2285.76,1388.71 2286.67,1388.71 2287.59,1388.71 \n",
" 2288.51,1388.71 2289.43,1388.71 2290.35,1388.71 2291.26,1388.71 2292.18,1388.71 2293.1,1388.71 2294.02,1388.71 2294.94,1388.71 2295.85,1388.71 2296.77,1388.71 \n",
" 2297.69,1388.71 \n",
" \"/>\n",
"<path clip-path=\"url(#clip0800)\" d=\"\n",
"M1853.56 386.635 L2280.76 386.635 L2280.76 205.195 L1853.56 205.195 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1853.56,386.635 2280.76,386.635 2280.76,205.195 1853.56,205.195 1853.56,386.635 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1877.56,265.675 2021.56,265.675 \n",
" \"/>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2045.56, 283.175)\" x=\"2045.56\" y=\"283.175\">Dynamic</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip0800)\" style=\"stroke:#e26f46; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1877.56,326.155 2021.56,326.155 \n",
" \"/>\n",
"<g clip-path=\"url(#clip0800)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2045.56, 343.655)\" x=\"2045.56\" y=\"343.655\">FEA</text>\n",
"</g>\n",
"</svg>\n"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"latticeSize=5\n",
"setup=getSetup(latticeSize)\n",
"numTimeSteps=2000\n",
"displacements=[]\n",
"save=true\n",
"returnEvery=1\n",
"runMetavoxelGPU!(setup,numTimeSteps,latticeSize,displacements,returnEvery,true)\n",
"\n",
"numTimeStepsRecorded=length(displacements)\n",
"d=[]\n",
"dFEA=[]\n",
"j=length(displacements[end])\n",
"step=1\n",
"for i in 1:step:numTimeStepsRecorded\n",
" append!(d,displacements[i][j].y)\n",
" append!(dFEA,displacementFEA[j].y)\n",
"end\n",
"\n",
"DDisplacements[latticeSize]=d*100\n",
"DDisplacementsFEA[latticeSize]=dFEA*100\n",
"\n",
"E1=getYoungsModulus(latticeSize,5,displacementFEA,Load,topNodesIndices)/1000\n",
"E2=getYoungsModulus(latticeSize,5,displacements[end],Load,topNodesIndices)/1000\n",
"\n",
"EsFEA[latticeSize]=E1\n",
"Es[latticeSize]=E2\n",
"\n",
"print(\"EsFEA:\" )\n",
"println(EsFEA)\n",
"print(\"Es:\" )\n",
"println(Es)\n",
"\n",
"println(\"FEA displacement= $(displacementFEA[j].y),converged displacement= $(displacements[numTimeStepsRecorded][j].y)\")\n",
"plot(1:step:numTimeStepsRecorded,d*100,label=\"Dynamic\",xlabel=\"timestep\",ylabel=\"displacement\",title=\"$latticeSize Voxel Convergence Study\")\n",
"plot!(1:step:numTimeStepsRecorded,dFEA*100,label=\"FEA\")\n",
"# savefig(\"5_voxel_convergence\")"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 2400 1600\">\n",
"<defs>\n",
" <clipPath id=\"clip5200\">\n",
" <rect x=\"0\" y=\"0\" width=\"2400\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip5200)\" d=\"\n",
"M0 1600 L2400 1600 L2400 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip5201\">\n",
" <rect x=\"480\" y=\"0\" width=\"1681\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip5200)\" d=\"\n",
"M425.473 1425.62 L2352.76 1425.62 L2352.76 121.675 L425.473 121.675 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip5202\">\n",
" <rect x=\"425\" y=\"121\" width=\"1928\" height=\"1305\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip5202)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 727.954,1425.62 727.954,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5202)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1141.18,1425.62 1141.18,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5202)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1554.4,1425.62 1554.4,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5202)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1967.63,1425.62 1967.63,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5202)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 425.473,1331.67 2352.76,1331.67 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5202)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 425.473,1008.86 2352.76,1008.86 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5202)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 425.473,686.058 2352.76,686.058 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5202)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 425.473,363.254 2352.76,363.254 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 425.473,1425.62 2352.76,1425.62 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 425.473,1425.62 425.473,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 727.954,1425.62 727.954,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1141.18,1425.62 1141.18,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1554.4,1425.62 1554.4,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1967.63,1425.62 1967.63,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 425.473,1331.67 448.6,1331.67 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 425.473,1008.86 448.6,1008.86 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 425.473,686.058 448.6,686.058 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 425.473,363.254 448.6,363.254 \n",
" \"/>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 727.954, 1479.62)\" x=\"727.954\" y=\"1479.62\">2.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1141.18, 1479.62)\" x=\"1141.18\" y=\"1479.62\">5.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1554.4, 1479.62)\" x=\"1554.4\" y=\"1479.62\">7.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1967.63, 1479.62)\" x=\"1967.63\" y=\"1479.62\">10.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 198.637, 1355.4)\" x=\"198.637\" y=\"1355.4\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 226.747, 1355.4)\" x=\"226.747\" y=\"1355.4\">5×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 335.144, 1327.98)\" x=\"335.144\" y=\"1327.98\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 357.984, 1327.98)\" x=\"357.984\" y=\"1327.98\">10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 401.473, 1026.36)\" x=\"401.473\" y=\"1026.36\">0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 226.747, 709.786)\" x=\"226.747\" y=\"709.786\">5×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 335.144, 682.376)\" x=\"335.144\" y=\"682.376\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 357.984, 682.376)\" x=\"357.984\" y=\"682.376\">10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 248.492, 386.981)\" x=\"248.492\" y=\"386.981\">1×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 356.889, 359.571)\" x=\"356.889\" y=\"359.571\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 379.728, 359.571)\" x=\"379.728\" y=\"359.571\">9</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:84px; text-anchor:middle;\" transform=\"rotate(0, 1389.11, 73.2)\" x=\"1389.11\" y=\"73.2\">Node Displacement</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;\" transform=\"rotate(0, 1389.11, 1559.48)\" x=\"1389.11\" y=\"1559.48\">Node ID</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;\" transform=\"rotate(-90, 89.2861, 773.647)\" x=\"89.2861\" y=\"773.647\">displacement</text>\n",
"</g>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"480.018\" cy=\"1008.86\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"645.309\" cy=\"1008.86\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"810.599\" cy=\"1008.86\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"975.889\" cy=\"1008.86\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1141.18\" cy=\"158.579\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1306.47\" cy=\"583.723\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1471.76\" cy=\"583.723\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1637.05\" cy=\"158.579\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1802.34\" cy=\"158.579\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1967.63\" cy=\"158.579\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"2132.92\" cy=\"583.723\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"2298.21\" cy=\"583.723\" r=\"14\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"480.018\" cy=\"1008.86\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"645.309\" cy=\"1008.86\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"810.599\" cy=\"1008.86\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"975.889\" cy=\"1008.86\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1141.18\" cy=\"1388.71\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1306.47\" cy=\"1100.91\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1471.76\" cy=\"1095.21\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1637.05\" cy=\"1388.71\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1802.34\" cy=\"1351.29\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"1967.63\" cy=\"1351.29\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"2132.92\" cy=\"1095.21\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<circle clip-path=\"url(#clip5202)\" cx=\"2298.21\" cy=\"1100.91\" r=\"14\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<path clip-path=\"url(#clip5200)\" d=\"\n",
"M1853.56 386.635 L2280.76 386.635 L2280.76 205.195 L1853.56 205.195 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip5200)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1853.56,386.635 2280.76,386.635 2280.76,205.195 1853.56,205.195 1853.56,386.635 \n",
" \"/>\n",
"<circle clip-path=\"url(#clip5200)\" cx=\"1961.56\" cy=\"265.675\" r=\"21\" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2045.56, 283.175)\" x=\"2045.56\" y=\"283.175\">Dyanmic</text>\n",
"</g>\n",
"<circle clip-path=\"url(#clip5200)\" cx=\"1961.56\" cy=\"326.155\" r=\"21\" fill=\"#e26f46\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"#000000\" stroke-opacity=\"1\" stroke-width=\"3.2\"/>\n",
"<g clip-path=\"url(#clip5200)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2045.56, 343.655)\" x=\"2045.56\" y=\"343.655\">FEA</text>\n",
"</g>\n",
"</svg>\n"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n=[]\n",
"nFEA=[]\n",
"j=length(displacements[end])\n",
"for i in 1:j\n",
" append!(n,displacements[end][i].y)\n",
" append!(nFEA,displacementFEA[i].y)\n",
"end\n",
"scatter(1:j,n,label=\"Dyanmic\",xlabel=\"Node ID\",ylabel=\"displacement\",title=\"Node Displacement\")\n",
"scatter!(1:j,nFEA,label=\"FEA\")\n",
"# savefig(\"node_displacement_one_voxel\")"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"ename": "UndefVarError",
"evalue": "UndefVarError: E1 not defined",
"output_type": "error",
"traceback": [
"UndefVarError: E1 not defined",
"",
"Stacktrace:",
" [1] top-level scope at In[28]:15"
]
}
],
"source": [
"function getYoungsModulus(latticeSize,voxelSize,disp,Load,topNodesIndices)\n",
" F=-Load\n",
" l0=voxelSize*sqrt(2)/100.0*latticeSize\n",
" A=(voxelSize*sqrt(2)/100.0)^2*latticeSize^2\n",
"\n",
" δl1=-mean( x.y for x in disp[topNodesIndices])\n",
"\n",
" stresses=F/A\n",
" strain=δl1/l0\n",
"\n",
" E=stresses/strain *1e-9\n",
"\n",
" return E\n",
"end\n",
"\n",
"# F=-Load\n",
"# l0=5*sqrt(2)/100.0*latticeSize\n",
"# A=(5*sqrt(2)/100.0)^2*latticeSize^2\n",
"\n",
"# δl1=-mean( x.y for x in displacementFEA[topNodesIndices])\n",
"# δl2=-mean( x.y for x in displacements[end][topNodesIndices])\n",
"\n",
"# stresses=F/A\n",
"# strain1=δl1/l0\n",
"# strain2=δl2/l0\n",
"\n",
"# # DDisplacements[latticeSize]=[displacements[end][end].y]\n",
"# # DDisplacementsFEA[latticeSize]=[displacementFEA[end].y]\n",
"\n",
"# E1=getYoungsModulus(latticeSize,5,displacementFEA,Load,topNodesIndices)/1000\n",
"# E2=getYoungsModulus(latticeSize,5,displacements[end],Load,topNodesIndices)/1000\n",
"# EsFEA[latticeSize]=E1\n",
"# Es[latticeSize]=E2\n",
"\n",
"println(\"E FEA= $E1,E dynamic= $E2\")\n"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"# Es1=[0.060884503402759034, 0.028613329550419765,0.04290673059936012,0.05720947849175027,0.07151182744350526 ]\n",
"# Es2=[4.476556777767441 ,2.4245859780625727, 2.450108731865717,2.4714994633266203,2.464207835015529]\n",
"\n",
"# EsFEA=[9.777375254441967, 4.997590597979953, 7.496951555575914,9.995905987397883,12.494879504999625 ] #FEA\n",
"# Es=[4.476556777767441 ,2.4245859780625727, 2.450108731865717,2.4714994633266203,2.464207835015529] #DYNAMIC"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 2400 1600\">\n",
"<defs>\n",
" <clipPath id=\"clip3400\">\n",
" <rect x=\"0\" y=\"0\" width=\"2400\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip3400)\" d=\"\n",
"M0 1600 L2400 1600 L2400 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip3401\">\n",
" <rect x=\"480\" y=\"0\" width=\"1681\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip3400)\" d=\"\n",
"M242.516 1425.62 L2352.76 1425.62 L2352.76 121.675 L242.516 121.675 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip3402\">\n",
" <rect x=\"242\" y=\"121\" width=\"2111\" height=\"1305\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 302.24,1425.62 302.24,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 799.938,1425.62 799.938,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1297.64,1425.62 1297.64,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1795.33,1425.62 1795.33,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 2293.03,1425.62 2293.03,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 242.516,1388.71 2352.76,1388.71 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 242.516,1081.18 2352.76,1081.18 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 242.516,773.647 2352.76,773.647 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 242.516,466.113 2352.76,466.113 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 242.516,158.579 2352.76,158.579 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 242.516,1425.62 2352.76,1425.62 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 242.516,1425.62 242.516,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 302.24,1425.62 302.24,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 799.938,1425.62 799.938,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1297.64,1425.62 1297.64,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1795.33,1425.62 1795.33,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2293.03,1425.62 2293.03,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 242.516,1388.71 267.839,1388.71 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 242.516,1081.18 267.839,1081.18 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 242.516,773.647 267.839,773.647 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 242.516,466.113 267.839,466.113 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 242.516,158.579 267.839,158.579 \n",
" \"/>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 302.24, 1479.62)\" x=\"302.24\" y=\"1479.62\">1</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 799.938, 1479.62)\" x=\"799.938\" y=\"1479.62\">2</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1297.64, 1479.62)\" x=\"1297.64\" y=\"1479.62\">3</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1795.33, 1479.62)\" x=\"1795.33\" y=\"1479.62\">4</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 2293.03, 1479.62)\" x=\"2293.03\" y=\"1479.62\">5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 218.516, 1406.21)\" x=\"218.516\" y=\"1406.21\">0.00</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 218.516, 1098.68)\" x=\"218.516\" y=\"1098.68\">0.25</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 218.516, 791.147)\" x=\"218.516\" y=\"791.147\">0.50</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 218.516, 483.613)\" x=\"218.516\" y=\"483.613\">0.75</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 218.516, 176.079)\" x=\"218.516\" y=\"176.079\">1.00</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:84px; text-anchor:middle;\" transform=\"rotate(0, 1297.64, 73.2)\" x=\"1297.64\" y=\"73.2\">Young's Modulus</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;\" transform=\"rotate(0, 1297.64, 1559.48)\" x=\"1297.64\" y=\"1559.48\">lattice size</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;\" transform=\"rotate(-90, 89.2861, 773.647)\" x=\"89.2861\" y=\"773.647\">E</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 302.24,1388.71 799.938,1388.71 1297.64,1388.71 1795.33,1388.71 2293.03,1388.71 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3402)\" style=\"stroke:#e26f46; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 302.24,1388.71 799.938,1388.71 1297.64,1388.71 1795.33,1388.71 2293.03,1388.71 \n",
" \"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"302.24\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"799.938\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"1297.64\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"1795.33\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"2293.03\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"302.24\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"799.938\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"1297.64\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"1795.33\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<circle clip-path=\"url(#clip3402)\" cx=\"2293.03\" cy=\"1388.71\" r=\"14\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" stroke=\"none\"/>\n",
"<path clip-path=\"url(#clip3400)\" d=\"\n",
"M1853.56 386.635 L2280.76 386.635 L2280.76 205.195 L1853.56 205.195 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1853.56,386.635 2280.76,386.635 2280.76,205.195 1853.56,205.195 1853.56,386.635 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1877.56,265.675 2021.56,265.675 \n",
" \"/>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2045.56, 283.175)\" x=\"2045.56\" y=\"283.175\">Dyanmic</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip3400)\" style=\"stroke:#e26f46; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1877.56,326.155 2021.56,326.155 \n",
" \"/>\n",
"<g clip-path=\"url(#clip3400)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2045.56, 343.655)\" x=\"2045.56\" y=\"343.655\">FEA</text>\n",
"</g>\n",
"</svg>\n"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(1:5,Es,label=\"Dyanmic\",xlabel=\"lattice size\",ylabel=\"E\",title=\"Young's Modulus\")\n",
"plot!(1:5,EsFEA,label=\"FEA\")\n",
"scatter!(1:5,Es,color=\"black\",label=\"\")\n",
"scatter!(1:5,EsFEA,color=\"black\",label=\"\")\n",
"# savefig(\"youngs_modulus\")"
]
},
{
"cell_type": "code",
"execution_count": 885,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 2400 1600\">\n",
"<defs>\n",
" <clipPath id=\"clip7600\">\n",
" <rect x=\"0\" y=\"0\" width=\"2400\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip7600)\" d=\"\n",
"M0 1600 L2400 1600 L2400 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip7601\">\n",
" <rect x=\"480\" y=\"0\" width=\"1681\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip7600)\" d=\"\n",
"M456.182 1425.62 L2352.76 1425.62 L2352.76 121.675 L456.182 121.675 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip7602\">\n",
" <rect x=\"456\" y=\"121\" width=\"1898\" height=\"1305\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 508.964,1425.62 508.964,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 956.269,1425.62 956.269,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1403.57,1425.62 1403.57,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1850.88,1425.62 1850.88,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 2298.18,1425.62 2298.18,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 456.182,1303.92 2352.76,1303.92 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 456.182,922.138 2352.76,922.138 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 456.182,540.359 2352.76,540.359 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 456.182,158.579 2352.76,158.579 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 456.182,1425.62 2352.76,1425.62 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 456.182,1425.62 456.182,121.675 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 508.964,1425.62 508.964,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 956.269,1425.62 956.269,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1403.57,1425.62 1403.57,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1850.88,1425.62 1850.88,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2298.18,1425.62 2298.18,1409.97 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 456.182,1303.92 478.941,1303.92 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 456.182,922.138 478.941,922.138 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 456.182,540.359 478.941,540.359 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 456.182,158.579 478.941,158.579 \n",
" \"/>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 508.964, 1479.62)\" x=\"508.964\" y=\"1479.62\">0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 956.269, 1479.62)\" x=\"956.269\" y=\"1479.62\">500</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1403.57, 1479.62)\" x=\"1403.57\" y=\"1479.62\">1000</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1850.88, 1479.62)\" x=\"1850.88\" y=\"1479.62\">1500</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 2298.18, 1479.62)\" x=\"2298.18\" y=\"1479.62\">2000</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 210.947, 1327.65)\" x=\"210.947\" y=\"1327.65\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 239.057, 1327.65)\" x=\"239.057\" y=\"1327.65\">1.5×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 387.598, 1300.23)\" x=\"387.598\" y=\"1300.23\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 410.438, 1300.23)\" x=\"410.438\" y=\"1300.23\">6</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 210.947, 945.866)\" x=\"210.947\" y=\"945.866\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 239.057, 945.866)\" x=\"239.057\" y=\"945.866\">1.0×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 387.598, 918.455)\" x=\"387.598\" y=\"918.455\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 410.438, 918.455)\" x=\"410.438\" y=\"918.455\">6</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 210.947, 564.086)\" x=\"210.947\" y=\"564.086\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 239.057, 564.086)\" x=\"239.057\" y=\"564.086\">5.0×10</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 387.598, 536.676)\" x=\"387.598\" y=\"536.676\">-</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;\" transform=\"rotate(0, 410.438, 536.676)\" x=\"410.438\" y=\"536.676\">7</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 432.182, 176.079)\" x=\"432.182\" y=\"176.079\">0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:84px; text-anchor:middle;\" transform=\"rotate(0, 1404.47, 73.2)\" x=\"1404.47\" y=\"73.2\">Dynamic Model Convergence</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;\" transform=\"rotate(0, 1404.47, 1559.48)\" x=\"1404.47\" y=\"1559.48\">timestep</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;\" transform=\"rotate(-90, 89.2861, 773.647)\" x=\"89.2861\" y=\"773.647\">displacement</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 509.859,158.579 510.753,158.579 511.648,158.837 512.542,159.488 513.437,160.595 514.332,162.182 515.226,164.245 516.121,166.763 517.015,169.706 517.91,173.033 \n",
" 518.805,176.698 519.699,180.654 520.594,184.849 521.488,189.232 522.383,193.753 523.278,198.363 524.172,203.014 525.067,207.663 525.962,212.267 526.856,216.79 \n",
" 527.751,221.196 528.645,225.455 529.54,229.54 530.435,233.429 531.329,237.101 532.224,240.542 533.118,243.739 534.013,246.682 534.908,249.367 535.802,251.79 \n",
" 536.697,253.951 537.591,255.852 538.486,257.497 539.381,258.893 540.275,260.047 541.17,260.97 542.065,261.671 542.959,262.164 543.854,262.46 544.748,262.574 \n",
" 545.643,262.519 546.538,262.31 547.432,261.96 548.327,261.486 549.221,260.9 550.116,260.217 551.011,259.451 551.905,258.616 552.8,257.724 553.694,256.788 \n",
" 554.589,255.82 555.484,254.829 556.378,253.828 557.273,252.824 558.168,251.828 559.062,250.846 559.957,249.887 560.851,248.956 561.746,248.059 562.641,247.202 \n",
" 563.535,246.387 564.43,245.618 565.324,244.899 566.219,244.231 567.114,243.616 568.008,243.054 568.903,242.547 569.797,242.093 570.692,241.692 571.587,241.343 \n",
" 572.481,241.045 573.376,240.797 574.271,240.595 575.165,240.438 576.06,240.324 576.954,240.25 577.849,240.213 578.744,240.211 579.638,240.24 580.533,240.298 \n",
" 581.427,240.382 582.322,240.488 583.217,240.615 584.111,240.759 585.006,240.918 585.9,241.089 586.795,241.269 587.69,241.456 588.584,241.649 589.479,241.845 \n",
" 590.373,242.041 591.268,242.237 592.163,242.43 593.057,242.62 593.952,242.804 594.847,242.982 595.741,243.153 596.636,243.316 597.53,243.47 598.425,243.614 \n",
" 599.32,243.748 600.214,243.872 601.109,243.986 602.003,244.089 602.898,244.182 603.793,244.264 604.687,244.336 605.582,244.397 606.476,244.449 607.371,244.492 \n",
" 608.266,244.526 609.16,244.551 610.055,244.568 610.95,244.578 611.844,244.58 612.739,244.577 613.633,244.567 614.528,244.552 615.423,244.533 616.317,244.509 \n",
" 617.212,244.482 618.106,244.452 619.001,244.419 619.896,244.384 620.79,244.348 621.685,244.311 622.579,244.272 623.474,244.234 624.369,244.195 625.263,244.157 \n",
" 626.158,244.12 627.053,244.083 627.947,244.048 628.842,244.014 629.736,243.981 630.631,243.951 631.526,243.922 632.42,243.895 633.315,243.87 634.209,243.847 \n",
" 635.104,243.826 635.999,243.807 636.893,243.79 637.788,243.775 638.682,243.762 639.577,243.752 640.472,243.743 641.366,243.735 642.261,243.73 643.156,243.726 \n",
" 644.05,243.724 644.945,243.723 645.839,243.723 646.734,243.724 647.629,243.727 648.523,243.731 649.418,243.735 650.312,243.74 651.207,243.746 652.102,243.752 \n",
" 652.996,243.759 653.891,243.766 654.785,243.773 655.68,243.78 656.575,243.788 657.469,243.796 658.364,243.803 659.258,243.81 660.153,243.818 661.048,243.825 \n",
" 661.942,243.832 662.837,243.838 663.732,243.844 664.626,243.85 665.521,243.855 666.415,243.86 667.31,243.865 668.205,243.869 669.099,243.873 669.994,243.877 \n",
" 670.888,243.88 671.783,243.882 672.678,243.885 673.572,243.886 674.467,243.888 675.361,243.889 676.256,243.89 677.151,243.891 678.045,243.891 678.94,243.891 \n",
" 679.835,243.891 680.729,243.89 681.624,243.89 682.518,243.889 683.413,243.888 684.308,243.887 685.202,243.886 686.097,243.884 686.991,243.883 687.886,243.882 \n",
" 688.781,243.88 689.675,243.879 690.57,243.877 691.464,243.876 692.359,243.874 693.254,243.873 694.148,243.871 695.043,243.87 695.938,243.869 696.832,243.867 \n",
" 697.727,243.866 698.621,243.865 699.516,243.864 700.411,243.863 701.305,243.862 702.2,243.862 703.094,243.861 703.989,243.86 704.884,243.86 705.778,243.859 \n",
" 706.673,243.859 707.567,243.859 708.462,243.858 709.357,243.858 710.251,243.858 711.146,243.858 712.041,243.858 712.935,243.858 713.83,243.858 714.724,243.858 \n",
" 715.619,243.858 716.514,243.858 717.408,243.859 718.303,243.859 719.197,243.859 720.092,243.859 720.987,243.86 721.881,243.86 722.776,243.86 723.67,243.86 \n",
" 724.565,243.861 725.46,243.861 726.354,243.861 727.249,243.862 728.143,243.862 729.038,243.862 729.933,243.862 730.827,243.863 731.722,243.863 732.617,243.863 \n",
" 733.511,243.863 734.406,243.863 735.3,243.864 736.195,243.864 737.09,243.864 737.984,243.864 738.879,243.864 739.773,243.864 740.668,243.864 741.563,243.864 \n",
" 742.457,243.864 743.352,243.864 744.246,243.864 745.141,243.864 746.036,243.864 746.93,243.864 747.825,243.864 748.72,243.864 749.614,243.864 750.509,243.864 \n",
" 751.403,243.864 752.298,243.864 753.193,243.864 754.087,243.864 754.982,243.864 755.876,243.864 756.771,243.864 757.666,243.864 758.56,243.864 759.455,243.864 \n",
" 760.349,243.864 761.244,243.864 762.139,243.864 763.033,243.863 763.928,243.863 764.823,243.863 765.717,243.863 766.612,243.863 767.506,243.863 768.401,243.863 \n",
" 769.296,243.863 770.19,243.863 771.085,243.863 771.979,243.863 772.874,243.863 773.769,243.863 774.663,243.863 775.558,243.863 776.452,243.863 777.347,243.863 \n",
" 778.242,243.863 779.136,243.863 780.031,243.863 780.926,243.863 781.82,243.863 782.715,243.863 783.609,243.863 784.504,243.863 785.399,243.863 786.293,243.863 \n",
" 787.188,243.863 788.082,243.863 788.977,243.863 789.872,243.863 790.766,243.863 791.661,243.863 792.555,243.863 793.45,243.863 794.345,243.863 795.239,243.863 \n",
" 796.134,243.863 797.028,243.863 797.923,243.863 798.818,243.863 799.712,243.863 800.607,243.863 801.502,243.863 802.396,243.863 803.291,243.863 804.185,243.863 \n",
" 805.08,243.863 805.975,243.863 806.869,243.863 807.764,243.863 808.658,243.863 809.553,243.863 810.448,243.863 811.342,243.863 812.237,243.863 813.131,243.863 \n",
" 814.026,243.863 814.921,243.863 815.815,243.863 816.71,243.863 817.605,243.863 818.499,243.863 819.394,243.863 820.288,243.863 821.183,243.863 822.078,243.863 \n",
" 822.972,243.863 823.867,243.863 824.761,243.863 825.656,243.863 826.551,243.863 827.445,243.863 828.34,243.863 829.234,243.863 830.129,243.863 831.024,243.863 \n",
" 831.918,243.863 832.813,243.863 833.708,243.863 834.602,243.863 835.497,243.863 836.391,243.863 837.286,243.863 838.181,243.863 839.075,243.863 839.97,243.863 \n",
" 840.864,243.863 841.759,243.863 842.654,243.863 843.548,243.863 844.443,243.863 845.337,243.863 846.232,243.863 847.127,243.863 848.021,243.863 848.916,243.863 \n",
" 849.81,243.863 850.705,243.863 851.6,243.863 852.494,243.863 853.389,243.863 854.284,243.863 855.178,243.863 856.073,243.863 856.967,243.863 857.862,243.863 \n",
" 858.757,243.863 859.651,243.863 860.546,243.863 861.44,243.863 862.335,243.863 863.23,243.863 864.124,243.863 865.019,243.863 865.913,243.863 866.808,243.863 \n",
" 867.703,243.863 868.597,243.863 869.492,243.863 870.387,243.863 871.281,243.863 872.176,243.863 873.07,243.863 873.965,243.863 874.86,243.863 875.754,243.863 \n",
" 876.649,243.863 877.543,243.863 878.438,243.863 879.333,243.863 880.227,243.863 881.122,243.863 882.016,243.863 882.911,243.863 883.806,243.863 884.7,243.863 \n",
" 885.595,243.863 886.49,243.863 887.384,243.863 888.279,243.863 889.173,243.863 890.068,243.863 890.963,243.863 891.857,243.863 892.752,243.863 893.646,243.863 \n",
" 894.541,243.863 895.436,243.863 896.33,243.863 897.225,243.863 898.119,243.863 899.014,243.863 899.909,243.863 900.803,243.863 901.698,243.863 902.593,243.863 \n",
" 903.487,243.863 904.382,243.863 905.276,243.863 906.171,243.863 907.066,243.863 907.96,243.863 908.855,243.863 909.749,243.863 910.644,243.863 911.539,243.863 \n",
" 912.433,243.863 913.328,243.863 914.222,243.863 915.117,243.863 916.012,243.863 916.906,243.863 917.801,243.863 918.695,243.863 919.59,243.863 920.485,243.863 \n",
" 921.379,243.863 922.274,243.863 923.169,243.863 924.063,243.863 924.958,243.863 925.852,243.863 926.747,243.863 927.642,243.863 928.536,243.863 929.431,243.863 \n",
" 930.325,243.863 931.22,243.863 932.115,243.863 933.009,243.863 933.904,243.863 934.798,243.863 935.693,243.863 936.588,243.863 937.482,243.863 938.377,243.863 \n",
" 939.272,243.863 940.166,243.863 941.061,243.863 941.955,243.863 942.85,243.863 943.745,243.863 944.639,243.863 945.534,243.863 946.428,243.863 947.323,243.863 \n",
" 948.218,243.863 949.112,243.863 950.007,243.863 950.901,243.863 951.796,243.863 952.691,243.863 953.585,243.863 954.48,243.863 955.375,243.863 956.269,243.863 \n",
" 957.164,243.863 958.058,243.863 958.953,243.863 959.848,243.863 960.742,243.863 961.637,243.863 962.531,243.863 963.426,243.863 964.321,243.863 965.215,243.863 \n",
" 966.11,243.863 967.004,243.863 967.899,243.863 968.794,243.863 969.688,243.863 970.583,243.863 971.478,243.863 972.372,243.863 973.267,243.863 974.161,243.863 \n",
" 975.056,243.863 975.951,243.863 976.845,243.863 977.74,243.863 978.634,243.863 979.529,243.863 980.424,243.863 981.318,243.863 982.213,243.863 983.107,243.863 \n",
" 984.002,243.863 984.897,243.863 985.791,243.863 986.686,243.863 987.58,243.863 988.475,243.863 989.37,243.863 990.264,243.863 991.159,243.863 992.054,243.863 \n",
" 992.948,243.863 993.843,243.863 994.737,243.863 995.632,243.863 996.527,243.863 997.421,243.863 998.316,243.863 999.21,243.863 1000.11,243.863 1001,243.863 \n",
" 1001.89,243.863 1002.79,243.863 1003.68,243.863 1004.58,243.863 1005.47,243.863 1006.37,243.863 1007.26,243.863 1008.16,243.863 1009.05,243.863 1009.95,243.863 \n",
" 1010.84,243.863 1011.73,243.863 1012.63,243.863 1013.52,243.863 1014.42,243.863 1015.31,243.863 1016.21,243.863 1017.1,243.863 1018,243.863 1018.89,243.863 \n",
" 1019.79,243.863 1020.68,243.863 1021.58,243.863 1022.47,243.863 1023.36,243.863 1024.26,243.863 1025.15,243.863 1026.05,243.863 1026.94,243.863 1027.84,243.863 \n",
" 1028.73,243.863 1029.63,243.863 1030.52,243.863 1031.42,243.863 1032.31,243.863 1033.21,243.863 1034.1,243.863 1034.99,243.863 1035.89,243.863 1036.78,243.863 \n",
" 1037.68,243.863 1038.57,243.863 1039.47,243.863 1040.36,243.863 1041.26,243.863 1042.15,243.863 1043.05,243.863 1043.94,243.863 1044.84,243.863 1045.73,243.863 \n",
" 1046.62,243.863 1047.52,243.863 1048.41,243.863 1049.31,243.863 1050.2,243.863 1051.1,243.863 1051.99,243.863 1052.89,243.863 1053.78,243.863 1054.68,243.863 \n",
" 1055.57,243.863 1056.47,243.863 1057.36,243.863 1058.25,243.863 1059.15,243.863 1060.04,243.863 1060.94,243.863 1061.83,243.863 1062.73,243.863 1063.62,243.863 \n",
" 1064.52,243.863 1065.41,243.863 1066.31,243.863 1067.2,243.863 1068.1,243.863 1068.99,243.863 1069.88,243.863 1070.78,243.863 1071.67,243.863 1072.57,243.863 \n",
" 1073.46,243.863 1074.36,243.863 1075.25,243.863 1076.15,243.863 1077.04,243.863 1077.94,243.863 1078.83,243.863 1079.73,243.863 1080.62,243.863 1081.51,243.863 \n",
" 1082.41,243.863 1083.3,243.863 1084.2,243.863 1085.09,243.863 1085.99,243.863 1086.88,243.863 1087.78,243.863 1088.67,243.863 1089.57,243.863 1090.46,243.863 \n",
" 1091.36,243.863 1092.25,243.863 1093.14,243.863 1094.04,243.863 1094.93,243.863 1095.83,243.863 1096.72,243.863 1097.62,243.863 1098.51,243.863 1099.41,243.863 \n",
" 1100.3,243.863 1101.2,243.863 1102.09,243.863 1102.99,243.863 1103.88,243.863 1104.77,243.863 1105.67,243.863 1106.56,243.863 1107.46,243.863 1108.35,243.863 \n",
" 1109.25,243.863 1110.14,243.863 1111.04,243.863 1111.93,243.863 1112.83,243.863 1113.72,243.863 1114.62,243.863 1115.51,243.863 1116.4,243.863 1117.3,243.863 \n",
" 1118.19,243.863 1119.09,243.863 1119.98,243.863 1120.88,243.863 1121.77,243.863 1122.67,243.863 1123.56,243.863 1124.46,243.863 1125.35,243.863 1126.25,243.863 \n",
" 1127.14,243.863 1128.03,243.863 1128.93,243.863 1129.82,243.863 1130.72,243.863 1131.61,243.863 1132.51,243.863 1133.4,243.863 1134.3,243.863 1135.19,243.863 \n",
" 1136.09,243.863 1136.98,243.863 1137.88,243.863 1138.77,243.863 1139.66,243.863 1140.56,243.863 1141.45,243.863 1142.35,243.863 1143.24,243.863 1144.14,243.863 \n",
" 1145.03,243.863 1145.93,243.863 1146.82,243.863 1147.72,243.863 1148.61,243.863 1149.5,243.863 1150.4,243.863 1151.29,243.863 1152.19,243.863 1153.08,243.863 \n",
" 1153.98,243.863 1154.87,243.863 1155.77,243.863 1156.66,243.863 1157.56,243.863 1158.45,243.863 1159.35,243.863 1160.24,243.863 1161.13,243.863 1162.03,243.863 \n",
" 1162.92,243.863 1163.82,243.863 1164.71,243.863 1165.61,243.863 1166.5,243.863 1167.4,243.863 1168.29,243.863 1169.19,243.863 1170.08,243.863 1170.98,243.863 \n",
" 1171.87,243.863 1172.76,243.863 1173.66,243.863 1174.55,243.863 1175.45,243.863 1176.34,243.863 1177.24,243.863 1178.13,243.863 1179.03,243.863 1179.92,243.863 \n",
" 1180.82,243.863 1181.71,243.863 1182.61,243.863 1183.5,243.863 1184.39,243.863 1185.29,243.863 1186.18,243.863 1187.08,243.863 1187.97,243.863 1188.87,243.863 \n",
" 1189.76,243.863 1190.66,243.863 1191.55,243.863 1192.45,243.863 1193.34,243.863 1194.24,243.863 1195.13,243.863 1196.02,243.863 1196.92,243.863 1197.81,243.863 \n",
" 1198.71,243.863 1199.6,243.863 1200.5,243.863 1201.39,243.863 1202.29,243.863 1203.18,243.863 1204.08,243.863 1204.97,243.863 1205.87,243.863 1206.76,243.863 \n",
" 1207.65,243.863 1208.55,243.863 1209.44,243.863 1210.34,243.863 1211.23,243.863 1212.13,243.863 1213.02,243.863 1213.92,243.863 1214.81,243.863 1215.71,243.863 \n",
" 1216.6,243.863 1217.5,243.863 1218.39,243.863 1219.28,243.863 1220.18,243.863 1221.07,243.863 1221.97,243.863 1222.86,243.863 1223.76,243.863 1224.65,243.863 \n",
" 1225.55,243.863 1226.44,243.863 1227.34,243.863 1228.23,243.863 1229.13,243.863 1230.02,243.863 1230.91,243.863 1231.81,243.863 1232.7,243.863 1233.6,243.863 \n",
" 1234.49,243.863 1235.39,243.863 1236.28,243.863 1237.18,243.863 1238.07,243.863 1238.97,243.863 1239.86,243.863 1240.76,243.863 1241.65,243.863 1242.54,243.863 \n",
" 1243.44,243.863 1244.33,243.863 1245.23,243.863 1246.12,243.863 1247.02,243.863 1247.91,243.863 1248.81,243.863 1249.7,243.863 1250.6,243.863 1251.49,243.863 \n",
" 1252.39,243.863 1253.28,243.863 1254.17,243.863 1255.07,243.863 1255.96,243.863 1256.86,243.863 1257.75,243.863 1258.65,243.863 1259.54,243.863 1260.44,243.863 \n",
" 1261.33,243.863 1262.23,243.863 1263.12,243.863 1264.02,243.863 1264.91,243.863 1265.8,243.863 1266.7,243.863 1267.59,243.863 1268.49,243.863 1269.38,243.863 \n",
" 1270.28,243.863 1271.17,243.863 1272.07,243.863 1272.96,243.863 1273.86,243.863 1274.75,243.863 1275.65,243.863 1276.54,243.863 1277.43,243.863 1278.33,243.863 \n",
" 1279.22,243.863 1280.12,243.863 1281.01,243.863 1281.91,243.863 1282.8,243.863 1283.7,243.863 1284.59,243.863 1285.49,243.863 1286.38,243.863 1287.27,243.863 \n",
" 1288.17,243.863 1289.06,243.863 1289.96,243.863 1290.85,243.863 1291.75,243.863 1292.64,243.863 1293.54,243.863 1294.43,243.863 1295.33,243.863 1296.22,243.863 \n",
" 1297.12,243.863 1298.01,243.863 1298.9,243.863 1299.8,243.863 1300.69,243.863 1301.59,243.863 1302.48,243.863 1303.38,243.863 1304.27,243.863 1305.17,243.863 \n",
" 1306.06,243.863 1306.96,243.863 1307.85,243.863 1308.75,243.863 1309.64,243.863 1310.53,243.863 1311.43,243.863 1312.32,243.863 1313.22,243.863 1314.11,243.863 \n",
" 1315.01,243.863 1315.9,243.863 1316.8,243.863 1317.69,243.863 1318.59,243.863 1319.48,243.863 1320.38,243.863 1321.27,243.863 1322.16,243.863 1323.06,243.863 \n",
" 1323.95,243.863 1324.85,243.863 1325.74,243.863 1326.64,243.863 1327.53,243.863 1328.43,243.863 1329.32,243.863 1330.22,243.863 1331.11,243.863 1332.01,243.863 \n",
" 1332.9,243.863 1333.79,243.863 1334.69,243.863 1335.58,243.863 1336.48,243.863 1337.37,243.863 1338.27,243.863 1339.16,243.863 1340.06,243.863 1340.95,243.863 \n",
" 1341.85,243.863 1342.74,243.863 1343.64,243.863 1344.53,243.863 1345.42,243.863 1346.32,243.863 1347.21,243.863 1348.11,243.863 1349,243.863 1349.9,243.863 \n",
" 1350.79,243.863 1351.69,243.863 1352.58,243.863 1353.48,243.863 1354.37,243.863 1355.27,243.863 1356.16,243.863 1357.05,243.863 1357.95,243.863 1358.84,243.863 \n",
" 1359.74,243.863 1360.63,243.863 1361.53,243.863 1362.42,243.863 1363.32,243.863 1364.21,243.863 1365.11,243.863 1366,243.863 1366.9,243.863 1367.79,243.863 \n",
" 1368.68,243.863 1369.58,243.863 1370.47,243.863 1371.37,243.863 1372.26,243.863 1373.16,243.863 1374.05,243.863 1374.95,243.863 1375.84,243.863 1376.74,243.863 \n",
" 1377.63,243.863 1378.53,243.863 1379.42,243.863 1380.31,243.863 1381.21,243.863 1382.1,243.863 1383,243.863 1383.89,243.863 1384.79,243.863 1385.68,243.863 \n",
" 1386.58,243.863 1387.47,243.863 1388.37,243.863 1389.26,243.863 1390.16,243.863 1391.05,243.863 1391.94,243.863 1392.84,243.863 1393.73,243.863 1394.63,243.863 \n",
" 1395.52,243.863 1396.42,243.863 1397.31,243.863 1398.21,243.863 1399.1,243.863 1400,243.863 1400.89,243.863 1401.79,243.863 1402.68,243.863 1403.57,243.863 \n",
" 1404.47,243.863 1405.36,243.863 1406.26,243.863 1407.15,243.863 1408.05,243.863 1408.94,243.863 1409.84,243.863 1410.73,243.863 1411.63,243.863 1412.52,243.863 \n",
" 1413.42,243.863 1414.31,243.863 1415.2,243.863 1416.1,243.863 1416.99,243.863 1417.89,243.863 1418.78,243.863 1419.68,243.863 1420.57,243.863 1421.47,243.863 \n",
" 1422.36,243.863 1423.26,243.863 1424.15,243.863 1425.04,243.863 1425.94,243.863 1426.83,243.863 1427.73,243.863 1428.62,243.863 1429.52,243.863 1430.41,243.863 \n",
" 1431.31,243.863 1432.2,243.863 1433.1,243.863 1433.99,243.863 1434.89,243.863 1435.78,243.863 1436.67,243.863 1437.57,243.863 1438.46,243.863 1439.36,243.863 \n",
" 1440.25,243.863 1441.15,243.863 1442.04,243.863 1442.94,243.863 1443.83,243.863 1444.73,243.863 1445.62,243.863 1446.52,243.863 1447.41,243.863 1448.3,243.863 \n",
" 1449.2,243.863 1450.09,243.863 1450.99,243.863 1451.88,243.863 1452.78,243.863 1453.67,243.863 1454.57,243.863 1455.46,243.863 1456.36,243.863 1457.25,243.863 \n",
" 1458.15,243.863 1459.04,243.863 1459.93,243.863 1460.83,243.863 1461.72,243.863 1462.62,243.863 1463.51,243.863 1464.41,243.863 1465.3,243.863 1466.2,243.863 \n",
" 1467.09,243.863 1467.99,243.863 1468.88,243.863 1469.78,243.863 1470.67,243.863 1471.56,243.863 1472.46,243.863 1473.35,243.863 1474.25,243.863 1475.14,243.863 \n",
" 1476.04,243.863 1476.93,243.863 1477.83,243.863 1478.72,243.863 1479.62,243.863 1480.51,243.863 1481.41,243.863 1482.3,243.863 1483.19,243.863 1484.09,243.863 \n",
" 1484.98,243.863 1485.88,243.863 1486.77,243.863 1487.67,243.863 1488.56,243.863 1489.46,243.863 1490.35,243.863 1491.25,243.863 1492.14,243.863 1493.04,243.863 \n",
" 1493.93,243.863 1494.82,243.863 1495.72,243.863 1496.61,243.863 1497.51,243.863 1498.4,243.863 1499.3,243.863 1500.19,243.863 1501.09,243.863 1501.98,243.863 \n",
" 1502.88,243.863 1503.77,243.863 1504.67,243.863 1505.56,243.863 1506.45,243.863 1507.35,243.863 1508.24,243.863 1509.14,243.863 1510.03,243.863 1510.93,243.863 \n",
" 1511.82,243.863 1512.72,243.863 1513.61,243.863 1514.51,243.863 1515.4,243.863 1516.3,243.863 1517.19,243.863 1518.08,243.863 1518.98,243.863 1519.87,243.863 \n",
" 1520.77,243.863 1521.66,243.863 1522.56,243.863 1523.45,243.863 1524.35,243.863 1525.24,243.863 1526.14,243.863 1527.03,243.863 1527.93,243.863 1528.82,243.863 \n",
" 1529.71,243.863 1530.61,243.863 1531.5,243.863 1532.4,243.863 1533.29,243.863 1534.19,243.863 1535.08,243.863 1535.98,243.863 1536.87,243.863 1537.77,243.863 \n",
" 1538.66,243.863 1539.56,243.863 1540.45,243.863 1541.34,243.863 1542.24,243.863 1543.13,243.863 1544.03,243.863 1544.92,243.863 1545.82,243.863 1546.71,243.863 \n",
" 1547.61,243.863 1548.5,243.863 1549.4,243.863 1550.29,243.863 1551.19,243.863 1552.08,243.863 1552.97,243.863 1553.87,243.863 1554.76,243.863 1555.66,243.863 \n",
" 1556.55,243.863 1557.45,243.863 1558.34,243.863 1559.24,243.863 1560.13,243.863 1561.03,243.863 1561.92,243.863 1562.81,243.863 1563.71,243.863 1564.6,243.863 \n",
" 1565.5,243.863 1566.39,243.863 1567.29,243.863 1568.18,243.863 1569.08,243.863 1569.97,243.863 1570.87,243.863 1571.76,243.863 1572.66,243.863 1573.55,243.863 \n",
" 1574.44,243.863 1575.34,243.863 1576.23,243.863 1577.13,243.863 1578.02,243.863 1578.92,243.863 1579.81,243.863 1580.71,243.863 1581.6,243.863 1582.5,243.863 \n",
" 1583.39,243.863 1584.29,243.863 1585.18,243.863 1586.07,243.863 1586.97,243.863 1587.86,243.863 1588.76,243.863 1589.65,243.863 1590.55,243.863 1591.44,243.863 \n",
" 1592.34,243.863 1593.23,243.863 1594.13,243.863 1595.02,243.863 1595.92,243.863 1596.81,243.863 1597.7,243.863 1598.6,243.863 1599.49,243.863 1600.39,243.863 \n",
" 1601.28,243.863 1602.18,243.863 1603.07,243.863 1603.97,243.863 1604.86,243.863 1605.76,243.863 1606.65,243.863 1607.55,243.863 1608.44,243.863 1609.33,243.863 \n",
" 1610.23,243.863 1611.12,243.863 1612.02,243.863 1612.91,243.863 1613.81,243.863 1614.7,243.863 1615.6,243.863 1616.49,243.863 1617.39,243.863 1618.28,243.863 \n",
" 1619.18,243.863 1620.07,243.863 1620.96,243.863 1621.86,243.863 1622.75,243.863 1623.65,243.863 1624.54,243.863 1625.44,243.863 1626.33,243.863 1627.23,243.863 \n",
" 1628.12,243.863 1629.02,243.863 1629.91,243.863 1630.81,243.863 1631.7,243.863 1632.59,243.863 1633.49,243.863 1634.38,243.863 1635.28,243.863 1636.17,243.863 \n",
" 1637.07,243.863 1637.96,243.863 1638.86,243.863 1639.75,243.863 1640.65,243.863 1641.54,243.863 1642.44,243.863 1643.33,243.863 1644.22,243.863 1645.12,243.863 \n",
" 1646.01,243.863 1646.91,243.863 1647.8,243.863 1648.7,243.863 1649.59,243.863 1650.49,243.863 1651.38,243.863 1652.28,243.863 1653.17,243.863 1654.07,243.863 \n",
" 1654.96,243.863 1655.85,243.863 1656.75,243.863 1657.64,243.863 1658.54,243.863 1659.43,243.863 1660.33,243.863 1661.22,243.863 1662.12,243.863 1663.01,243.863 \n",
" 1663.91,243.863 1664.8,243.863 1665.7,243.863 1666.59,243.863 1667.48,243.863 1668.38,243.863 1669.27,243.863 1670.17,243.863 1671.06,243.863 1671.96,243.863 \n",
" 1672.85,243.863 1673.75,243.863 1674.64,243.863 1675.54,243.863 1676.43,243.863 1677.33,243.863 1678.22,243.863 1679.11,243.863 1680.01,243.863 1680.9,243.863 \n",
" 1681.8,243.863 1682.69,243.863 1683.59,243.863 1684.48,243.863 1685.38,243.863 1686.27,243.863 1687.17,243.863 1688.06,243.863 1688.96,243.863 1689.85,243.863 \n",
" 1690.74,243.863 1691.64,243.863 1692.53,243.863 1693.43,243.863 1694.32,243.863 1695.22,243.863 1696.11,243.863 1697.01,243.863 1697.9,243.863 1698.8,243.863 \n",
" 1699.69,243.863 1700.58,243.863 1701.48,243.863 1702.37,243.863 1703.27,243.863 1704.16,243.863 1705.06,243.863 1705.95,243.863 1706.85,243.863 1707.74,243.863 \n",
" 1708.64,243.863 1709.53,243.863 1710.43,243.863 1711.32,243.863 1712.21,243.863 1713.11,243.863 1714,243.863 1714.9,243.863 1715.79,243.863 1716.69,243.863 \n",
" 1717.58,243.863 1718.48,243.863 1719.37,243.863 1720.27,243.863 1721.16,243.863 1722.06,243.863 1722.95,243.863 1723.84,243.863 1724.74,243.863 1725.63,243.863 \n",
" 1726.53,243.863 1727.42,243.863 1728.32,243.863 1729.21,243.863 1730.11,243.863 1731,243.863 1731.9,243.863 1732.79,243.863 1733.69,243.863 1734.58,243.863 \n",
" 1735.47,243.863 1736.37,243.863 1737.26,243.863 1738.16,243.863 1739.05,243.863 1739.95,243.863 1740.84,243.863 1741.74,243.863 1742.63,243.863 1743.53,243.863 \n",
" 1744.42,243.863 1745.32,243.863 1746.21,243.863 1747.1,243.863 1748,243.863 1748.89,243.863 1749.79,243.863 1750.68,243.863 1751.58,243.863 1752.47,243.863 \n",
" 1753.37,243.863 1754.26,243.863 1755.16,243.863 1756.05,243.863 1756.95,243.863 1757.84,243.863 1758.73,243.863 1759.63,243.863 1760.52,243.863 1761.42,243.863 \n",
" 1762.31,243.863 1763.21,243.863 1764.1,243.863 1765,243.863 1765.89,243.863 1766.79,243.863 1767.68,243.863 1768.58,243.863 1769.47,243.863 1770.36,243.863 \n",
" 1771.26,243.863 1772.15,243.863 1773.05,243.863 1773.94,243.863 1774.84,243.863 1775.73,243.863 1776.63,243.863 1777.52,243.863 1778.42,243.863 1779.31,243.863 \n",
" 1780.21,243.863 1781.1,243.863 1781.99,243.863 1782.89,243.863 1783.78,243.863 1784.68,243.863 1785.57,243.863 1786.47,243.863 1787.36,243.863 1788.26,243.863 \n",
" 1789.15,243.863 1790.05,243.863 1790.94,243.863 1791.84,243.863 1792.73,243.863 1793.62,243.863 1794.52,243.863 1795.41,243.863 1796.31,243.863 1797.2,243.863 \n",
" 1798.1,243.863 1798.99,243.863 1799.89,243.863 1800.78,243.863 1801.68,243.863 1802.57,243.863 1803.47,243.863 1804.36,243.863 1805.25,243.863 1806.15,243.863 \n",
" 1807.04,243.863 1807.94,243.863 1808.83,243.863 1809.73,243.863 1810.62,243.863 1811.52,243.863 1812.41,243.863 1813.31,243.863 1814.2,243.863 1815.1,243.863 \n",
" 1815.99,243.863 1816.88,243.863 1817.78,243.863 1818.67,243.863 1819.57,243.863 1820.46,243.863 1821.36,243.863 1822.25,243.863 1823.15,243.863 1824.04,243.863 \n",
" 1824.94,243.863 1825.83,243.863 1826.73,243.863 1827.62,243.863 1828.51,243.863 1829.41,243.863 1830.3,243.863 1831.2,243.863 1832.09,243.863 1832.99,243.863 \n",
" 1833.88,243.863 1834.78,243.863 1835.67,243.863 1836.57,243.863 1837.46,243.863 1838.35,243.863 1839.25,243.863 1840.14,243.863 1841.04,243.863 1841.93,243.863 \n",
" 1842.83,243.863 1843.72,243.863 1844.62,243.863 1845.51,243.863 1846.41,243.863 1847.3,243.863 1848.2,243.863 1849.09,243.863 1849.98,243.863 1850.88,243.863 \n",
" 1851.77,243.863 1852.67,243.863 1853.56,243.863 1854.46,243.863 1855.35,243.863 1856.25,243.863 1857.14,243.863 1858.04,243.863 1858.93,243.863 1859.83,243.863 \n",
" 1860.72,243.863 1861.61,243.863 1862.51,243.863 1863.4,243.863 1864.3,243.863 1865.19,243.863 1866.09,243.863 1866.98,243.863 1867.88,243.863 1868.77,243.863 \n",
" 1869.67,243.863 1870.56,243.863 1871.46,243.863 1872.35,243.863 1873.24,243.863 1874.14,243.863 1875.03,243.863 1875.93,243.863 1876.82,243.863 1877.72,243.863 \n",
" 1878.61,243.863 1879.51,243.863 1880.4,243.863 1881.3,243.863 1882.19,243.863 1883.09,243.863 1883.98,243.863 1884.87,243.863 1885.77,243.863 1886.66,243.863 \n",
" 1887.56,243.863 1888.45,243.863 1889.35,243.863 1890.24,243.863 1891.14,243.863 1892.03,243.863 1892.93,243.863 1893.82,243.863 1894.72,243.863 1895.61,243.863 \n",
" 1896.5,243.863 1897.4,243.863 1898.29,243.863 1899.19,243.863 1900.08,243.863 1900.98,243.863 1901.87,243.863 1902.77,243.863 1903.66,243.863 1904.56,243.863 \n",
" 1905.45,243.863 1906.35,243.863 1907.24,243.863 1908.13,243.863 1909.03,243.863 1909.92,243.863 1910.82,243.863 1911.71,243.863 1912.61,243.863 1913.5,243.863 \n",
" 1914.4,243.863 1915.29,243.863 1916.19,243.863 1917.08,243.863 1917.98,243.863 1918.87,243.863 1919.76,243.863 1920.66,243.863 1921.55,243.863 1922.45,243.863 \n",
" 1923.34,243.863 1924.24,243.863 1925.13,243.863 1926.03,243.863 1926.92,243.863 1927.82,243.863 1928.71,243.863 1929.61,243.863 1930.5,243.863 1931.39,243.863 \n",
" 1932.29,243.863 1933.18,243.863 1934.08,243.863 1934.97,243.863 1935.87,243.863 1936.76,243.863 1937.66,243.863 1938.55,243.863 1939.45,243.863 1940.34,243.863 \n",
" 1941.24,243.863 1942.13,243.863 1943.02,243.863 1943.92,243.863 1944.81,243.863 1945.71,243.863 1946.6,243.863 1947.5,243.863 1948.39,243.863 1949.29,243.863 \n",
" 1950.18,243.863 1951.08,243.863 1951.97,243.863 1952.87,243.863 1953.76,243.863 1954.65,243.863 1955.55,243.863 1956.44,243.863 1957.34,243.863 1958.23,243.863 \n",
" 1959.13,243.863 1960.02,243.863 1960.92,243.863 1961.81,243.863 1962.71,243.863 1963.6,243.863 1964.5,243.863 1965.39,243.863 1966.28,243.863 1967.18,243.863 \n",
" 1968.07,243.863 1968.97,243.863 1969.86,243.863 1970.76,243.863 1971.65,243.863 1972.55,243.863 1973.44,243.863 1974.34,243.863 1975.23,243.863 1976.12,243.863 \n",
" 1977.02,243.863 1977.91,243.863 1978.81,243.864 1979.7,243.864 1980.6,243.864 1981.49,243.864 1982.39,243.864 1983.28,243.864 1984.18,243.864 1985.07,243.864 \n",
" 1985.97,243.864 1986.86,243.864 1987.75,243.864 1988.65,243.864 1989.54,243.864 1990.44,243.864 1991.33,243.864 1992.23,243.864 1993.12,243.864 1994.02,243.864 \n",
" 1994.91,243.864 1995.81,243.864 1996.7,243.864 1997.6,243.864 1998.49,243.864 1999.38,243.864 2000.28,243.864 2001.17,243.864 2002.07,243.864 2002.96,243.864 \n",
" 2003.86,243.864 2004.75,243.864 2005.65,243.864 2006.54,243.864 2007.44,243.864 2008.33,243.864 2009.23,243.864 2010.12,243.864 2011.01,243.864 2011.91,243.864 \n",
" 2012.8,243.864 2013.7,243.864 2014.59,243.864 2015.49,243.864 2016.38,243.864 2017.28,243.864 2018.17,243.864 2019.07,243.864 2019.96,243.864 2020.86,243.864 \n",
" 2021.75,243.864 2022.64,243.864 2023.54,243.864 2024.43,243.864 2025.33,243.864 2026.22,243.864 2027.12,243.864 2028.01,243.864 2028.91,243.864 2029.8,243.864 \n",
" 2030.7,243.864 2031.59,243.864 2032.49,243.864 2033.38,243.864 2034.27,243.864 2035.17,243.864 2036.06,243.864 2036.96,243.864 2037.85,243.864 2038.75,243.864 \n",
" 2039.64,243.864 2040.54,243.864 2041.43,243.864 2042.33,243.864 2043.22,243.864 2044.12,243.864 2045.01,243.864 2045.9,243.864 2046.8,243.864 2047.69,243.864 \n",
" 2048.59,243.864 2049.48,243.864 2050.38,243.864 2051.27,243.864 2052.17,243.864 2053.06,243.864 2053.96,243.864 2054.85,243.864 2055.75,243.864 2056.64,243.864 \n",
" 2057.53,243.864 2058.43,243.864 2059.32,243.864 2060.22,243.864 2061.11,243.864 2062.01,243.864 2062.9,243.864 2063.8,243.864 2064.69,243.864 2065.59,243.864 \n",
" 2066.48,243.864 2067.38,243.864 2068.27,243.864 2069.16,243.864 2070.06,243.864 2070.95,243.864 2071.85,243.864 2072.74,243.864 2073.64,243.864 2074.53,243.864 \n",
" 2075.43,243.864 2076.32,243.864 2077.22,243.864 2078.11,243.864 2079.01,243.864 2079.9,243.864 2080.79,243.864 2081.69,243.864 2082.58,243.864 2083.48,243.864 \n",
" 2084.37,243.864 2085.27,243.864 2086.16,243.864 2087.06,243.864 2087.95,243.864 2088.85,243.864 2089.74,243.864 2090.64,243.864 2091.53,243.864 2092.42,243.864 \n",
" 2093.32,243.864 2094.21,243.864 2095.11,243.864 2096,243.864 2096.9,243.864 2097.79,243.864 2098.69,243.864 2099.58,243.864 2100.48,243.864 2101.37,243.864 \n",
" 2102.27,243.864 2103.16,243.864 2104.05,243.864 2104.95,243.864 2105.84,243.864 2106.74,243.864 2107.63,243.864 2108.53,243.864 2109.42,243.864 2110.32,243.864 \n",
" 2111.21,243.864 2112.11,243.864 2113,243.864 2113.89,243.864 2114.79,243.864 2115.68,243.864 2116.58,243.864 2117.47,243.864 2118.37,243.864 2119.26,243.864 \n",
" 2120.16,243.864 2121.05,243.864 2121.95,243.864 2122.84,243.864 2123.74,243.864 2124.63,243.864 2125.52,243.864 2126.42,243.864 2127.31,243.864 2128.21,243.864 \n",
" 2129.1,243.864 2130,243.864 2130.89,243.864 2131.79,243.864 2132.68,243.864 2133.58,243.864 2134.47,243.864 2135.37,243.864 2136.26,243.864 2137.15,243.864 \n",
" 2138.05,243.864 2138.94,243.864 2139.84,243.864 2140.73,243.864 2141.63,243.864 2142.52,243.864 2143.42,243.864 2144.31,243.864 2145.21,243.864 2146.1,243.864 \n",
" 2147,243.864 2147.89,243.864 2148.78,243.864 2149.68,243.864 2150.57,243.864 2151.47,243.864 2152.36,243.864 2153.26,243.864 2154.15,243.864 2155.05,243.864 \n",
" 2155.94,243.864 2156.84,243.864 2157.73,243.864 2158.63,243.864 2159.52,243.864 2160.41,243.864 2161.31,243.864 2162.2,243.864 2163.1,243.864 2163.99,243.864 \n",
" 2164.89,243.864 2165.78,243.864 2166.68,243.864 2167.57,243.864 2168.47,243.864 2169.36,243.864 2170.26,243.864 2171.15,243.864 2172.04,243.864 2172.94,243.864 \n",
" 2173.83,243.864 2174.73,243.864 2175.62,243.864 2176.52,243.864 2177.41,243.864 2178.31,243.864 2179.2,243.864 2180.1,243.864 2180.99,243.864 2181.89,243.864 \n",
" 2182.78,243.864 2183.67,243.864 2184.57,243.864 2185.46,243.864 2186.36,243.864 2187.25,243.864 2188.15,243.864 2189.04,243.864 2189.94,243.864 2190.83,243.864 \n",
" 2191.73,243.864 2192.62,243.864 2193.52,243.864 2194.41,243.864 2195.3,243.864 2196.2,243.864 2197.09,243.864 2197.99,243.864 2198.88,243.864 2199.78,243.864 \n",
" 2200.67,243.864 2201.57,243.864 2202.46,243.864 2203.36,243.864 2204.25,243.864 2205.15,243.864 2206.04,243.864 2206.93,243.864 2207.83,243.864 2208.72,243.864 \n",
" 2209.62,243.864 2210.51,243.864 2211.41,243.864 2212.3,243.864 2213.2,243.864 2214.09,243.864 2214.99,243.864 2215.88,243.864 2216.78,243.864 2217.67,243.864 \n",
" 2218.56,243.864 2219.46,243.864 2220.35,243.864 2221.25,243.864 2222.14,243.864 2223.04,243.864 2223.93,243.864 2224.83,243.864 2225.72,243.864 2226.62,243.864 \n",
" 2227.51,243.864 2228.41,243.864 2229.3,243.864 2230.19,243.864 2231.09,243.864 2231.98,243.864 2232.88,243.864 2233.77,243.864 2234.67,243.864 2235.56,243.864 \n",
" 2236.46,243.864 2237.35,243.864 2238.25,243.864 2239.14,243.864 2240.04,243.864 2240.93,243.864 2241.82,243.864 2242.72,243.864 2243.61,243.864 2244.51,243.864 \n",
" 2245.4,243.864 2246.3,243.864 2247.19,243.864 2248.09,243.864 2248.98,243.864 2249.88,243.864 2250.77,243.864 2251.66,243.864 2252.56,243.864 2253.45,243.864 \n",
" 2254.35,243.864 2255.24,243.864 2256.14,243.864 2257.03,243.864 2257.93,243.864 2258.82,243.864 2259.72,243.864 2260.61,243.864 2261.51,243.864 2262.4,243.864 \n",
" 2263.29,243.864 2264.19,243.864 2265.08,243.864 2265.98,243.864 2266.87,243.864 2267.77,243.864 2268.66,243.864 2269.56,243.864 2270.45,243.864 2271.35,243.864 \n",
" 2272.24,243.864 2273.14,243.864 2274.03,243.864 2274.92,243.864 2275.82,243.864 2276.71,243.864 2277.61,243.864 2278.5,243.864 2279.4,243.864 2280.29,243.864 \n",
" 2281.19,243.864 2282.08,243.864 2282.98,243.864 2283.87,243.864 2284.77,243.864 2285.66,243.864 2286.55,243.864 2287.45,243.864 2288.34,243.864 2289.24,243.864 \n",
" 2290.13,243.864 2291.03,243.864 2291.92,243.864 2292.82,243.864 2293.71,243.864 2294.61,243.864 2295.5,243.864 2296.4,243.864 2297.29,243.864 2298.18,243.864 \n",
" 2299.08,243.864 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#e26f46; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 509.859,158.579 510.753,159.641 511.648,161.584 512.542,164.321 513.437,167.795 514.332,171.97 515.226,176.815 516.121,182.305 517.015,188.415 517.91,195.122 \n",
" 518.805,202.399 519.699,210.219 520.594,218.554 521.488,227.372 522.383,236.639 523.278,246.322 524.172,256.383 525.067,266.787 525.962,277.493 526.856,288.463 \n",
" 527.751,299.658 528.645,311.038 529.54,322.563 530.435,334.194 531.329,345.893 532.224,357.622 533.118,369.344 534.013,381.024 534.908,392.626 535.802,404.119 \n",
" 536.697,415.47 537.591,426.649 538.486,437.628 539.381,448.378 540.275,458.875 541.17,469.096 542.065,479.016 542.959,488.617 543.854,497.879 544.748,506.785 \n",
" 545.643,515.319 546.538,523.467 547.432,531.216 548.327,538.556 549.221,545.477 550.116,551.972 551.011,558.033 551.905,563.656 552.8,568.836 553.694,573.573 \n",
" 554.589,577.865 555.484,581.712 556.378,585.116 557.273,588.08 558.168,590.608 559.062,592.705 559.957,594.378 560.851,595.633 561.746,596.48 562.641,596.927 \n",
" 563.535,596.985 564.43,596.664 565.324,595.977 566.219,594.937 567.114,593.556 568.008,591.848 568.903,589.828 569.797,587.512 570.692,584.913 571.587,582.05 \n",
" 572.481,578.937 573.376,575.591 574.271,572.03 575.165,568.27 576.06,564.328 576.954,560.222 577.849,555.968 578.744,551.584 579.638,547.088 580.533,542.496 \n",
" 581.427,537.824 582.322,533.09 583.217,528.31 584.111,523.5 585.006,518.675 585.9,513.851 586.795,509.042 587.69,504.264 588.584,499.528 589.479,494.85 \n",
" 590.373,490.242 591.268,485.715 592.163,481.282 593.057,476.953 593.952,472.74 594.847,468.65 595.741,464.695 596.636,460.881 597.53,457.216 598.425,453.708 \n",
" 599.32,450.363 600.214,447.186 601.109,444.183 602.003,441.357 602.898,438.712 603.793,436.252 604.687,433.977 605.582,431.891 606.476,429.994 607.371,428.286 \n",
" 608.266,426.766 609.16,425.436 610.055,424.292 610.95,423.333 611.844,422.557 612.739,421.96 613.633,421.54 614.528,421.292 615.423,421.212 616.317,421.296 \n",
" 617.212,421.539 618.106,421.934 619.001,422.477 619.896,423.162 620.79,423.982 621.685,424.931 622.579,426.002 623.474,427.188 624.369,428.483 625.263,429.878 \n",
" 626.158,431.368 627.053,432.944 627.947,434.599 628.842,436.326 629.736,438.118 630.631,439.966 631.526,441.864 632.42,443.804 633.315,445.779 634.209,447.782 \n",
" 635.104,449.807 635.999,451.845 636.893,453.891 637.788,455.937 638.682,457.978 639.577,460.008 640.472,462.02 641.366,464.009 642.261,465.969 643.156,467.896 \n",
" 644.05,469.783 644.945,471.627 645.839,473.423 646.734,475.168 647.629,476.856 648.523,478.485 649.418,480.051 650.312,481.551 651.207,482.983 652.102,484.343 \n",
" 652.996,485.631 653.891,486.844 654.785,487.981 655.68,489.04 656.575,490.02 657.469,490.92 658.364,491.741 659.258,492.482 660.153,493.142 661.048,493.723 \n",
" 661.942,494.225 662.837,494.648 663.732,494.994 664.626,495.263 665.521,495.458 666.415,495.579 667.31,495.628 668.205,495.608 669.099,495.521 669.994,495.368 \n",
" 670.888,495.152 671.783,494.876 672.678,494.541 673.572,494.152 674.467,493.711 675.361,493.22 676.256,492.682 677.151,492.101 678.045,491.48 678.94,490.821 \n",
" 679.835,490.129 680.729,489.405 681.624,488.653 682.518,487.876 683.413,487.078 684.308,486.261 685.202,485.428 686.097,484.583 686.991,483.729 687.886,482.867 \n",
" 688.781,482.002 689.675,481.136 690.57,480.272 691.464,479.412 692.359,478.559 693.254,477.715 694.148,476.882 695.043,476.064 695.938,475.261 696.832,474.476 \n",
" 697.727,473.711 698.621,472.968 699.516,472.248 700.411,471.553 701.305,470.884 702.2,470.242 703.094,469.63 703.989,469.047 704.884,468.495 705.778,467.974 \n",
" 706.673,467.485 707.567,467.03 708.462,466.607 709.357,466.218 710.251,465.863 711.146,465.542 712.041,465.254 712.935,465 713.83,464.78 714.724,464.594 \n",
" 715.619,464.44 716.514,464.318 717.408,464.229 718.303,464.17 719.197,464.142 720.092,464.144 720.987,464.174 721.881,464.233 722.776,464.318 723.67,464.429 \n",
" 724.565,464.565 725.46,464.724 726.354,464.906 727.249,465.109 728.143,465.332 729.038,465.573 729.933,465.832 730.827,466.107 731.722,466.397 732.617,466.701 \n",
" 733.511,467.016 734.406,467.343 735.3,467.678 736.195,468.022 737.09,468.373 737.984,468.73 738.879,469.09 739.773,469.454 740.668,469.82 741.563,470.187 \n",
" 742.457,470.553 743.352,470.917 744.246,471.279 745.141,471.637 746.036,471.991 746.93,472.338 747.825,472.68 748.72,473.014 749.614,473.339 750.509,473.656 \n",
" 751.403,473.963 752.298,474.26 753.193,474.545 754.087,474.82 754.982,475.082 755.876,475.331 756.771,475.568 757.666,475.792 758.56,476.001 759.455,476.198 \n",
" 760.349,476.38 761.244,476.548 762.139,476.701 763.033,476.841 763.928,476.966 764.823,477.076 765.717,477.173 766.612,477.255 767.506,477.323 768.401,477.378 \n",
" 769.296,477.419 770.19,477.447 771.085,477.462 771.979,477.464 772.874,477.454 773.769,477.432 774.663,477.398 775.558,477.354 776.452,477.299 777.347,477.234 \n",
" 778.242,477.159 779.136,477.075 780.031,476.983 780.926,476.882 781.82,476.774 782.715,476.659 783.609,476.538 784.504,476.411 785.399,476.279 786.293,476.142 \n",
" 787.188,476 788.082,475.856 788.977,475.708 789.872,475.557 790.766,475.405 791.661,475.251 792.555,475.097 793.45,474.942 794.345,474.787 795.239,474.632 \n",
" 796.134,474.479 797.028,474.327 797.923,474.177 798.818,474.029 799.712,473.884 800.607,473.742 801.502,473.603 802.396,473.468 803.291,473.337 804.185,473.211 \n",
" 805.08,473.089 805.975,472.972 806.869,472.86 807.764,472.753 808.658,472.651 809.553,472.555 810.448,472.465 811.342,472.381 812.237,472.302 813.131,472.23 \n",
" 814.026,472.163 814.921,472.103 815.815,472.049 816.71,472.001 817.605,471.958 818.499,471.922 819.394,471.892 820.288,471.867 821.183,471.849 822.078,471.836 \n",
" 822.972,471.828 823.867,471.826 824.761,471.829 825.656,471.837 826.551,471.85 827.445,471.868 828.34,471.89 829.234,471.917 830.129,471.947 831.024,471.982 \n",
" 831.918,472.02 832.813,472.062 833.708,472.107 834.602,472.155 835.497,472.206 836.391,472.259 837.286,472.314 838.181,472.372 839.075,472.431 839.97,472.492 \n",
" 840.864,472.555 841.759,472.618 842.654,472.682 843.548,472.747 844.443,472.812 845.337,472.878 846.232,472.944 847.127,473.009 848.021,473.074 848.916,473.139 \n",
" 849.81,473.202 850.705,473.265 851.6,473.327 852.494,473.387 853.389,473.446 854.284,473.504 855.178,473.559 856.073,473.613 856.967,473.666 857.862,473.716 \n",
" 858.757,473.764 859.651,473.809 860.546,473.853 861.44,473.894 862.335,473.933 863.23,473.969 864.124,474.003 865.019,474.034 865.913,474.063 866.808,474.089 \n",
" 867.703,474.112 868.597,474.133 869.492,474.152 870.387,474.168 871.281,474.181 872.176,474.192 873.07,474.201 873.965,474.207 874.86,474.21 875.754,474.212 \n",
" 876.649,474.211 877.543,474.208 878.438,474.203 879.333,474.196 880.227,474.187 881.122,474.176 882.016,474.164 882.911,474.149 883.806,474.133 884.7,474.116 \n",
" 885.595,474.097 886.49,474.077 887.384,474.056 888.279,474.034 889.173,474.011 890.068,473.987 890.963,473.962 891.857,473.936 892.752,473.91 893.646,473.883 \n",
" 894.541,473.856 895.436,473.828 896.33,473.801 897.225,473.773 898.119,473.745 899.014,473.718 899.909,473.69 900.803,473.663 901.698,473.636 902.593,473.609 \n",
" 903.487,473.583 904.382,473.557 905.276,473.532 906.171,473.507 907.066,473.484 907.96,473.461 908.855,473.438 909.749,473.417 910.644,473.397 911.539,473.377 \n",
" 912.433,473.358 913.328,473.341 914.222,473.324 915.117,473.308 916.012,473.294 916.906,473.28 917.801,473.268 918.695,473.257 919.59,473.247 920.485,473.237 \n",
" 921.379,473.229 922.274,473.222 923.169,473.216 924.063,473.212 924.958,473.208 925.852,473.205 926.747,473.203 927.642,473.202 928.536,473.202 929.431,473.203 \n",
" 930.325,473.205 931.22,473.208 932.115,473.212 933.009,473.216 933.904,473.221 934.798,473.227 935.693,473.234 936.588,473.241 937.482,473.249 938.377,473.257 \n",
" 939.272,473.266 940.166,473.275 941.061,473.285 941.955,473.295 942.85,473.306 943.745,473.316 944.639,473.327 945.534,473.339 946.428,473.35 947.323,473.362 \n",
" 948.218,473.373 949.112,473.385 950.007,473.397 950.901,473.409 951.796,473.42 952.691,473.432 953.585,473.443 954.48,473.455 955.375,473.466 956.269,473.477 \n",
" 957.164,473.487 958.058,473.498 958.953,473.508 959.848,473.518 960.742,473.527 961.637,473.536 962.531,473.545 963.426,473.554 964.321,473.562 965.215,473.569 \n",
" 966.11,473.576 967.004,473.583 967.899,473.589 968.794,473.595 969.688,473.6 970.583,473.605 971.478,473.61 972.372,473.614 973.267,473.617 974.161,473.62 \n",
" 975.056,473.623 975.951,473.625 976.845,473.627 977.74,473.628 978.634,473.629 979.529,473.629 980.424,473.629 981.318,473.629 982.213,473.628 983.107,473.627 \n",
" 984.002,473.626 984.897,473.624 985.791,473.622 986.686,473.619 987.58,473.617 988.475,473.614 989.37,473.611 990.264,473.607 991.159,473.603 992.054,473.599 \n",
" 992.948,473.595 993.843,473.591 994.737,473.587 995.632,473.582 996.527,473.578 997.421,473.573 998.316,473.568 999.21,473.563 1000.11,473.558 1001,473.553 \n",
" 1001.89,473.548 1002.79,473.543 1003.68,473.538 1004.58,473.533 1005.47,473.529 1006.37,473.524 1007.26,473.519 1008.16,473.514 1009.05,473.51 1009.95,473.505 \n",
" 1010.84,473.501 1011.73,473.497 1012.63,473.493 1013.52,473.489 1014.42,473.485 1015.31,473.482 1016.21,473.478 1017.1,473.475 1018,473.472 1018.89,473.469 \n",
" 1019.79,473.466 1020.68,473.464 1021.58,473.461 1022.47,473.459 1023.36,473.457 1024.26,473.456 1025.15,473.454 1026.05,473.453 1026.94,473.452 1027.84,473.451 \n",
" 1028.73,473.45 1029.63,473.449 1030.52,473.449 1031.42,473.449 1032.31,473.449 1033.21,473.449 1034.1,473.449 1034.99,473.449 1035.89,473.45 1036.78,473.451 \n",
" 1037.68,473.452 1038.57,473.453 1039.47,473.454 1040.36,473.455 1041.26,473.456 1042.15,473.458 1043.05,473.459 1043.94,473.461 1044.84,473.463 1045.73,473.464 \n",
" 1046.62,473.466 1047.52,473.468 1048.41,473.47 1049.31,473.472 1050.2,473.474 1051.1,473.476 1051.99,473.478 1052.89,473.48 1053.78,473.483 1054.68,473.485 \n",
" 1055.57,473.487 1056.47,473.489 1057.36,473.491 1058.25,473.493 1059.15,473.495 1060.04,473.497 1060.94,473.499 1061.83,473.501 1062.73,473.503 1063.62,473.504 \n",
" 1064.52,473.506 1065.41,473.508 1066.31,473.509 1067.2,473.511 1068.1,473.512 1068.99,473.514 1069.88,473.515 1070.78,473.516 1071.67,473.517 1072.57,473.519 \n",
" 1073.46,473.52 1074.36,473.52 1075.25,473.521 1076.15,473.522 1077.04,473.523 1077.94,473.523 1078.83,473.524 1079.73,473.524 1080.62,473.525 1081.51,473.525 \n",
" 1082.41,473.525 1083.3,473.525 1084.2,473.525 1085.09,473.525 1085.99,473.525 1086.88,473.525 1087.78,473.525 1088.67,473.524 1089.57,473.524 1090.46,473.524 \n",
" 1091.36,473.523 1092.25,473.523 1093.14,473.522 1094.04,473.521 1094.93,473.521 1095.83,473.52 1096.72,473.519 1097.62,473.519 1098.51,473.518 1099.41,473.517 \n",
" 1100.3,473.516 1101.2,473.515 1102.09,473.515 1102.99,473.514 1103.88,473.513 1104.77,473.512 1105.67,473.511 1106.56,473.51 1107.46,473.509 1108.35,473.508 \n",
" 1109.25,473.508 1110.14,473.507 1111.04,473.506 1111.93,473.505 1112.83,473.504 1113.72,473.503 1114.62,473.503 1115.51,473.502 1116.4,473.501 1117.3,473.5 \n",
" 1118.19,473.5 1119.09,473.499 1119.98,473.498 1120.88,473.498 1121.77,473.497 1122.67,473.497 1123.56,473.496 1124.46,473.496 1125.35,473.495 1126.25,473.495 \n",
" 1127.14,473.495 1128.03,473.494 1128.93,473.494 1129.82,473.494 1130.72,473.493 1131.61,473.493 1132.51,473.493 1133.4,473.493 1134.3,473.493 1135.19,473.493 \n",
" 1136.09,473.493 1136.98,473.493 1137.88,473.493 1138.77,473.493 1139.66,473.493 1140.56,473.493 1141.45,473.493 1142.35,473.493 1143.24,473.494 1144.14,473.494 \n",
" 1145.03,473.494 1145.93,473.494 1146.82,473.495 1147.72,473.495 1148.61,473.495 1149.5,473.496 1150.4,473.496 1151.29,473.496 1152.19,473.497 1153.08,473.497 \n",
" 1153.98,473.497 1154.87,473.498 1155.77,473.498 1156.66,473.498 1157.56,473.499 1158.45,473.499 1159.35,473.499 1160.24,473.5 1161.13,473.5 1162.03,473.501 \n",
" 1162.92,473.501 1163.82,473.501 1164.71,473.502 1165.61,473.502 1166.5,473.502 1167.4,473.503 1168.29,473.503 1169.19,473.503 1170.08,473.504 1170.98,473.504 \n",
" 1171.87,473.504 1172.76,473.504 1173.66,473.505 1174.55,473.505 1175.45,473.505 1176.34,473.505 1177.24,473.505 1178.13,473.506 1179.03,473.506 1179.92,473.506 \n",
" 1180.82,473.506 1181.71,473.506 1182.61,473.506 1183.5,473.506 1184.39,473.506 1185.29,473.506 1186.18,473.506 1187.08,473.507 1187.97,473.507 1188.87,473.507 \n",
" 1189.76,473.507 1190.66,473.506 1191.55,473.506 1192.45,473.506 1193.34,473.506 1194.24,473.506 1195.13,473.506 1196.02,473.506 1196.92,473.506 1197.81,473.506 \n",
" 1198.71,473.506 1199.6,473.506 1200.5,473.506 1201.39,473.505 1202.29,473.505 1203.18,473.505 1204.08,473.505 1204.97,473.505 1205.87,473.505 1206.76,473.505 \n",
" 1207.65,473.504 1208.55,473.504 1209.44,473.504 1210.34,473.504 1211.23,473.504 1212.13,473.504 1213.02,473.503 1213.92,473.503 1214.81,473.503 1215.71,473.503 \n",
" 1216.6,473.503 1217.5,473.503 1218.39,473.503 1219.28,473.502 1220.18,473.502 1221.07,473.502 1221.97,473.502 1222.86,473.502 1223.76,473.502 1224.65,473.502 \n",
" 1225.55,473.502 1226.44,473.501 1227.34,473.501 1228.23,473.501 1229.13,473.501 1230.02,473.501 1230.91,473.501 1231.81,473.501 1232.7,473.501 1233.6,473.501 \n",
" 1234.49,473.501 1235.39,473.501 1236.28,473.501 1237.18,473.501 1238.07,473.501 1238.97,473.501 1239.86,473.501 1240.76,473.501 1241.65,473.501 1242.54,473.501 \n",
" 1243.44,473.501 1244.33,473.501 1245.23,473.501 1246.12,473.501 1247.02,473.501 1247.91,473.501 1248.81,473.501 1249.7,473.501 1250.6,473.501 1251.49,473.501 \n",
" 1252.39,473.501 1253.28,473.501 1254.17,473.501 1255.07,473.501 1255.96,473.501 1256.86,473.501 1257.75,473.502 1258.65,473.502 1259.54,473.502 1260.44,473.502 \n",
" 1261.33,473.502 1262.23,473.502 1263.12,473.502 1264.02,473.502 1264.91,473.502 1265.8,473.502 1266.7,473.502 1267.59,473.502 1268.49,473.502 1269.38,473.502 \n",
" 1270.28,473.502 1271.17,473.502 1272.07,473.503 1272.96,473.503 1273.86,473.503 1274.75,473.503 1275.65,473.503 1276.54,473.503 1277.43,473.503 1278.33,473.503 \n",
" 1279.22,473.503 1280.12,473.503 1281.01,473.503 1281.91,473.503 1282.8,473.503 1283.7,473.503 1284.59,473.503 1285.49,473.503 1286.38,473.503 1287.27,473.503 \n",
" 1288.17,473.503 1289.06,473.503 1289.96,473.503 1290.85,473.503 1291.75,473.503 1292.64,473.503 1293.54,473.503 1294.43,473.503 1295.33,473.503 1296.22,473.503 \n",
" 1297.12,473.503 1298.01,473.503 1298.9,473.503 1299.8,473.503 1300.69,473.503 1301.59,473.503 1302.48,473.503 1303.38,473.503 1304.27,473.503 1305.17,473.503 \n",
" 1306.06,473.503 1306.96,473.503 1307.85,473.503 1308.75,473.503 1309.64,473.503 1310.53,473.503 1311.43,473.503 1312.32,473.503 1313.22,473.503 1314.11,473.503 \n",
" 1315.01,473.503 1315.9,473.503 1316.8,473.503 1317.69,473.503 1318.59,473.503 1319.48,473.503 1320.38,473.503 1321.27,473.503 1322.16,473.503 1323.06,473.502 \n",
" 1323.95,473.502 1324.85,473.502 1325.74,473.502 1326.64,473.502 1327.53,473.502 1328.43,473.502 1329.32,473.502 1330.22,473.502 1331.11,473.502 1332.01,473.502 \n",
" 1332.9,473.502 1333.79,473.502 1334.69,473.502 1335.58,473.502 1336.48,473.502 1337.37,473.502 1338.27,473.502 1339.16,473.502 1340.06,473.502 1340.95,473.502 \n",
" 1341.85,473.502 1342.74,473.502 1343.64,473.502 1344.53,473.502 1345.42,473.502 1346.32,473.502 1347.21,473.502 1348.11,473.502 1349,473.502 1349.9,473.502 \n",
" 1350.79,473.502 1351.69,473.502 1352.58,473.502 1353.48,473.502 1354.37,473.502 1355.27,473.502 1356.16,473.502 1357.05,473.502 1357.95,473.502 1358.84,473.502 \n",
" 1359.74,473.502 1360.63,473.502 1361.53,473.502 1362.42,473.502 1363.32,473.502 1364.21,473.502 1365.11,473.502 1366,473.502 1366.9,473.502 1367.79,473.502 \n",
" 1368.68,473.502 1369.58,473.502 1370.47,473.502 1371.37,473.502 1372.26,473.502 1373.16,473.502 1374.05,473.502 1374.95,473.502 1375.84,473.503 1376.74,473.503 \n",
" 1377.63,473.503 1378.53,473.503 1379.42,473.503 1380.31,473.503 1381.21,473.503 1382.1,473.503 1383,473.503 1383.89,473.503 1384.79,473.503 1385.68,473.503 \n",
" 1386.58,473.503 1387.47,473.503 1388.37,473.503 1389.26,473.503 1390.16,473.503 1391.05,473.503 1391.94,473.503 1392.84,473.503 1393.73,473.503 1394.63,473.503 \n",
" 1395.52,473.503 1396.42,473.503 1397.31,473.503 1398.21,473.503 1399.1,473.503 1400,473.503 1400.89,473.503 1401.79,473.503 1402.68,473.503 1403.57,473.503 \n",
" 1404.47,473.503 1405.36,473.503 1406.26,473.503 1407.15,473.503 1408.05,473.503 1408.94,473.503 1409.84,473.503 1410.73,473.503 1411.63,473.503 1412.52,473.503 \n",
" 1413.42,473.503 1414.31,473.503 1415.2,473.503 1416.1,473.503 1416.99,473.503 1417.89,473.503 1418.78,473.503 1419.68,473.503 1420.57,473.503 1421.47,473.503 \n",
" 1422.36,473.503 1423.26,473.503 1424.15,473.503 1425.04,473.503 1425.94,473.503 1426.83,473.503 1427.73,473.503 1428.62,473.503 1429.52,473.503 1430.41,473.503 \n",
" 1431.31,473.502 1432.2,473.502 1433.1,473.502 1433.99,473.502 1434.89,473.502 1435.78,473.502 1436.67,473.502 1437.57,473.502 1438.46,473.502 1439.36,473.502 \n",
" 1440.25,473.502 1441.15,473.502 1442.04,473.502 1442.94,473.502 1443.83,473.502 1444.73,473.502 1445.62,473.502 1446.52,473.502 1447.41,473.502 1448.3,473.502 \n",
" 1449.2,473.502 1450.09,473.502 1450.99,473.502 1451.88,473.502 1452.78,473.502 1453.67,473.502 1454.57,473.502 1455.46,473.502 1456.36,473.502 1457.25,473.502 \n",
" 1458.15,473.502 1459.04,473.502 1459.93,473.502 1460.83,473.502 1461.72,473.502 1462.62,473.502 1463.51,473.502 1464.41,473.502 1465.3,473.502 1466.2,473.502 \n",
" 1467.09,473.502 1467.99,473.502 1468.88,473.503 1469.78,473.503 1470.67,473.503 1471.56,473.503 1472.46,473.503 1473.35,473.503 1474.25,473.503 1475.14,473.503 \n",
" 1476.04,473.503 1476.93,473.503 1477.83,473.503 1478.72,473.503 1479.62,473.503 1480.51,473.503 1481.41,473.503 1482.3,473.503 1483.19,473.503 1484.09,473.503 \n",
" 1484.98,473.503 1485.88,473.503 1486.77,473.503 1487.67,473.503 1488.56,473.503 1489.46,473.503 1490.35,473.503 1491.25,473.503 1492.14,473.503 1493.04,473.503 \n",
" 1493.93,473.503 1494.82,473.503 1495.72,473.503 1496.61,473.503 1497.51,473.503 1498.4,473.503 1499.3,473.503 1500.19,473.503 1501.09,473.503 1501.98,473.503 \n",
" 1502.88,473.503 1503.77,473.503 1504.67,473.503 1505.56,473.503 1506.45,473.503 1507.35,473.503 1508.24,473.503 1509.14,473.503 1510.03,473.503 1510.93,473.503 \n",
" 1511.82,473.503 1512.72,473.503 1513.61,473.503 1514.51,473.503 1515.4,473.503 1516.3,473.503 1517.19,473.503 1518.08,473.503 1518.98,473.503 1519.87,473.503 \n",
" 1520.77,473.503 1521.66,473.503 1522.56,473.503 1523.45,473.503 1524.35,473.503 1525.24,473.503 1526.14,473.503 1527.03,473.503 1527.93,473.503 1528.82,473.503 \n",
" 1529.71,473.503 1530.61,473.503 1531.5,473.503 1532.4,473.503 1533.29,473.503 1534.19,473.503 1535.08,473.503 1535.98,473.503 1536.87,473.503 1537.77,473.503 \n",
" 1538.66,473.503 1539.56,473.503 1540.45,473.503 1541.34,473.503 1542.24,473.503 1543.13,473.503 1544.03,473.503 1544.92,473.503 1545.82,473.503 1546.71,473.503 \n",
" 1547.61,473.503 1548.5,473.503 1549.4,473.503 1550.29,473.503 1551.19,473.503 1552.08,473.503 1552.97,473.503 1553.87,473.503 1554.76,473.503 1555.66,473.503 \n",
" 1556.55,473.503 1557.45,473.503 1558.34,473.503 1559.24,473.503 1560.13,473.503 1561.03,473.503 1561.92,473.503 1562.81,473.503 1563.71,473.503 1564.6,473.503 \n",
" 1565.5,473.503 1566.39,473.503 1567.29,473.503 1568.18,473.503 1569.08,473.503 1569.97,473.503 1570.87,473.503 1571.76,473.503 1572.66,473.503 1573.55,473.503 \n",
" 1574.44,473.503 1575.34,473.503 1576.23,473.503 1577.13,473.503 1578.02,473.503 1578.92,473.503 1579.81,473.503 1580.71,473.503 1581.6,473.503 1582.5,473.503 \n",
" 1583.39,473.503 1584.29,473.503 1585.18,473.503 1586.07,473.503 1586.97,473.503 1587.86,473.503 1588.76,473.503 1589.65,473.503 1590.55,473.503 1591.44,473.503 \n",
" 1592.34,473.503 1593.23,473.503 1594.13,473.503 1595.02,473.503 1595.92,473.503 1596.81,473.503 1597.7,473.503 1598.6,473.503 1599.49,473.503 1600.39,473.503 \n",
" 1601.28,473.503 1602.18,473.503 1603.07,473.503 1603.97,473.503 1604.86,473.503 1605.76,473.503 1606.65,473.503 1607.55,473.503 1608.44,473.503 1609.33,473.503 \n",
" 1610.23,473.503 1611.12,473.503 1612.02,473.503 1612.91,473.503 1613.81,473.503 1614.7,473.503 1615.6,473.503 1616.49,473.503 1617.39,473.503 1618.28,473.503 \n",
" 1619.18,473.503 1620.07,473.503 1620.96,473.503 1621.86,473.503 1622.75,473.503 1623.65,473.503 1624.54,473.503 1625.44,473.503 1626.33,473.503 1627.23,473.503 \n",
" 1628.12,473.503 1629.02,473.503 1629.91,473.503 1630.81,473.503 1631.7,473.503 1632.59,473.503 1633.49,473.503 1634.38,473.503 1635.28,473.503 1636.17,473.503 \n",
" 1637.07,473.503 1637.96,473.503 1638.86,473.503 1639.75,473.503 1640.65,473.503 1641.54,473.503 1642.44,473.503 1643.33,473.503 1644.22,473.503 1645.12,473.503 \n",
" 1646.01,473.503 1646.91,473.503 1647.8,473.503 1648.7,473.503 1649.59,473.503 1650.49,473.503 1651.38,473.503 1652.28,473.503 1653.17,473.503 1654.07,473.503 \n",
" 1654.96,473.503 1655.85,473.503 1656.75,473.503 1657.64,473.503 1658.54,473.503 1659.43,473.503 1660.33,473.503 1661.22,473.503 1662.12,473.503 1663.01,473.503 \n",
" 1663.91,473.503 1664.8,473.503 1665.7,473.503 1666.59,473.503 1667.48,473.503 1668.38,473.503 1669.27,473.503 1670.17,473.503 1671.06,473.503 1671.96,473.503 \n",
" 1672.85,473.503 1673.75,473.503 1674.64,473.503 1675.54,473.503 1676.43,473.503 1677.33,473.503 1678.22,473.503 1679.11,473.503 1680.01,473.503 1680.9,473.503 \n",
" 1681.8,473.503 1682.69,473.503 1683.59,473.503 1684.48,473.503 1685.38,473.503 1686.27,473.503 1687.17,473.503 1688.06,473.503 1688.96,473.503 1689.85,473.503 \n",
" 1690.74,473.503 1691.64,473.503 1692.53,473.503 1693.43,473.503 1694.32,473.503 1695.22,473.503 1696.11,473.503 1697.01,473.503 1697.9,473.503 1698.8,473.503 \n",
" 1699.69,473.503 1700.58,473.503 1701.48,473.503 1702.37,473.503 1703.27,473.503 1704.16,473.503 1705.06,473.503 1705.95,473.503 1706.85,473.503 1707.74,473.503 \n",
" 1708.64,473.503 1709.53,473.503 1710.43,473.503 1711.32,473.503 1712.21,473.503 1713.11,473.503 1714,473.503 1714.9,473.503 1715.79,473.503 1716.69,473.503 \n",
" 1717.58,473.503 1718.48,473.503 1719.37,473.503 1720.27,473.503 1721.16,473.503 1722.06,473.503 1722.95,473.503 1723.84,473.503 1724.74,473.503 1725.63,473.503 \n",
" 1726.53,473.503 1727.42,473.503 1728.32,473.503 1729.21,473.503 1730.11,473.503 1731,473.503 1731.9,473.503 1732.79,473.503 1733.69,473.503 1734.58,473.503 \n",
" 1735.47,473.503 1736.37,473.503 1737.26,473.503 1738.16,473.503 1739.05,473.503 1739.95,473.503 1740.84,473.503 1741.74,473.503 1742.63,473.503 1743.53,473.503 \n",
" 1744.42,473.503 1745.32,473.503 1746.21,473.503 1747.1,473.503 1748,473.503 1748.89,473.503 1749.79,473.503 1750.68,473.503 1751.58,473.503 1752.47,473.503 \n",
" 1753.37,473.503 1754.26,473.503 1755.16,473.503 1756.05,473.503 1756.95,473.503 1757.84,473.503 1758.73,473.503 1759.63,473.503 1760.52,473.503 1761.42,473.503 \n",
" 1762.31,473.503 1763.21,473.503 1764.1,473.503 1765,473.503 1765.89,473.503 1766.79,473.503 1767.68,473.503 1768.58,473.503 1769.47,473.503 1770.36,473.503 \n",
" 1771.26,473.503 1772.15,473.503 1773.05,473.503 1773.94,473.503 1774.84,473.503 1775.73,473.503 1776.63,473.503 1777.52,473.503 1778.42,473.503 1779.31,473.503 \n",
" 1780.21,473.503 1781.1,473.503 1781.99,473.503 1782.89,473.503 1783.78,473.503 1784.68,473.503 1785.57,473.503 1786.47,473.503 1787.36,473.503 1788.26,473.503 \n",
" 1789.15,473.503 1790.05,473.503 1790.94,473.503 1791.84,473.503 1792.73,473.503 1793.62,473.503 1794.52,473.503 1795.41,473.503 1796.31,473.503 1797.2,473.503 \n",
" 1798.1,473.503 1798.99,473.503 1799.89,473.503 1800.78,473.503 1801.68,473.503 1802.57,473.503 1803.47,473.503 1804.36,473.503 1805.25,473.503 1806.15,473.503 \n",
" 1807.04,473.503 1807.94,473.503 1808.83,473.503 1809.73,473.503 1810.62,473.503 1811.52,473.503 1812.41,473.503 1813.31,473.503 1814.2,473.503 1815.1,473.503 \n",
" 1815.99,473.503 1816.88,473.503 1817.78,473.503 1818.67,473.503 1819.57,473.503 1820.46,473.503 1821.36,473.503 1822.25,473.503 1823.15,473.503 1824.04,473.503 \n",
" 1824.94,473.503 1825.83,473.503 1826.73,473.503 1827.62,473.503 1828.51,473.503 1829.41,473.503 1830.3,473.503 1831.2,473.503 1832.09,473.503 1832.99,473.503 \n",
" 1833.88,473.503 1834.78,473.503 1835.67,473.503 1836.57,473.503 1837.46,473.503 1838.35,473.503 1839.25,473.503 1840.14,473.503 1841.04,473.503 1841.93,473.503 \n",
" 1842.83,473.503 1843.72,473.503 1844.62,473.503 1845.51,473.503 1846.41,473.503 1847.3,473.503 1848.2,473.503 1849.09,473.503 1849.98,473.503 1850.88,473.503 \n",
" 1851.77,473.503 1852.67,473.503 1853.56,473.503 1854.46,473.503 1855.35,473.503 1856.25,473.503 1857.14,473.503 1858.04,473.503 1858.93,473.503 1859.83,473.503 \n",
" 1860.72,473.503 1861.61,473.503 1862.51,473.503 1863.4,473.503 1864.3,473.503 1865.19,473.503 1866.09,473.503 1866.98,473.503 1867.88,473.503 1868.77,473.503 \n",
" 1869.67,473.503 1870.56,473.503 1871.46,473.503 1872.35,473.503 1873.24,473.503 1874.14,473.503 1875.03,473.503 1875.93,473.503 1876.82,473.503 1877.72,473.503 \n",
" 1878.61,473.503 1879.51,473.503 1880.4,473.503 1881.3,473.503 1882.19,473.503 1883.09,473.503 1883.98,473.503 1884.87,473.503 1885.77,473.503 1886.66,473.503 \n",
" 1887.56,473.503 1888.45,473.503 1889.35,473.503 1890.24,473.503 1891.14,473.503 1892.03,473.503 1892.93,473.503 1893.82,473.503 1894.72,473.503 1895.61,473.503 \n",
" 1896.5,473.503 1897.4,473.503 1898.29,473.503 1899.19,473.503 1900.08,473.503 1900.98,473.503 1901.87,473.503 1902.77,473.503 1903.66,473.503 1904.56,473.503 \n",
" 1905.45,473.503 1906.35,473.503 1907.24,473.503 1908.13,473.503 1909.03,473.503 1909.92,473.503 1910.82,473.503 1911.71,473.503 1912.61,473.503 1913.5,473.503 \n",
" 1914.4,473.503 1915.29,473.503 1916.19,473.503 1917.08,473.503 1917.98,473.503 1918.87,473.503 1919.76,473.503 1920.66,473.503 1921.55,473.503 1922.45,473.503 \n",
" 1923.34,473.503 1924.24,473.503 1925.13,473.503 1926.03,473.503 1926.92,473.503 1927.82,473.503 1928.71,473.503 1929.61,473.503 1930.5,473.503 1931.39,473.503 \n",
" 1932.29,473.503 1933.18,473.503 1934.08,473.503 1934.97,473.503 1935.87,473.503 1936.76,473.503 1937.66,473.503 1938.55,473.503 1939.45,473.503 1940.34,473.503 \n",
" 1941.24,473.503 1942.13,473.503 1943.02,473.503 1943.92,473.503 1944.81,473.503 1945.71,473.503 1946.6,473.503 1947.5,473.503 1948.39,473.503 1949.29,473.503 \n",
" 1950.18,473.503 1951.08,473.503 1951.97,473.503 1952.87,473.503 1953.76,473.503 1954.65,473.503 1955.55,473.503 1956.44,473.503 1957.34,473.503 1958.23,473.503 \n",
" 1959.13,473.503 1960.02,473.503 1960.92,473.503 1961.81,473.503 1962.71,473.503 1963.6,473.503 1964.5,473.503 1965.39,473.503 1966.28,473.503 1967.18,473.503 \n",
" 1968.07,473.503 1968.97,473.503 1969.86,473.503 1970.76,473.503 1971.65,473.503 1972.55,473.503 1973.44,473.503 1974.34,473.503 1975.23,473.503 1976.12,473.503 \n",
" 1977.02,473.503 1977.91,473.503 1978.81,473.503 1979.7,473.503 1980.6,473.503 1981.49,473.503 1982.39,473.503 1983.28,473.503 1984.18,473.503 1985.07,473.503 \n",
" 1985.97,473.503 1986.86,473.503 1987.75,473.503 1988.65,473.503 1989.54,473.503 1990.44,473.503 1991.33,473.503 1992.23,473.503 1993.12,473.503 1994.02,473.503 \n",
" 1994.91,473.503 1995.81,473.503 1996.7,473.503 1997.6,473.503 1998.49,473.503 1999.38,473.503 2000.28,473.503 2001.17,473.503 2002.07,473.503 2002.96,473.503 \n",
" 2003.86,473.503 2004.75,473.503 2005.65,473.503 2006.54,473.503 2007.44,473.503 2008.33,473.503 2009.23,473.503 2010.12,473.503 2011.01,473.503 2011.91,473.503 \n",
" 2012.8,473.503 2013.7,473.503 2014.59,473.503 2015.49,473.503 2016.38,473.503 2017.28,473.503 2018.17,473.503 2019.07,473.503 2019.96,473.503 2020.86,473.503 \n",
" 2021.75,473.503 2022.64,473.503 2023.54,473.503 2024.43,473.503 2025.33,473.503 2026.22,473.503 2027.12,473.503 2028.01,473.503 2028.91,473.503 2029.8,473.503 \n",
" 2030.7,473.503 2031.59,473.503 2032.49,473.503 2033.38,473.503 2034.27,473.503 2035.17,473.503 2036.06,473.503 2036.96,473.503 2037.85,473.503 2038.75,473.503 \n",
" 2039.64,473.503 2040.54,473.503 2041.43,473.503 2042.33,473.503 2043.22,473.503 2044.12,473.503 2045.01,473.503 2045.9,473.503 2046.8,473.503 2047.69,473.503 \n",
" 2048.59,473.503 2049.48,473.503 2050.38,473.503 2051.27,473.503 2052.17,473.503 2053.06,473.503 2053.96,473.503 2054.85,473.503 2055.75,473.503 2056.64,473.503 \n",
" 2057.53,473.503 2058.43,473.503 2059.32,473.503 2060.22,473.503 2061.11,473.503 2062.01,473.503 2062.9,473.503 2063.8,473.503 2064.69,473.503 2065.59,473.503 \n",
" 2066.48,473.503 2067.38,473.503 2068.27,473.503 2069.16,473.503 2070.06,473.503 2070.95,473.503 2071.85,473.503 2072.74,473.503 2073.64,473.503 2074.53,473.503 \n",
" 2075.43,473.503 2076.32,473.503 2077.22,473.503 2078.11,473.503 2079.01,473.503 2079.9,473.503 2080.79,473.503 2081.69,473.503 2082.58,473.503 2083.48,473.503 \n",
" 2084.37,473.503 2085.27,473.503 2086.16,473.503 2087.06,473.503 2087.95,473.503 2088.85,473.503 2089.74,473.503 2090.64,473.503 2091.53,473.503 2092.42,473.503 \n",
" 2093.32,473.503 2094.21,473.503 2095.11,473.503 2096,473.503 2096.9,473.503 2097.79,473.503 2098.69,473.503 2099.58,473.503 2100.48,473.503 2101.37,473.503 \n",
" 2102.27,473.503 2103.16,473.503 2104.05,473.503 2104.95,473.503 2105.84,473.503 2106.74,473.503 2107.63,473.503 2108.53,473.503 2109.42,473.503 2110.32,473.503 \n",
" 2111.21,473.503 2112.11,473.503 2113,473.503 2113.89,473.503 2114.79,473.503 2115.68,473.503 2116.58,473.503 2117.47,473.503 2118.37,473.503 2119.26,473.503 \n",
" 2120.16,473.503 2121.05,473.503 2121.95,473.503 2122.84,473.503 2123.74,473.503 2124.63,473.503 2125.52,473.503 2126.42,473.503 2127.31,473.503 2128.21,473.503 \n",
" 2129.1,473.503 2130,473.503 2130.89,473.503 2131.79,473.503 2132.68,473.503 2133.58,473.503 2134.47,473.503 2135.37,473.503 2136.26,473.503 2137.15,473.503 \n",
" 2138.05,473.503 2138.94,473.503 2139.84,473.503 2140.73,473.503 2141.63,473.503 2142.52,473.503 2143.42,473.503 2144.31,473.503 2145.21,473.503 2146.1,473.503 \n",
" 2147,473.503 2147.89,473.503 2148.78,473.503 2149.68,473.503 2150.57,473.503 2151.47,473.503 2152.36,473.503 2153.26,473.503 2154.15,473.503 2155.05,473.503 \n",
" 2155.94,473.503 2156.84,473.503 2157.73,473.503 2158.63,473.503 2159.52,473.503 2160.41,473.503 2161.31,473.503 2162.2,473.503 2163.1,473.503 2163.99,473.503 \n",
" 2164.89,473.503 2165.78,473.503 2166.68,473.503 2167.57,473.503 2168.47,473.503 2169.36,473.503 2170.26,473.503 2171.15,473.503 2172.04,473.503 2172.94,473.503 \n",
" 2173.83,473.503 2174.73,473.503 2175.62,473.503 2176.52,473.503 2177.41,473.503 2178.31,473.503 2179.2,473.503 2180.1,473.503 2180.99,473.503 2181.89,473.503 \n",
" 2182.78,473.503 2183.67,473.503 2184.57,473.503 2185.46,473.503 2186.36,473.503 2187.25,473.503 2188.15,473.503 2189.04,473.503 2189.94,473.503 2190.83,473.503 \n",
" 2191.73,473.503 2192.62,473.503 2193.52,473.503 2194.41,473.503 2195.3,473.503 2196.2,473.503 2197.09,473.503 2197.99,473.503 2198.88,473.503 2199.78,473.503 \n",
" 2200.67,473.503 2201.57,473.503 2202.46,473.503 2203.36,473.503 2204.25,473.503 2205.15,473.503 2206.04,473.503 2206.93,473.503 2207.83,473.503 2208.72,473.503 \n",
" 2209.62,473.503 2210.51,473.503 2211.41,473.503 2212.3,473.503 2213.2,473.503 2214.09,473.503 2214.99,473.503 2215.88,473.503 2216.78,473.503 2217.67,473.503 \n",
" 2218.56,473.503 2219.46,473.503 2220.35,473.503 2221.25,473.503 2222.14,473.503 2223.04,473.503 2223.93,473.503 2224.83,473.503 2225.72,473.503 2226.62,473.503 \n",
" 2227.51,473.503 2228.41,473.503 2229.3,473.503 2230.19,473.503 2231.09,473.503 2231.98,473.503 2232.88,473.503 2233.77,473.503 2234.67,473.503 2235.56,473.503 \n",
" 2236.46,473.503 2237.35,473.503 2238.25,473.503 2239.14,473.503 2240.04,473.503 2240.93,473.503 2241.82,473.503 2242.72,473.503 2243.61,473.503 2244.51,473.503 \n",
" 2245.4,473.503 2246.3,473.503 2247.19,473.503 2248.09,473.503 2248.98,473.503 2249.88,473.503 2250.77,473.503 2251.66,473.503 2252.56,473.503 2253.45,473.503 \n",
" 2254.35,473.503 2255.24,473.503 2256.14,473.503 2257.03,473.503 2257.93,473.503 2258.82,473.503 2259.72,473.503 2260.61,473.503 2261.51,473.503 2262.4,473.503 \n",
" 2263.29,473.503 2264.19,473.503 2265.08,473.503 2265.98,473.503 2266.87,473.503 2267.77,473.503 2268.66,473.503 2269.56,473.503 2270.45,473.503 2271.35,473.503 \n",
" 2272.24,473.503 2273.14,473.503 2274.03,473.503 2274.92,473.503 2275.82,473.503 2276.71,473.503 2277.61,473.503 2278.5,473.503 2279.4,473.503 2280.29,473.503 \n",
" 2281.19,473.503 2282.08,473.503 2282.98,473.503 2283.87,473.503 2284.77,473.503 2285.66,473.503 2286.55,473.503 2287.45,473.503 2288.34,473.503 2289.24,473.503 \n",
" 2290.13,473.503 2291.03,473.503 2291.92,473.503 2292.82,473.503 2293.71,473.503 2294.61,473.503 2295.5,473.503 2296.4,473.503 2297.29,473.503 2298.18,473.503 \n",
" 2299.08,473.503 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#3da44d; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 509.859,158.579 510.753,159.641 511.648,161.584 512.542,164.321 513.437,167.786 514.332,171.926 515.226,176.695 516.121,182.053 517.015,187.966 517.91,194.405 \n",
" 518.805,201.344 519.699,208.761 520.594,216.639 521.488,224.96 522.383,233.71 523.278,242.873 524.172,252.436 525.067,262.385 525.962,272.705 526.856,283.38 \n",
" 527.751,294.395 528.645,305.733 529.54,317.376 530.435,329.303 531.329,341.496 532.224,353.933 533.118,366.592 534.013,379.45 534.908,392.484 535.802,405.671 \n",
" 536.697,418.985 537.591,432.404 538.486,445.901 539.381,459.454 540.275,473.037 541.17,486.627 542.065,500.201 542.959,513.735 543.854,527.207 544.748,540.596 \n",
" 545.643,553.88 546.538,567.039 547.432,580.055 548.327,592.907 549.221,605.58 550.116,618.055 551.011,630.318 551.905,642.352 552.8,654.145 553.694,665.683 \n",
" 554.589,676.953 555.484,687.943 556.378,698.644 557.273,709.045 558.168,719.137 559.062,728.912 559.957,738.361 560.851,747.477 561.746,756.254 562.641,764.687 \n",
" 563.535,772.769 564.43,780.496 565.324,787.864 566.219,794.869 567.114,801.508 568.008,807.778 568.903,813.676 569.797,819.201 570.692,824.352 571.587,829.127 \n",
" 572.481,833.526 573.376,837.549 574.271,841.195 575.165,844.466 576.06,847.363 576.954,849.886 577.849,852.038 578.744,853.821 579.638,855.237 580.533,856.29 \n",
" 581.427,856.982 582.322,857.319 583.217,857.302 584.111,856.938 585.006,856.232 585.9,855.187 586.795,853.811 587.69,852.109 588.584,850.088 589.479,847.755 \n",
" 590.373,845.116 591.268,842.179 592.163,838.954 593.057,835.446 593.952,831.666 594.847,827.622 595.741,823.324 596.636,818.78 597.53,814.002 598.425,808.998 \n",
" 599.32,803.78 600.214,798.357 601.109,792.742 602.003,786.944 602.898,780.976 603.793,774.848 604.687,768.572 605.582,762.159 606.476,755.622 607.371,748.973 \n",
" 608.266,742.222 609.16,735.383 610.055,728.466 610.95,721.485 611.844,714.451 612.739,707.375 613.633,700.27 614.528,693.148 615.423,686.019 616.317,678.896 \n",
" 617.212,671.79 618.106,664.712 619.001,657.672 619.896,650.683 620.79,643.754 621.685,636.895 622.579,630.117 623.474,623.43 624.369,616.842 625.263,610.364 \n",
" 626.158,604.004 627.053,597.77 627.947,591.672 628.842,585.716 629.736,579.911 630.631,574.264 631.526,568.781 632.42,563.469 633.315,558.334 634.209,553.382 \n",
" 635.104,548.618 635.999,544.047 636.893,539.673 637.788,535.501 638.682,531.535 639.577,527.777 640.472,524.231 641.366,520.9 642.261,517.785 643.156,514.888 \n",
" 644.05,512.211 644.945,509.754 645.839,507.519 646.734,505.505 647.629,503.713 648.523,502.141 649.418,500.79 650.312,499.658 651.207,498.744 652.102,498.045 \n",
" 652.996,497.56 653.891,497.286 654.785,497.221 655.68,497.36 656.575,497.702 657.469,498.243 658.364,498.978 659.258,499.903 660.153,501.015 661.048,502.308 \n",
" 661.942,503.778 662.837,505.419 663.732,507.227 664.626,509.197 665.521,511.322 666.415,513.597 667.31,516.016 668.205,518.572 669.099,521.261 669.994,524.076 \n",
" 670.888,527.01 671.783,530.056 672.678,533.21 673.572,536.463 674.467,539.809 675.361,543.241 676.256,546.754 677.151,550.339 678.045,553.991 678.94,557.702 \n",
" 679.835,561.466 680.729,565.276 681.624,569.126 682.518,573.008 683.413,576.916 684.308,580.844 685.202,584.785 686.097,588.733 686.991,592.681 687.886,596.624 \n",
" 688.781,600.554 689.675,604.467 690.57,608.355 691.464,612.214 692.359,616.038 693.254,619.822 694.148,623.559 695.043,627.245 695.938,630.874 696.832,634.443 \n",
" 697.727,637.945 698.621,641.377 699.516,644.735 700.411,648.013 701.305,651.209 702.2,654.318 703.094,657.337 703.989,660.261 704.884,663.089 705.778,665.817 \n",
" 706.673,668.442 707.567,670.962 708.462,673.374 709.357,675.676 710.251,677.866 711.146,679.942 712.041,681.903 712.935,683.747 713.83,685.473 714.724,687.08 \n",
" 715.619,688.567 716.514,689.934 717.408,691.181 718.303,692.306 719.197,693.311 720.092,694.195 720.987,694.958 721.881,695.602 722.776,696.127 723.67,696.534 \n",
" 724.565,696.824 725.46,696.998 726.354,697.058 727.249,697.005 728.143,696.842 729.038,696.569 729.933,696.189 730.827,695.705 731.722,695.117 732.617,694.43 \n",
" 733.511,693.645 734.406,692.766 735.3,691.794 736.195,690.733 737.09,689.585 737.984,688.355 738.879,687.045 739.773,685.657 740.668,684.197 741.563,682.666 \n",
" 742.457,681.069 743.352,679.408 744.246,677.688 745.141,675.912 746.036,674.084 746.93,672.207 747.825,670.285 748.72,668.322 749.614,666.321 750.509,664.286 \n",
" 751.403,662.221 752.298,660.129 753.193,658.015 754.087,655.882 754.982,653.733 755.876,651.572 756.771,649.403 757.666,647.229 758.56,645.054 759.455,642.881 \n",
" 760.349,640.713 761.244,638.555 762.139,636.409 763.033,634.278 763.928,632.166 764.823,630.075 765.717,628.009 766.612,625.971 767.506,623.963 768.401,621.988 \n",
" 769.296,620.048 770.19,618.147 771.085,616.286 771.979,614.469 772.874,612.696 773.769,610.971 774.663,609.295 775.558,607.671 776.452,606.099 777.347,604.583 \n",
" 778.242,603.122 779.136,601.72 780.031,600.377 780.926,599.094 781.82,597.872 782.715,596.714 783.609,595.619 784.504,594.588 785.399,593.622 786.293,592.721 \n",
" 787.188,591.887 788.082,591.119 788.977,590.417 789.872,589.782 790.766,589.214 791.661,588.713 792.555,588.277 793.45,587.908 794.345,587.605 795.239,587.367 \n",
" 796.134,587.194 797.028,587.084 797.923,587.038 798.818,587.054 799.712,587.132 800.607,587.27 801.502,587.467 802.396,587.722 803.291,588.034 804.185,588.402 \n",
" 805.08,588.823 805.975,589.298 806.869,589.823 807.764,590.398 808.658,591.021 809.553,591.69 810.448,592.403 811.342,593.159 812.237,593.956 813.131,594.792 \n",
" 814.026,595.665 814.921,596.573 815.815,597.515 816.71,598.488 817.605,599.49 818.499,600.519 819.394,601.573 820.288,602.651 821.183,603.749 822.078,604.867 \n",
" 822.972,606.002 823.867,607.152 824.761,608.315 825.656,609.489 826.551,610.671 827.445,611.861 828.34,613.056 829.234,614.253 830.129,615.452 831.024,616.65 \n",
" 831.918,617.845 832.813,619.036 833.708,620.22 834.602,621.396 835.497,622.562 836.391,623.717 837.286,624.858 838.181,625.985 839.075,627.095 839.97,628.187 \n",
" 840.864,629.26 841.759,630.313 842.654,631.343 843.548,632.349 844.443,633.331 845.337,634.287 846.232,635.217 847.127,636.118 848.021,636.99 848.916,637.832 \n",
" 849.81,638.643 850.705,639.423 851.6,640.17 852.494,640.884 853.389,641.564 854.284,642.21 855.178,642.821 856.073,643.396 856.967,643.936 857.862,644.44 \n",
" 858.757,644.908 859.651,645.339 860.546,645.733 861.44,646.091 862.335,646.411 863.23,646.696 864.124,646.943 865.019,647.154 865.913,647.329 866.808,647.468 \n",
" 867.703,647.571 868.597,647.638 869.492,647.671 870.387,647.669 871.281,647.634 872.176,647.565 873.07,647.463 873.965,647.329 874.86,647.164 875.754,646.968 \n",
" 876.649,646.741 877.543,646.486 878.438,646.203 879.333,645.892 880.227,645.554 881.122,645.191 882.016,644.802 882.911,644.391 883.806,643.956 884.7,643.5 \n",
" 885.595,643.023 886.49,642.527 887.384,642.012 888.279,641.479 889.173,640.93 890.068,640.366 890.963,639.788 891.857,639.197 892.752,638.594 893.646,637.98 \n",
" 894.541,637.357 895.436,636.725 896.33,636.085 897.225,635.439 898.119,634.789 899.014,634.134 899.909,633.476 900.803,632.816 901.698,632.156 902.593,631.495 \n",
" 903.487,630.836 904.382,630.18 905.276,629.526 906.171,628.877 907.066,628.233 907.96,627.595 908.855,626.965 909.749,626.342 910.644,625.728 911.539,625.124 \n",
" 912.433,624.531 913.328,623.948 914.222,623.378 915.117,622.82 916.012,622.276 916.906,621.746 917.801,621.231 918.695,620.731 919.59,620.247 920.485,619.779 \n",
" 921.379,619.329 922.274,618.895 923.169,618.48 924.063,618.082 924.958,617.704 925.852,617.344 926.747,617.003 927.642,616.682 928.536,616.38 929.431,616.098 \n",
" 930.325,615.836 931.22,615.595 932.115,615.373 933.009,615.172 933.904,614.99 934.798,614.83 935.693,614.689 936.588,614.568 937.482,614.468 938.377,614.387 \n",
" 939.272,614.326 940.166,614.285 941.061,614.263 941.955,614.26 942.85,614.275 943.745,614.31 944.639,614.362 945.534,614.432 946.428,614.52 947.323,614.624 \n",
" 948.218,614.745 949.112,614.883 950.007,615.036 950.901,615.204 951.796,615.387 952.691,615.584 953.585,615.795 954.48,616.019 955.375,616.256 956.269,616.505 \n",
" 957.164,616.766 958.058,617.037 958.953,617.319 959.848,617.61 960.742,617.911 961.637,618.22 962.531,618.537 963.426,618.861 964.321,619.192 965.215,619.529 \n",
" 966.11,619.872 967.004,620.219 967.899,620.571 968.794,620.926 969.688,621.284 970.583,621.644 971.478,622.007 972.372,622.37 973.267,622.734 974.161,623.098 \n",
" 975.056,623.461 975.951,623.824 976.845,624.184 977.74,624.542 978.634,624.898 979.529,625.25 980.424,625.598 981.318,625.943 982.213,626.282 983.107,626.616 \n",
" 984.002,626.944 984.897,627.267 985.791,627.582 986.686,627.891 987.58,628.193 988.475,628.486 989.37,628.772 990.264,629.049 991.159,629.318 992.054,629.578 \n",
" 992.948,629.828 993.843,630.069 994.737,630.3 995.632,630.521 996.527,630.732 997.421,630.932 998.316,631.122 999.21,631.302 1000.11,631.47 1001,631.628 \n",
" 1001.89,631.775 1002.79,631.91 1003.68,632.035 1004.58,632.148 1005.47,632.25 1006.37,632.341 1007.26,632.421 1008.16,632.49 1009.05,632.547 1009.95,632.594 \n",
" 1010.84,632.63 1011.73,632.655 1012.63,632.67 1013.52,632.673 1014.42,632.667 1015.31,632.65 1016.21,632.624 1017.1,632.587 1018,632.541 1018.89,632.485 \n",
" 1019.79,632.42 1020.68,632.346 1021.58,632.264 1022.47,632.173 1023.36,632.074 1024.26,631.967 1025.15,631.852 1026.05,631.73 1026.94,631.601 1027.84,631.465 \n",
" 1028.73,631.323 1029.63,631.175 1030.52,631.021 1031.42,630.861 1032.31,630.696 1033.21,630.527 1034.1,630.353 1034.99,630.175 1035.89,629.994 1036.78,629.809 \n",
" 1037.68,629.62 1038.57,629.43 1039.47,629.236 1040.36,629.041 1041.26,628.844 1042.15,628.646 1043.05,628.446 1043.94,628.246 1044.84,628.045 1045.73,627.845 \n",
" 1046.62,627.644 1047.52,627.445 1048.41,627.246 1049.31,627.048 1050.2,626.852 1051.1,626.657 1051.99,626.465 1052.89,626.275 1053.78,626.087 1054.68,625.902 \n",
" 1055.57,625.721 1056.47,625.542 1057.36,625.368 1058.25,625.197 1059.15,625.03 1060.04,624.867 1060.94,624.709 1061.83,624.555 1062.73,624.406 1063.62,624.262 \n",
" 1064.52,624.122 1065.41,623.989 1066.31,623.86 1067.2,623.737 1068.1,623.62 1068.99,623.508 1069.88,623.402 1070.78,623.302 1071.67,623.208 1072.57,623.12 \n",
" 1073.46,623.038 1074.36,622.962 1075.25,622.892 1076.15,622.828 1077.04,622.77 1077.94,622.719 1078.83,622.674 1079.73,622.634 1080.62,622.601 1081.51,622.574 \n",
" 1082.41,622.553 1083.3,622.538 1084.2,622.529 1085.09,622.526 1085.99,622.528 1086.88,622.536 1087.78,622.55 1088.67,622.569 1089.57,622.593 1090.46,622.622 \n",
" 1091.36,622.657 1092.25,622.697 1093.14,622.741 1094.04,622.79 1094.93,622.844 1095.83,622.902 1096.72,622.965 1097.62,623.031 1098.51,623.101 1099.41,623.175 \n",
" 1100.3,623.253 1101.2,623.334 1102.09,623.418 1102.99,623.506 1103.88,623.596 1104.77,623.689 1105.67,623.784 1106.56,623.881 1107.46,623.981 1108.35,624.083 \n",
" 1109.25,624.186 1110.14,624.291 1111.04,624.397 1111.93,624.505 1112.83,624.613 1113.72,624.722 1114.62,624.832 1115.51,624.942 1116.4,625.053 1117.3,625.163 \n",
" 1118.19,625.274 1119.09,625.384 1119.98,625.494 1120.88,625.603 1121.77,625.711 1122.67,625.818 1123.56,625.925 1124.46,626.03 1125.35,626.133 1126.25,626.236 \n",
" 1127.14,626.336 1128.03,626.435 1128.93,626.532 1129.82,626.626 1130.72,626.719 1131.61,626.809 1132.51,626.897 1133.4,626.982 1134.3,627.065 1135.19,627.145 \n",
" 1136.09,627.222 1136.98,627.296 1137.88,627.368 1138.77,627.436 1139.66,627.502 1140.56,627.564 1141.45,627.623 1142.35,627.679 1143.24,627.731 1144.14,627.781 \n",
" 1145.03,627.827 1145.93,627.869 1146.82,627.908 1147.72,627.944 1148.61,627.977 1149.5,628.006 1150.4,628.031 1151.29,628.054 1152.19,628.073 1153.08,628.088 \n",
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
" 1153.98,628.101 1154.87,628.11 1155.77,628.115 1156.66,628.118 1157.56,628.117 1158.45,628.113 1159.35,628.107 1160.24,628.097 1161.13,628.084 1162.03,628.068 \n",
" 1162.92,628.05 1163.82,628.028 1164.71,628.004 1165.61,627.978 1166.5,627.949 1167.4,627.917 1168.29,627.883 1169.19,627.847 1170.08,627.809 1170.98,627.769 \n",
" 1171.87,627.726 1172.76,627.682 1173.66,627.636 1174.55,627.588 1175.45,627.539 1176.34,627.488 1177.24,627.436 1178.13,627.382 1179.03,627.328 1179.92,627.272 \n",
" 1180.82,627.215 1181.71,627.157 1182.61,627.099 1183.5,627.04 1184.39,626.98 1185.29,626.92 1186.18,626.86 1187.08,626.799 1187.97,626.738 1188.87,626.677 \n",
" 1189.76,626.616 1190.66,626.556 1191.55,626.495 1192.45,626.435 1193.34,626.375 1194.24,626.316 1195.13,626.257 1196.02,626.199 1196.92,626.142 1197.81,626.085 \n",
" 1198.71,626.03 1199.6,625.975 1200.5,625.922 1201.39,625.869 1202.29,625.818 1203.18,625.768 1204.08,625.719 1204.97,625.672 1205.87,625.626 1206.76,625.582 \n",
" 1207.65,625.539 1208.55,625.497 1209.44,625.458 1210.34,625.42 1211.23,625.383 1212.13,625.349 1213.02,625.316 1213.92,625.285 1214.81,625.255 1215.71,625.228 \n",
" 1216.6,625.202 1217.5,625.178 1218.39,625.156 1219.28,625.136 1220.18,625.118 1221.07,625.101 1221.97,625.087 1222.86,625.074 1223.76,625.063 1224.65,625.054 \n",
" 1225.55,625.047 1226.44,625.042 1227.34,625.038 1228.23,625.036 1229.13,625.036 1230.02,625.038 1230.91,625.041 1231.81,625.047 1232.7,625.053 1233.6,625.062 \n",
" 1234.49,625.071 1235.39,625.083 1236.28,625.096 1237.18,625.11 1238.07,625.126 1238.97,625.143 1239.86,625.161 1240.76,625.181 1241.65,625.202 1242.54,625.224 \n",
" 1243.44,625.247 1244.33,625.271 1245.23,625.296 1246.12,625.322 1247.02,625.349 1247.91,625.377 1248.81,625.406 1249.7,625.435 1250.6,625.465 1251.49,625.496 \n",
" 1252.39,625.527 1253.28,625.559 1254.17,625.591 1255.07,625.623 1255.96,625.656 1256.86,625.689 1257.75,625.722 1258.65,625.756 1259.54,625.789 1260.44,625.823 \n",
" 1261.33,625.857 1262.23,625.89 1263.12,625.923 1264.02,625.957 1264.91,625.99 1265.8,626.022 1266.7,626.055 1267.59,626.087 1268.49,626.119 1269.38,626.15 \n",
" 1270.28,626.181 1271.17,626.211 1272.07,626.24 1272.96,626.269 1273.86,626.298 1274.75,626.325 1275.65,626.352 1276.54,626.379 1277.43,626.404 1278.33,626.429 \n",
" 1279.22,626.453 1280.12,626.476 1281.01,626.498 1281.91,626.519 1282.8,626.539 1283.7,626.558 1284.59,626.577 1285.49,626.594 1286.38,626.61 1287.27,626.626 \n",
" 1288.17,626.64 1289.06,626.654 1289.96,626.666 1290.85,626.677 1291.75,626.688 1292.64,626.697 1293.54,626.705 1294.43,626.712 1295.33,626.718 1296.22,626.724 \n",
" 1297.12,626.728 1298.01,626.731 1298.9,626.733 1299.8,626.734 1300.69,626.734 1301.59,626.734 1302.48,626.732 1303.38,626.729 1304.27,626.726 1305.17,626.722 \n",
" 1306.06,626.716 1306.96,626.71 1307.85,626.703 1308.75,626.696 1309.64,626.687 1310.53,626.678 1311.43,626.668 1312.32,626.657 1313.22,626.646 1314.11,626.634 \n",
" 1315.01,626.621 1315.9,626.608 1316.8,626.594 1317.69,626.58 1318.59,626.565 1319.48,626.55 1320.38,626.534 1321.27,626.518 1322.16,626.502 1323.06,626.485 \n",
" 1323.95,626.468 1324.85,626.45 1325.74,626.433 1326.64,626.415 1327.53,626.397 1328.43,626.379 1329.32,626.36 1330.22,626.342 1331.11,626.323 1332.01,626.305 \n",
" 1332.9,626.286 1333.79,626.268 1334.69,626.249 1335.58,626.231 1336.48,626.213 1337.37,626.195 1338.27,626.177 1339.16,626.159 1340.06,626.142 1340.95,626.124 \n",
" 1341.85,626.107 1342.74,626.091 1343.64,626.074 1344.53,626.058 1345.42,626.043 1346.32,626.027 1347.21,626.012 1348.11,625.998 1349,625.984 1349.9,625.97 \n",
" 1350.79,625.957 1351.69,625.944 1352.58,625.932 1353.48,625.92 1354.37,625.909 1355.27,625.898 1356.16,625.888 1357.05,625.878 1357.95,625.869 1358.84,625.86 \n",
" 1359.74,625.852 1360.63,625.845 1361.53,625.838 1362.42,625.831 1363.32,625.826 1364.21,625.82 1365.11,625.816 1366,625.812 1366.9,625.808 1367.79,625.805 \n",
" 1368.68,625.803 1369.58,625.801 1370.47,625.8 1371.37,625.799 1372.26,625.799 1373.16,625.799 1374.05,625.8 1374.95,625.801 1375.84,625.803 1376.74,625.805 \n",
" 1377.63,625.808 1378.53,625.811 1379.42,625.815 1380.31,625.819 1381.21,625.824 1382.1,625.829 1383,625.834 1383.89,625.84 1384.79,625.846 1385.68,625.853 \n",
" 1386.58,625.86 1387.47,625.867 1388.37,625.874 1389.26,625.882 1390.16,625.89 1391.05,625.899 1391.94,625.907 1392.84,625.916 1393.73,625.925 1394.63,625.934 \n",
" 1395.52,625.944 1396.42,625.953 1397.31,625.963 1398.21,625.973 1399.1,625.983 1400,625.993 1400.89,626.003 1401.79,626.013 1402.68,626.023 1403.57,626.033 \n",
" 1404.47,626.044 1405.36,626.054 1406.26,626.064 1407.15,626.074 1408.05,626.084 1408.94,626.094 1409.84,626.104 1410.73,626.114 1411.63,626.123 1412.52,626.133 \n",
" 1413.42,626.142 1414.31,626.152 1415.2,626.161 1416.1,626.169 1416.99,626.178 1417.89,626.187 1418.78,626.195 1419.68,626.203 1420.57,626.211 1421.47,626.218 \n",
" 1422.36,626.226 1423.26,626.233 1424.15,626.24 1425.04,626.246 1425.94,626.253 1426.83,626.259 1427.73,626.264 1428.62,626.27 1429.52,626.275 1430.41,626.28 \n",
" 1431.31,626.284 1432.2,626.288 1433.1,626.292 1433.99,626.296 1434.89,626.299 1435.78,626.302 1436.67,626.304 1437.57,626.307 1438.46,626.309 1439.36,626.311 \n",
" 1440.25,626.312 1441.15,626.313 1442.04,626.314 1442.94,626.314 1443.83,626.314 1444.73,626.314 1445.62,626.314 1446.52,626.313 1447.41,626.312 1448.3,626.311 \n",
" 1449.2,626.31 1450.09,626.308 1450.99,626.306 1451.88,626.304 1452.78,626.301 1453.67,626.298 1454.57,626.295 1455.46,626.292 1456.36,626.289 1457.25,626.285 \n",
" 1458.15,626.282 1459.04,626.278 1459.93,626.274 1460.83,626.269 1461.72,626.265 1462.62,626.26 1463.51,626.256 1464.41,626.251 1465.3,626.246 1466.2,626.241 \n",
" 1467.09,626.236 1467.99,626.23 1468.88,626.225 1469.78,626.22 1470.67,626.214 1471.56,626.209 1472.46,626.203 1473.35,626.198 1474.25,626.192 1475.14,626.186 \n",
" 1476.04,626.181 1476.93,626.175 1477.83,626.17 1478.72,626.164 1479.62,626.158 1480.51,626.153 1481.41,626.147 1482.3,626.142 1483.19,626.137 1484.09,626.131 \n",
" 1484.98,626.126 1485.88,626.121 1486.77,626.116 1487.67,626.111 1488.56,626.106 1489.46,626.102 1490.35,626.097 1491.25,626.093 1492.14,626.088 1493.04,626.084 \n",
" 1493.93,626.08 1494.82,626.076 1495.72,626.072 1496.61,626.069 1497.51,626.065 1498.4,626.062 1499.3,626.059 1500.19,626.056 1501.09,626.053 1501.98,626.05 \n",
" 1502.88,626.048 1503.77,626.045 1504.67,626.043 1505.56,626.041 1506.45,626.039 1507.35,626.038 1508.24,626.036 1509.14,626.035 1510.03,626.034 1510.93,626.033 \n",
" 1511.82,626.032 1512.72,626.031 1513.61,626.031 1514.51,626.03 1515.4,626.03 1516.3,626.03 1517.19,626.03 1518.08,626.031 1518.98,626.031 1519.87,626.032 \n",
" 1520.77,626.033 1521.66,626.034 1522.56,626.035 1523.45,626.036 1524.35,626.037 1525.24,626.039 1526.14,626.04 1527.03,626.042 1527.93,626.044 1528.82,626.046 \n",
" 1529.71,626.048 1530.61,626.05 1531.5,626.052 1532.4,626.055 1533.29,626.057 1534.19,626.06 1535.08,626.062 1535.98,626.065 1536.87,626.068 1537.77,626.07 \n",
" 1538.66,626.073 1539.56,626.076 1540.45,626.079 1541.34,626.082 1542.24,626.085 1543.13,626.088 1544.03,626.091 1544.92,626.094 1545.82,626.097 1546.71,626.1 \n",
" 1547.61,626.103 1548.5,626.106 1549.4,626.11 1550.29,626.113 1551.19,626.116 1552.08,626.119 1552.97,626.122 1553.87,626.125 1554.76,626.128 1555.66,626.131 \n",
" 1556.55,626.133 1557.45,626.136 1558.34,626.139 1559.24,626.142 1560.13,626.144 1561.03,626.147 1561.92,626.15 1562.81,626.152 1563.71,626.155 1564.6,626.157 \n",
" 1565.5,626.159 1566.39,626.161 1567.29,626.163 1568.18,626.165 1569.08,626.167 1569.97,626.169 1570.87,626.171 1571.76,626.173 1572.66,626.174 1573.55,626.176 \n",
" 1574.44,626.177 1575.34,626.178 1576.23,626.18 1577.13,626.181 1578.02,626.182 1578.92,626.183 1579.81,626.184 1580.71,626.184 1581.6,626.185 1582.5,626.186 \n",
" 1583.39,626.186 1584.29,626.186 1585.18,626.187 1586.07,626.187 1586.97,626.187 1587.86,626.187 1588.76,626.187 1589.65,626.187 1590.55,626.186 1591.44,626.186 \n",
" 1592.34,626.186 1593.23,626.185 1594.13,626.185 1595.02,626.184 1595.92,626.183 1596.81,626.182 1597.7,626.182 1598.6,626.181 1599.49,626.18 1600.39,626.179 \n",
" 1601.28,626.177 1602.18,626.176 1603.07,626.175 1603.97,626.174 1604.86,626.173 1605.76,626.171 1606.65,626.17 1607.55,626.168 1608.44,626.167 1609.33,626.165 \n",
" 1610.23,626.164 1611.12,626.162 1612.02,626.161 1612.91,626.159 1613.81,626.157 1614.7,626.156 1615.6,626.154 1616.49,626.152 1617.39,626.151 1618.28,626.149 \n",
" 1619.18,626.147 1620.07,626.145 1620.96,626.144 1621.86,626.142 1622.75,626.14 1623.65,626.139 1624.54,626.137 1625.44,626.135 1626.33,626.134 1627.23,626.132 \n",
" 1628.12,626.13 1629.02,626.129 1629.91,626.127 1630.81,626.126 1631.7,626.124 1632.59,626.123 1633.49,626.122 1634.38,626.12 1635.28,626.119 1636.17,626.118 \n",
" 1637.07,626.116 1637.96,626.115 1638.86,626.114 1639.75,626.113 1640.65,626.112 1641.54,626.111 1642.44,626.11 1643.33,626.109 1644.22,626.108 1645.12,626.107 \n",
" 1646.01,626.106 1646.91,626.106 1647.8,626.105 1648.7,626.104 1649.59,626.104 1650.49,626.103 1651.38,626.103 1652.28,626.102 1653.17,626.102 1654.07,626.102 \n",
" 1654.96,626.101 1655.85,626.101 1656.75,626.101 1657.64,626.101 1658.54,626.101 1659.43,626.101 1660.33,626.101 1661.22,626.101 1662.12,626.101 1663.01,626.101 \n",
" 1663.91,626.101 1664.8,626.102 1665.7,626.102 1666.59,626.102 1667.48,626.103 1668.38,626.103 1669.27,626.104 1670.17,626.104 1671.06,626.105 1671.96,626.105 \n",
" 1672.85,626.106 1673.75,626.106 1674.64,626.107 1675.54,626.108 1676.43,626.109 1677.33,626.109 1678.22,626.11 1679.11,626.111 1680.01,626.112 1680.9,626.113 \n",
" 1681.8,626.113 1682.69,626.114 1683.59,626.115 1684.48,626.116 1685.38,626.117 1686.27,626.118 1687.17,626.119 1688.06,626.12 1688.96,626.121 1689.85,626.122 \n",
" 1690.74,626.123 1691.64,626.123 1692.53,626.124 1693.43,626.125 1694.32,626.126 1695.22,626.127 1696.11,626.128 1697.01,626.129 1697.9,626.13 1698.8,626.131 \n",
" 1699.69,626.132 1700.58,626.133 1701.48,626.133 1702.37,626.134 1703.27,626.135 1704.16,626.136 1705.06,626.137 1705.95,626.137 1706.85,626.138 1707.74,626.139 \n",
" 1708.64,626.14 1709.53,626.14 1710.43,626.141 1711.32,626.142 1712.21,626.142 1713.11,626.143 1714,626.143 1714.9,626.144 1715.79,626.144 1716.69,626.145 \n",
" 1717.58,626.145 1718.48,626.146 1719.37,626.146 1720.27,626.146 1721.16,626.147 1722.06,626.147 1722.95,626.147 1723.84,626.147 1724.74,626.148 1725.63,626.148 \n",
" 1726.53,626.148 1727.42,626.148 1728.32,626.148 1729.21,626.148 1730.11,626.148 1731,626.148 1731.9,626.148 1732.79,626.148 1733.69,626.148 1734.58,626.148 \n",
" 1735.47,626.148 1736.37,626.148 1737.26,626.148 1738.16,626.148 1739.05,626.147 1739.95,626.147 1740.84,626.147 1741.74,626.147 1742.63,626.146 1743.53,626.146 \n",
" 1744.42,626.146 1745.32,626.145 1746.21,626.145 1747.1,626.145 1748,626.144 1748.89,626.144 1749.79,626.143 1750.68,626.143 1751.58,626.142 1752.47,626.142 \n",
" 1753.37,626.141 1754.26,626.141 1755.16,626.141 1756.05,626.14 1756.95,626.14 1757.84,626.139 1758.73,626.139 1759.63,626.138 1760.52,626.137 1761.42,626.137 \n",
" 1762.31,626.136 1763.21,626.136 1764.1,626.135 1765,626.135 1765.89,626.134 1766.79,626.134 1767.68,626.133 1768.58,626.133 1769.47,626.132 1770.36,626.132 \n",
" 1771.26,626.131 1772.15,626.131 1773.05,626.13 1773.94,626.13 1774.84,626.13 1775.73,626.129 1776.63,626.129 1777.52,626.128 1778.42,626.128 1779.31,626.127 \n",
" 1780.21,626.127 1781.1,626.127 1781.99,626.126 1782.89,626.126 1783.78,626.126 1784.68,626.125 1785.57,626.125 1786.47,626.125 1787.36,626.124 1788.26,626.124 \n",
" 1789.15,626.124 1790.05,626.124 1790.94,626.124 1791.84,626.123 1792.73,626.123 1793.62,626.123 1794.52,626.123 1795.41,626.123 1796.31,626.123 1797.2,626.122 \n",
" 1798.1,626.122 1798.99,626.122 1799.89,626.122 1800.78,626.122 1801.68,626.122 1802.57,626.122 1803.47,626.122 1804.36,626.122 1805.25,626.122 1806.15,626.122 \n",
" 1807.04,626.122 1807.94,626.122 1808.83,626.123 1809.73,626.123 1810.62,626.123 1811.52,626.123 1812.41,626.123 1813.31,626.123 1814.2,626.123 1815.1,626.123 \n",
" 1815.99,626.124 1816.88,626.124 1817.78,626.124 1818.67,626.124 1819.57,626.124 1820.46,626.125 1821.36,626.125 1822.25,626.125 1823.15,626.125 1824.04,626.126 \n",
" 1824.94,626.126 1825.83,626.126 1826.73,626.126 1827.62,626.127 1828.51,626.127 1829.41,626.127 1830.3,626.128 1831.2,626.128 1832.09,626.128 1832.99,626.128 \n",
" 1833.88,626.129 1834.78,626.129 1835.67,626.129 1836.57,626.13 1837.46,626.13 1838.35,626.13 1839.25,626.13 1840.14,626.131 1841.04,626.131 1841.93,626.131 \n",
" 1842.83,626.132 1843.72,626.132 1844.62,626.132 1845.51,626.132 1846.41,626.133 1847.3,626.133 1848.2,626.133 1849.09,626.133 1849.98,626.133 1850.88,626.134 \n",
" 1851.77,626.134 1852.67,626.134 1853.56,626.134 1854.46,626.135 1855.35,626.135 1856.25,626.135 1857.14,626.135 1858.04,626.135 1858.93,626.135 1859.83,626.136 \n",
" 1860.72,626.136 1861.61,626.136 1862.51,626.136 1863.4,626.136 1864.3,626.136 1865.19,626.136 1866.09,626.136 1866.98,626.136 1867.88,626.136 1868.77,626.137 \n",
" 1869.67,626.137 1870.56,626.137 1871.46,626.137 1872.35,626.137 1873.24,626.137 1874.14,626.137 1875.03,626.137 1875.93,626.137 1876.82,626.137 1877.72,626.137 \n",
" 1878.61,626.137 1879.51,626.137 1880.4,626.137 1881.3,626.136 1882.19,626.136 1883.09,626.136 1883.98,626.136 1884.87,626.136 1885.77,626.136 1886.66,626.136 \n",
" 1887.56,626.136 1888.45,626.136 1889.35,626.136 1890.24,626.136 1891.14,626.135 1892.03,626.135 1892.93,626.135 1893.82,626.135 1894.72,626.135 1895.61,626.135 \n",
" 1896.5,626.135 1897.4,626.135 1898.29,626.134 1899.19,626.134 1900.08,626.134 1900.98,626.134 1901.87,626.134 1902.77,626.134 1903.66,626.133 1904.56,626.133 \n",
" 1905.45,626.133 1906.35,626.133 1907.24,626.133 1908.13,626.133 1909.03,626.133 1909.92,626.132 1910.82,626.132 1911.71,626.132 1912.61,626.132 1913.5,626.132 \n",
" 1914.4,626.132 1915.29,626.131 1916.19,626.131 1917.08,626.131 1917.98,626.131 1918.87,626.131 1919.76,626.131 1920.66,626.131 1921.55,626.131 1922.45,626.13 \n",
" 1923.34,626.13 1924.24,626.13 1925.13,626.13 1926.03,626.13 1926.92,626.13 1927.82,626.13 1928.71,626.13 1929.61,626.13 1930.5,626.13 1931.39,626.129 \n",
" 1932.29,626.129 1933.18,626.129 1934.08,626.129 1934.97,626.129 1935.87,626.129 1936.76,626.129 1937.66,626.129 1938.55,626.129 1939.45,626.129 1940.34,626.129 \n",
" 1941.24,626.129 1942.13,626.129 1943.02,626.129 1943.92,626.129 1944.81,626.129 1945.71,626.129 1946.6,626.129 1947.5,626.129 1948.39,626.129 1949.29,626.129 \n",
" 1950.18,626.129 1951.08,626.129 1951.97,626.129 1952.87,626.129 1953.76,626.129 1954.65,626.129 1955.55,626.129 1956.44,626.129 1957.34,626.129 1958.23,626.129 \n",
" 1959.13,626.129 1960.02,626.129 1960.92,626.129 1961.81,626.129 1962.71,626.129 1963.6,626.13 1964.5,626.13 1965.39,626.13 1966.28,626.13 1967.18,626.13 \n",
" 1968.07,626.13 1968.97,626.13 1969.86,626.13 1970.76,626.13 1971.65,626.13 1972.55,626.13 1973.44,626.13 1974.34,626.131 1975.23,626.131 1976.12,626.131 \n",
" 1977.02,626.131 1977.91,626.131 1978.81,626.131 1979.7,626.131 1980.6,626.131 1981.49,626.131 1982.39,626.131 1983.28,626.131 1984.18,626.131 1985.07,626.132 \n",
" 1985.97,626.132 1986.86,626.132 1987.75,626.132 1988.65,626.132 1989.54,626.132 1990.44,626.132 1991.33,626.132 1992.23,626.132 1993.12,626.132 1994.02,626.132 \n",
" 1994.91,626.132 1995.81,626.132 1996.7,626.133 1997.6,626.133 1998.49,626.133 1999.38,626.133 2000.28,626.133 2001.17,626.133 2002.07,626.133 2002.96,626.133 \n",
" 2003.86,626.133 2004.75,626.133 2005.65,626.133 2006.54,626.133 2007.44,626.133 2008.33,626.133 2009.23,626.133 2010.12,626.133 2011.01,626.133 2011.91,626.133 \n",
" 2012.8,626.133 2013.7,626.133 2014.59,626.133 2015.49,626.133 2016.38,626.133 2017.28,626.133 2018.17,626.133 2019.07,626.133 2019.96,626.133 2020.86,626.133 \n",
" 2021.75,626.133 2022.64,626.133 2023.54,626.133 2024.43,626.133 2025.33,626.133 2026.22,626.133 2027.12,626.133 2028.01,626.133 2028.91,626.133 2029.8,626.133 \n",
" 2030.7,626.133 2031.59,626.133 2032.49,626.133 2033.38,626.133 2034.27,626.133 2035.17,626.133 2036.06,626.133 2036.96,626.133 2037.85,626.133 2038.75,626.133 \n",
" 2039.64,626.133 2040.54,626.133 2041.43,626.133 2042.33,626.133 2043.22,626.133 2044.12,626.132 2045.01,626.132 2045.9,626.132 2046.8,626.132 2047.69,626.132 \n",
" 2048.59,626.132 2049.48,626.132 2050.38,626.132 2051.27,626.132 2052.17,626.132 2053.06,626.132 2053.96,626.132 2054.85,626.132 2055.75,626.132 2056.64,626.132 \n",
" 2057.53,626.132 2058.43,626.132 2059.32,626.132 2060.22,626.132 2061.11,626.132 2062.01,626.132 2062.9,626.132 2063.8,626.131 2064.69,626.131 2065.59,626.131 \n",
" 2066.48,626.131 2067.38,626.131 2068.27,626.131 2069.16,626.131 2070.06,626.131 2070.95,626.131 2071.85,626.131 2072.74,626.131 2073.64,626.131 2074.53,626.131 \n",
" 2075.43,626.131 2076.32,626.131 2077.22,626.131 2078.11,626.131 2079.01,626.131 2079.9,626.131 2080.79,626.131 2081.69,626.131 2082.58,626.131 2083.48,626.131 \n",
" 2084.37,626.131 2085.27,626.131 2086.16,626.131 2087.06,626.131 2087.95,626.131 2088.85,626.131 2089.74,626.131 2090.64,626.131 2091.53,626.131 2092.42,626.131 \n",
" 2093.32,626.131 2094.21,626.131 2095.11,626.131 2096,626.131 2096.9,626.131 2097.79,626.131 2098.69,626.131 2099.58,626.131 2100.48,626.131 2101.37,626.131 \n",
" 2102.27,626.131 2103.16,626.131 2104.05,626.131 2104.95,626.131 2105.84,626.131 2106.74,626.131 2107.63,626.131 2108.53,626.131 2109.42,626.131 2110.32,626.131 \n",
" 2111.21,626.131 2112.11,626.131 2113,626.131 2113.89,626.131 2114.79,626.131 2115.68,626.131 2116.58,626.131 2117.47,626.131 2118.37,626.131 2119.26,626.131 \n",
" 2120.16,626.132 2121.05,626.132 2121.95,626.132 2122.84,626.132 2123.74,626.132 2124.63,626.132 2125.52,626.132 2126.42,626.132 2127.31,626.132 2128.21,626.132 \n",
" 2129.1,626.132 2130,626.132 2130.89,626.132 2131.79,626.132 2132.68,626.132 2133.58,626.132 2134.47,626.132 2135.37,626.132 2136.26,626.132 2137.15,626.132 \n",
" 2138.05,626.132 2138.94,626.132 2139.84,626.132 2140.73,626.132 2141.63,626.132 2142.52,626.132 2143.42,626.132 2144.31,626.132 2145.21,626.132 2146.1,626.132 \n",
" 2147,626.132 2147.89,626.132 2148.78,626.132 2149.68,626.132 2150.57,626.132 2151.47,626.132 2152.36,626.132 2153.26,626.132 2154.15,626.132 2155.05,626.132 \n",
" 2155.94,626.132 2156.84,626.132 2157.73,626.132 2158.63,626.132 2159.52,626.132 2160.41,626.132 2161.31,626.132 2162.2,626.132 2163.1,626.132 2163.99,626.132 \n",
" 2164.89,626.132 2165.78,626.132 2166.68,626.132 2167.57,626.132 2168.47,626.132 2169.36,626.132 2170.26,626.132 2171.15,626.132 2172.04,626.132 2172.94,626.132 \n",
" 2173.83,626.132 2174.73,626.132 2175.62,626.132 2176.52,626.132 2177.41,626.132 2178.31,626.132 2179.2,626.132 2180.1,626.132 2180.99,626.132 2181.89,626.132 \n",
" 2182.78,626.132 2183.67,626.132 2184.57,626.132 2185.46,626.132 2186.36,626.132 2187.25,626.132 2188.15,626.132 2189.04,626.132 2189.94,626.132 2190.83,626.132 \n",
" 2191.73,626.132 2192.62,626.132 2193.52,626.132 2194.41,626.132 2195.3,626.132 2196.2,626.132 2197.09,626.132 2197.99,626.132 2198.88,626.132 2199.78,626.132 \n",
" 2200.67,626.132 2201.57,626.132 2202.46,626.132 2203.36,626.132 2204.25,626.132 2205.15,626.132 2206.04,626.132 2206.93,626.132 2207.83,626.132 2208.72,626.132 \n",
" 2209.62,626.132 2210.51,626.132 2211.41,626.132 2212.3,626.132 2213.2,626.132 2214.09,626.132 2214.99,626.132 2215.88,626.132 2216.78,626.132 2217.67,626.132 \n",
" 2218.56,626.132 2219.46,626.132 2220.35,626.132 2221.25,626.132 2222.14,626.132 2223.04,626.132 2223.93,626.132 2224.83,626.132 2225.72,626.132 2226.62,626.132 \n",
" 2227.51,626.132 2228.41,626.132 2229.3,626.132 2230.19,626.132 2231.09,626.132 2231.98,626.132 2232.88,626.132 2233.77,626.132 2234.67,626.132 2235.56,626.132 \n",
" 2236.46,626.132 2237.35,626.132 2238.25,626.132 2239.14,626.132 2240.04,626.132 2240.93,626.132 2241.82,626.132 2242.72,626.132 2243.61,626.132 2244.51,626.132 \n",
" 2245.4,626.132 2246.3,626.132 2247.19,626.132 2248.09,626.132 2248.98,626.132 2249.88,626.132 2250.77,626.132 2251.66,626.132 2252.56,626.132 2253.45,626.132 \n",
" 2254.35,626.132 2255.24,626.132 2256.14,626.132 2257.03,626.132 2257.93,626.132 2258.82,626.132 2259.72,626.132 2260.61,626.132 2261.51,626.132 2262.4,626.132 \n",
" 2263.29,626.132 2264.19,626.132 2265.08,626.132 2265.98,626.132 2266.87,626.132 2267.77,626.132 2268.66,626.132 2269.56,626.132 2270.45,626.132 2271.35,626.132 \n",
" 2272.24,626.132 2273.14,626.132 2274.03,626.132 2274.92,626.132 2275.82,626.132 2276.71,626.132 2277.61,626.132 2278.5,626.132 2279.4,626.132 2280.29,626.132 \n",
" 2281.19,626.132 2282.08,626.132 2282.98,626.132 2283.87,626.132 2284.77,626.132 2285.66,626.132 2286.55,626.132 2287.45,626.132 2288.34,626.132 2289.24,626.132 \n",
" 2290.13,626.132 2291.03,626.132 2291.92,626.132 2292.82,626.132 2293.71,626.132 2294.61,626.132 2295.5,626.132 2296.4,626.132 2297.29,626.132 2298.18,626.132 \n",
" 2299.08,626.132 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#c271d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 509.859,158.579 510.753,159.641 511.648,161.584 512.542,164.321 513.437,167.786 514.332,171.926 515.226,176.694 516.121,182.047 517.015,187.947 517.91,194.358 \n",
" 518.805,201.246 519.699,208.582 520.594,216.34 521.488,224.495 522.383,233.027 523.278,241.915 524.172,251.144 525.067,260.699 525.962,270.568 526.856,280.74 \n",
" 527.751,291.206 528.645,301.957 529.54,312.984 530.435,324.282 531.329,335.844 532.224,347.661 533.118,359.729 534.013,372.039 534.908,384.583 535.802,397.354 \n",
" 536.697,410.343 537.591,423.539 538.486,436.933 539.381,450.513 540.275,464.267 541.17,478.181 542.065,492.244 542.959,506.439 543.854,520.753 544.748,535.17 \n",
" 545.643,549.674 546.538,564.248 547.432,578.876 548.327,593.541 549.221,608.226 550.116,622.915 551.011,637.589 551.905,652.233 552.8,666.83 553.694,681.364 \n",
" 554.589,695.817 555.484,710.176 556.378,724.425 557.273,738.549 558.168,752.534 559.062,766.368 559.957,780.036 560.851,793.528 561.746,806.83 562.641,819.934 \n",
" 563.535,832.827 564.43,845.501 565.324,857.947 566.219,870.157 567.114,882.122 568.008,893.836 568.903,905.292 569.797,916.484 570.692,927.407 571.587,938.057 \n",
" 572.481,948.427 573.376,958.515 574.271,968.318 575.165,977.831 576.06,987.052 576.954,995.979 577.849,1004.61 578.744,1012.94 579.638,1020.97 580.533,1028.7 \n",
" 581.427,1036.13 582.322,1043.25 583.217,1050.07 584.111,1056.59 585.006,1062.79 585.9,1068.7 586.795,1074.29 587.69,1079.58 588.584,1084.56 589.479,1089.23 \n",
" 590.373,1093.6 591.268,1097.65 592.163,1101.41 593.057,1104.85 593.952,1107.99 594.847,1110.82 595.741,1113.34 596.636,1115.56 597.53,1117.48 598.425,1119.08 \n",
" 599.32,1120.39 600.214,1121.39 601.109,1122.09 602.003,1122.49 602.898,1122.6 603.793,1122.4 604.687,1121.9 605.582,1121.12 606.476,1120.03 607.371,1118.66 \n",
" 608.266,1117 609.16,1115.05 610.055,1112.82 610.95,1110.31 611.844,1107.53 612.739,1104.46 613.633,1101.13 614.528,1097.53 615.423,1093.67 616.317,1089.55 \n",
" 617.212,1085.17 618.106,1080.55 619.001,1075.68 619.896,1070.58 620.79,1065.24 621.685,1059.67 622.579,1053.88 623.474,1047.88 624.369,1041.66 625.263,1035.25 \n",
" 626.158,1028.64 627.053,1021.84 627.947,1014.86 628.842,1007.71 629.736,1000.4 630.631,992.922 631.526,985.298 632.42,977.533 633.315,969.635 634.209,961.612 \n",
" 635.104,953.473 635.999,945.227 636.893,936.883 637.788,928.45 638.682,919.936 639.577,911.35 640.472,902.703 641.366,894.002 642.261,885.257 643.156,876.477 \n",
" 644.05,867.671 644.945,858.848 645.839,850.018 646.734,841.19 647.629,832.372 648.523,823.573 649.418,814.803 650.312,806.069 651.207,797.381 652.102,788.748 \n",
" 652.996,780.177 653.891,771.677 654.785,763.256 655.68,754.922 656.575,746.683 657.469,738.547 658.364,730.521 659.258,722.611 660.153,714.827 661.048,707.173 \n",
" 661.942,699.658 662.837,692.287 663.732,685.067 664.626,678.004 665.521,671.103 666.415,664.37 667.31,657.81 668.205,651.43 669.099,645.232 669.994,639.222 \n",
" 670.888,633.405 671.783,627.784 672.678,622.363 673.572,617.146 674.467,612.136 675.361,607.336 676.256,602.75 677.151,598.378 678.045,594.225 678.94,590.292 \n",
" 679.835,586.58 680.729,583.091 681.624,579.827 682.518,576.789 683.413,573.976 684.308,571.391 685.202,569.034 686.097,566.903 686.991,565 687.886,563.324 \n",
" 688.781,561.874 689.675,560.649 690.57,559.649 691.464,558.872 692.359,558.317 693.254,557.982 694.148,557.865 695.043,557.964 695.938,558.277 696.832,558.802 \n",
" 697.727,559.535 698.621,560.475 699.516,561.618 700.411,562.961 701.305,564.501 702.2,566.234 703.094,568.156 703.989,570.265 704.884,572.556 705.778,575.025 \n",
" 706.673,577.668 707.567,580.481 708.462,583.46 709.357,586.599 710.251,589.895 711.146,593.343 712.041,596.938 712.935,600.674 713.83,604.549 714.724,608.555 \n",
" 715.619,612.688 716.514,616.943 717.408,621.316 718.303,625.799 719.197,630.389 720.092,635.079 720.987,639.865 721.881,644.741 722.776,649.702 723.67,654.741 \n",
" 724.565,659.854 725.46,665.035 726.354,670.279 727.249,675.579 728.143,680.931 729.038,686.329 729.933,691.767 730.827,697.24 731.722,702.742 732.617,708.268 \n",
" 733.511,713.813 734.406,719.37 735.3,724.936 736.195,730.503 737.09,736.068 737.984,741.625 738.879,747.169 739.773,752.694 740.668,758.196 741.563,763.67 \n",
" 742.457,769.11 743.352,774.512 744.246,779.871 745.141,785.183 746.036,790.443 746.93,795.646 747.825,800.788 748.72,805.865 749.614,810.873 750.509,815.806 \n",
" 751.403,820.662 752.298,825.437 753.193,830.126 754.087,834.726 754.982,839.234 755.876,843.646 756.771,847.958 757.666,852.168 758.56,856.272 759.455,860.268 \n",
" 760.349,864.152 761.244,867.922 762.139,871.575 763.033,875.109 763.928,878.522 764.823,881.811 765.717,884.975 766.612,888.01 767.506,890.917 768.401,893.692 \n",
" 769.296,896.335 770.19,898.845 771.085,901.219 771.979,903.457 772.874,905.557 773.769,907.52 774.663,909.345 775.558,911.03 776.452,912.575 777.347,913.981 \n",
" 778.242,915.247 779.136,916.373 780.031,917.36 780.926,918.206 781.82,918.914 782.715,919.483 783.609,919.915 784.504,920.209 785.399,920.367 786.293,920.389 \n",
" 787.188,920.278 788.082,920.034 788.977,919.659 789.872,919.154 790.766,918.52 791.661,917.76 792.555,916.875 793.45,915.868 794.345,914.74 795.239,913.493 \n",
" 796.134,912.13 797.028,910.653 797.923,909.064 798.818,907.366 799.712,905.561 800.607,903.653 801.502,901.643 802.396,899.535 803.291,897.332 804.185,895.036 \n",
" 805.08,892.651 805.975,890.179 806.869,887.624 807.764,884.989 808.658,882.277 809.553,879.491 810.448,876.635 811.342,873.712 812.237,870.725 813.131,867.679 \n",
" 814.026,864.576 814.921,861.419 815.815,858.213 816.71,854.961 817.605,851.666 818.499,848.332 819.394,844.962 820.288,841.561 821.183,838.131 822.078,834.676 \n",
" 822.972,831.2 823.867,827.705 824.761,824.197 825.656,820.678 826.551,817.151 827.445,813.62 828.34,810.089 829.234,806.561 830.129,803.039 831.024,799.526 \n",
" 831.918,796.027 832.813,792.543 833.708,789.079 834.602,785.637 835.497,782.221 836.391,778.833 837.286,775.477 838.181,772.156 839.075,768.872 839.97,765.628 \n",
" 840.864,762.427 841.759,759.272 842.654,756.165 843.548,753.108 844.443,750.106 845.337,747.158 846.232,744.269 847.127,741.44 848.021,738.674 848.916,735.972 \n",
" 849.81,733.336 850.705,730.769 851.6,728.273 852.494,725.848 853.389,723.497 854.284,721.222 855.178,719.023 856.073,716.903 856.967,714.862 857.862,712.902 \n",
" 858.757,711.024 859.651,709.229 860.546,707.518 861.44,705.892 862.335,704.352 863.23,702.898 864.124,701.532 865.019,700.252 865.913,699.061 866.808,697.958 \n",
" 867.703,696.944 868.597,696.019 869.492,695.182 870.387,694.435 871.281,693.776 872.176,693.206 873.07,692.724 873.965,692.33 874.86,692.024 875.754,691.806 \n",
" 876.649,691.673 877.543,691.627 878.438,691.666 879.333,691.79 880.227,691.997 881.122,692.286 882.016,692.657 882.911,693.109 883.806,693.64 884.7,694.25 \n",
" 885.595,694.936 886.49,695.697 887.384,696.533 888.279,697.442 889.173,698.421 890.068,699.471 890.963,700.588 891.857,701.771 892.752,703.019 893.646,704.33 \n",
" 894.541,705.702 895.436,707.133 896.33,708.621 897.225,710.164 898.119,711.761 899.014,713.409 899.909,715.107 900.803,716.851 901.698,718.641 902.593,720.474 \n",
" 903.487,722.348 904.382,724.26 905.276,726.209 906.171,728.193 907.066,730.208 907.96,732.254 908.855,734.327 909.749,736.426 910.644,738.548 911.539,740.692 \n",
" 912.433,742.854 913.328,745.032 914.222,747.225 915.117,749.431 916.012,751.646 916.906,753.868 917.801,756.097 918.695,758.328 919.59,760.561 920.485,762.793 \n",
" 921.379,765.022 922.274,767.245 923.169,769.462 924.063,771.668 924.958,773.864 925.852,776.046 926.747,778.213 927.642,780.363 928.536,782.493 929.431,784.603 \n",
" 930.325,786.69 931.22,788.752 932.115,790.787 933.009,792.795 933.904,794.772 934.798,796.719 935.693,798.632 936.588,800.511 937.482,802.354 938.377,804.159 \n",
" 939.272,805.926 940.166,807.652 941.061,809.337 941.955,810.979 942.85,812.577 943.745,814.13 944.639,815.637 945.534,817.097 946.428,818.509 947.323,819.871 \n",
" 948.218,821.184 949.112,822.446 950.007,823.656 950.901,824.815 951.796,825.92 952.691,826.972 953.585,827.97 954.48,828.913 955.375,829.802 956.269,830.636 \n",
" 957.164,831.413 958.058,832.136 958.953,832.802 959.848,833.412 960.742,833.966 961.637,834.463 962.531,834.905 963.426,835.29 964.321,835.62 965.215,835.893 \n",
" 966.11,836.111 967.004,836.274 967.899,836.381 968.794,836.435 969.688,836.434 970.583,836.379 971.478,836.271 972.372,836.111 973.267,835.898 974.161,835.635 \n",
" 975.056,835.321 975.951,834.957 976.845,834.544 977.74,834.083 978.634,833.575 979.529,833.02 980.424,832.42 981.318,831.775 982.213,831.087 983.107,830.356 \n",
" 984.002,829.584 984.897,828.772 985.791,827.92 986.686,827.031 987.58,826.105 988.475,825.143 989.37,824.147 990.264,823.118 991.159,822.058 992.054,820.966 \n",
" 992.948,819.846 993.843,818.698 994.737,817.523 995.632,816.323 996.527,815.1 997.421,813.854 998.316,812.587 999.21,811.3 1000.11,809.995 1001,808.674 \n",
" 1001.89,807.337 1002.79,805.986 1003.68,804.623 1004.58,803.249 1005.47,801.865 1006.37,800.472 1007.26,799.073 1008.16,797.668 1009.05,796.259 1009.95,794.848 \n",
" 1010.84,793.435 1011.73,792.022 1012.63,790.611 1013.52,789.202 1014.42,787.797 1015.31,786.398 1016.21,785.005 1017.1,783.62 1018,782.245 1018.89,780.879 \n",
" 1019.79,779.526 1020.68,778.185 1021.58,776.858 1022.47,775.546 1023.36,774.251 1024.26,772.973 1025.15,771.713 1026.05,770.473 1026.94,769.253 1027.84,768.055 \n",
" 1028.73,766.879 1029.63,765.726 1030.52,764.598 1031.42,763.494 1032.31,762.417 1033.21,761.366 1034.1,760.343 1034.99,759.348 1035.89,758.382 1036.78,757.445 \n",
" 1037.68,756.539 1038.57,755.663 1039.47,754.819 1040.36,754.007 1041.26,753.227 1042.15,752.48 1043.05,751.766 1043.94,751.086 1044.84,750.44 1045.73,749.828 \n",
" 1046.62,749.251 1047.52,748.709 1048.41,748.202 1049.31,747.73 1050.2,747.293 1051.1,746.892 1051.99,746.527 1052.89,746.197 1053.78,745.902 1054.68,745.643 \n",
" 1055.57,745.42 1056.47,745.232 1057.36,745.079 1058.25,744.961 1059.15,744.878 1060.04,744.83 1060.94,744.816 1061.83,744.836 1062.73,744.89 1063.62,744.978 \n",
" 1064.52,745.098 1065.41,745.251 1066.31,745.436 1067.2,745.653 1068.1,745.901 1068.99,746.18 1069.88,746.489 1070.78,746.828 1071.67,747.195 1072.57,747.591 \n",
" 1073.46,748.015 1074.36,748.466 1075.25,748.943 1076.15,749.447 1077.04,749.975 1077.94,750.527 1078.83,751.103 1079.73,751.702 1080.62,752.323 1081.51,752.966 \n",
" 1082.41,753.628 1083.3,754.311 1084.2,755.012 1085.09,755.731 1085.99,756.467 1086.88,757.219 1087.78,757.987 1088.67,758.77 1089.57,759.566 1090.46,760.375 \n",
" 1091.36,761.195 1092.25,762.027 1093.14,762.869 1094.04,763.72 1094.93,764.579 1095.83,765.446 1096.72,766.319 1097.62,767.198 1098.51,768.082 1099.41,768.969 \n",
" 1100.3,769.859 1101.2,770.752 1102.09,771.646 1102.99,772.54 1103.88,773.433 1104.77,774.325 1105.67,775.215 1106.56,776.102 1107.46,776.985 1108.35,777.864 \n",
" 1109.25,778.737 1110.14,779.604 1111.04,780.463 1111.93,781.315 1112.83,782.159 1113.72,782.993 1114.62,783.817 1115.51,784.63 1116.4,785.432 1117.3,786.223 \n",
" 1118.19,787 1119.09,787.764 1119.98,788.514 1120.88,789.25 1121.77,789.971 1122.67,790.676 1123.56,791.365 1124.46,792.037 1125.35,792.692 1126.25,793.329 \n",
" 1127.14,793.948 1128.03,794.549 1128.93,795.13 1129.82,795.693 1130.72,796.236 1131.61,796.758 1132.51,797.26 1133.4,797.742 1134.3,798.203 1135.19,798.642 \n",
" 1136.09,799.06 1136.98,799.457 1137.88,799.831 1138.77,800.184 1139.66,800.514 1140.56,800.822 1141.45,801.108 1142.35,801.372 1143.24,801.613 1144.14,801.831 \n",
" 1145.03,802.027 1145.93,802.2 1146.82,802.351 1147.72,802.48 1148.61,802.586 1149.5,802.67 1150.4,802.732 1151.29,802.772 1152.19,802.79 1153.08,802.786 \n",
" 1153.98,802.761 1154.87,802.715 1155.77,802.648 1156.66,802.56 1157.56,802.451 1158.45,802.323 1159.35,802.174 1160.24,802.006 1161.13,801.819 1162.03,801.612 \n",
" 1162.92,801.388 1163.82,801.145 1164.71,800.884 1165.61,800.606 1166.5,800.311 1167.4,799.999 1168.29,799.672 1169.19,799.329 1170.08,798.971 1170.98,798.598 \n",
" 1171.87,798.211 1172.76,797.81 1173.66,797.396 1174.55,796.97 1175.45,796.531 1176.34,796.081 1177.24,795.62 1178.13,795.148 1179.03,794.666 1179.92,794.175 \n",
" 1180.82,793.675 1181.71,793.166 1182.61,792.65 1183.5,792.127 1184.39,791.597 1185.29,791.061 1186.18,790.519 1187.08,789.973 1187.97,789.422 1188.87,788.867 \n",
" 1189.76,788.309 1190.66,787.749 1191.55,787.186 1192.45,786.622 1193.34,786.057 1194.24,785.491 1195.13,784.926 1196.02,784.361 1196.92,783.797 1197.81,783.235 \n",
" 1198.71,782.675 1199.6,782.118 1200.5,781.564 1201.39,781.014 1202.29,780.468 1203.18,779.926 1204.08,779.39 1204.97,778.86 1205.87,778.336 1206.76,777.818 \n",
" 1207.65,777.308 1208.55,776.804 1209.44,776.309 1210.34,775.822 1211.23,775.343 1212.13,774.874 1213.02,774.414 1213.92,773.963 1214.81,773.523 1215.71,773.093 \n",
" 1216.6,772.674 1217.5,772.266 1218.39,771.869 1219.28,771.484 1220.18,771.111 1221.07,770.75 1221.97,770.401 1222.86,770.065 1223.76,769.742 1224.65,769.431 \n",
" 1225.55,769.134 1226.44,768.85 1227.34,768.58 1228.23,768.323 1229.13,768.08 1230.02,767.851 1230.91,767.636 1231.81,767.435 1232.7,767.248 1233.6,767.076 \n",
" 1234.49,766.917 1235.39,766.773 1236.28,766.643 1237.18,766.527 1238.07,766.425 1238.97,766.338 1239.86,766.265 1240.76,766.205 1241.65,766.16 1242.54,766.129 \n",
" 1243.44,766.112 1244.33,766.108 1245.23,766.118 1246.12,766.142 1247.02,766.179 1247.91,766.229 1248.81,766.292 1249.7,766.368 1250.6,766.457 1251.49,766.558 \n",
" 1252.39,766.671 1253.28,766.797 1254.17,766.934 1255.07,767.083 1255.96,767.243 1256.86,767.414 1257.75,767.596 1258.65,767.789 1259.54,767.992 1260.44,768.205 \n",
" 1261.33,768.427 1262.23,768.659 1263.12,768.9 1264.02,769.15 1264.91,769.409 1265.8,769.675 1266.7,769.949 1267.59,770.231 1268.49,770.52 1269.38,770.816 \n",
" 1270.28,771.118 1271.17,771.426 1272.07,771.74 1272.96,772.06 1273.86,772.384 1274.75,772.713 1275.65,773.047 1276.54,773.385 1277.43,773.726 1278.33,774.07 \n",
" 1279.22,774.418 1280.12,774.768 1281.01,775.12 1281.91,775.474 1282.8,775.829 1283.7,776.186 1284.59,776.543 1285.49,776.901 1286.38,777.259 1287.27,777.617 \n",
" 1288.17,777.974 1289.06,778.33 1289.96,778.685 1290.85,779.038 1291.75,779.39 1292.64,779.739 1293.54,780.086 1294.43,780.429 1295.33,780.77 1296.22,781.107 \n",
" 1297.12,781.441 1298.01,781.77 1298.9,782.095 1299.8,782.415 1300.69,782.731 1301.59,783.042 1302.48,783.347 1303.38,783.646 1304.27,783.94 1305.17,784.227 \n",
" 1306.06,784.509 1306.96,784.784 1307.85,785.052 1308.75,785.313 1309.64,785.567 1310.53,785.814 1311.43,786.053 1312.32,786.285 1313.22,786.509 1314.11,786.725 \n",
" 1315.01,786.933 1315.9,787.133 1316.8,787.325 1317.69,787.508 1318.59,787.683 1319.48,787.849 1320.38,788.006 1321.27,788.155 1322.16,788.295 1323.06,788.426 \n",
" 1323.95,788.548 1324.85,788.661 1325.74,788.765 1326.64,788.86 1327.53,788.947 1328.43,789.024 1329.32,789.092 1330.22,789.151 1331.11,789.201 1332.01,789.242 \n",
" 1332.9,789.275 1333.79,789.298 1334.69,789.313 1335.58,789.319 1336.48,789.316 1337.37,789.305 1338.27,789.285 1339.16,789.257 1340.06,789.221 1340.95,789.176 \n",
" 1341.85,789.123 1342.74,789.063 1343.64,788.994 1344.53,788.918 1345.42,788.835 1346.32,788.744 1347.21,788.645 1348.11,788.54 1349,788.428 1349.9,788.308 \n",
" 1350.79,788.183 1351.69,788.051 1352.58,787.913 1353.48,787.768 1354.37,787.618 1355.27,787.462 1356.16,787.301 1357.05,787.135 1357.95,786.963 1358.84,786.787 \n",
" 1359.74,786.606 1360.63,786.421 1361.53,786.231 1362.42,786.038 1363.32,785.841 1364.21,785.64 1365.11,785.436 1366,785.229 1366.9,785.019 1367.79,784.806 \n",
" 1368.68,784.591 1369.58,784.374 1370.47,784.155 1371.37,783.935 1372.26,783.712 1373.16,783.489 1374.05,783.264 1374.95,783.039 1375.84,782.813 1376.74,782.587 \n",
" 1377.63,782.36 1378.53,782.134 1379.42,781.907 1380.31,781.682 1381.21,781.457 1382.1,781.233 1383,781.01 1383.89,780.788 1384.79,780.568 1385.68,780.35 \n",
" 1386.58,780.134 1387.47,779.919 1388.37,779.707 1389.26,779.498 1390.16,779.291 1391.05,779.087 1391.94,778.886 1392.84,778.688 1393.73,778.494 1394.63,778.303 \n",
" 1395.52,778.115 1396.42,777.931 1397.31,777.752 1398.21,777.576 1399.1,777.405 1400,777.237 1400.89,777.075 1401.79,776.917 1402.68,776.763 1403.57,776.614 \n",
" 1404.47,776.47 1405.36,776.332 1406.26,776.198 1407.15,776.069 1408.05,775.946 1408.94,775.827 1409.84,775.714 1410.73,775.607 1411.63,775.505 1412.52,775.409 \n",
" 1413.42,775.318 1414.31,775.232 1415.2,775.153 1416.1,775.079 1416.99,775.01 1417.89,774.948 1418.78,774.891 1419.68,774.84 1420.57,774.794 1421.47,774.754 \n",
" 1422.36,774.72 1423.26,774.691 1424.15,774.669 1425.04,774.651 1425.94,774.64 1426.83,774.633 1427.73,774.633 1428.62,774.638 1429.52,774.648 1430.41,774.663 \n",
" 1431.31,774.684 1432.2,774.71 1433.1,774.741 1433.99,774.778 1434.89,774.819 1435.78,774.865 1436.67,774.916 1437.57,774.971 1438.46,775.032 1439.36,775.097 \n",
" 1440.25,775.166 1441.15,775.239 1442.04,775.317 1442.94,775.399 1443.83,775.485 1444.73,775.574 1445.62,775.668 1446.52,775.765 1447.41,775.865 1448.3,775.969 \n",
" 1449.2,776.076 1450.09,776.187 1450.99,776.3 1451.88,776.416 1452.78,776.535 1453.67,776.656 1454.57,776.78 1455.46,776.906 1456.36,777.034 1457.25,777.164 \n",
" 1458.15,777.296 1459.04,777.43 1459.93,777.566 1460.83,777.702 1461.72,777.84 1462.62,777.98 1463.51,778.12 1464.41,778.261 1465.3,778.403 1466.2,778.545 \n",
" 1467.09,778.688 1467.99,778.831 1468.88,778.975 1469.78,779.118 1470.67,779.261 1471.56,779.404 1472.46,779.546 1473.35,779.689 1474.25,779.83 1475.14,779.97 \n",
" 1476.04,780.11 1476.93,780.249 1477.83,780.386 1478.72,780.522 1479.62,780.657 1480.51,780.79 1481.41,780.922 1482.3,781.052 1483.19,781.18 1484.09,781.306 \n",
" 1484.98,781.43 1485.88,781.552 1486.77,781.671 1487.67,781.789 1488.56,781.903 1489.46,782.016 1490.35,782.125 1491.25,782.232 1492.14,782.336 1493.04,782.438 \n",
" 1493.93,782.536 1494.82,782.632 1495.72,782.724 1496.61,782.813 1497.51,782.899 1498.4,782.982 1499.3,783.062 1500.19,783.138 1501.09,783.211 1501.98,783.28 \n",
" 1502.88,783.346 1503.77,783.409 1504.67,783.468 1505.56,783.523 1506.45,783.575 1507.35,783.624 1508.24,783.668 1509.14,783.709 1510.03,783.747 1510.93,783.781 \n",
" 1511.82,783.811 1512.72,783.838 1513.61,783.861 1514.51,783.881 1515.4,783.897 1516.3,783.909 1517.19,783.918 1518.08,783.924 1518.98,783.925 1519.87,783.924 \n",
" 1520.77,783.919 1521.66,783.911 1522.56,783.899 1523.45,783.884 1524.35,783.865 1525.24,783.844 1526.14,783.819 1527.03,783.791 1527.93,783.76 1528.82,783.726 \n",
" 1529.71,783.69 1530.61,783.65 1531.5,783.607 1532.4,783.562 1533.29,783.514 1534.19,783.463 1535.08,783.41 1535.98,783.354 1536.87,783.296 1537.77,783.236 \n",
" 1538.66,783.173 1539.56,783.108 1540.45,783.041 1541.34,782.972 1542.24,782.901 1543.13,782.829 1544.03,782.754 1544.92,782.678 1545.82,782.6 1546.71,782.521 \n",
" 1547.61,782.441 1548.5,782.359 1549.4,782.276 1550.29,782.192 1551.19,782.106 1552.08,782.02 1552.97,781.933 1553.87,781.845 1554.76,781.757 1555.66,781.668 \n",
" 1556.55,781.578 1557.45,781.488 1558.34,781.398 1559.24,781.308 1560.13,781.217 1561.03,781.126 1561.92,781.036 1562.81,780.945 1563.71,780.855 1564.6,780.765 \n",
" 1565.5,780.675 1566.39,780.586 1567.29,780.497 1568.18,780.409 1569.08,780.322 1569.97,780.236 1570.87,780.15 1571.76,780.065 1572.66,779.981 1573.55,779.899 \n",
" 1574.44,779.817 1575.34,779.737 1576.23,779.658 1577.13,779.58 1578.02,779.504 1578.92,779.429 1579.81,779.356 1580.71,779.284 1581.6,779.214 1582.5,779.146 \n",
" 1583.39,779.079 1584.29,779.014 1585.18,778.951 1586.07,778.89 1586.97,778.831 1587.86,778.773 1588.76,778.718 1589.65,778.665 1590.55,778.613 1591.44,778.564 \n",
" 1592.34,778.517 1593.23,778.472 1594.13,778.43 1595.02,778.389 1595.92,778.351 1596.81,778.315 1597.7,778.281 1598.6,778.249 1599.49,778.22 1600.39,778.193 \n",
" 1601.28,778.168 1602.18,778.146 1603.07,778.126 1603.97,778.108 1604.86,778.092 1605.76,778.079 1606.65,778.068 1607.55,778.059 1608.44,778.052 1609.33,778.048 \n",
" 1610.23,778.046 1611.12,778.046 1612.02,778.048 1612.91,778.053 1613.81,778.059 1614.7,778.068 1615.6,778.078 1616.49,778.091 1617.39,778.106 1618.28,778.123 \n",
" 1619.18,778.141 1620.07,778.162 1620.96,778.185 1621.86,778.209 1622.75,778.235 1623.65,778.263 1624.54,778.293 1625.44,778.324 1626.33,778.357 1627.23,778.392 \n",
" 1628.12,778.428 1629.02,778.466 1629.91,778.505 1630.81,778.545 1631.7,778.587 1632.59,778.63 1633.49,778.674 1634.38,778.72 1635.28,778.766 1636.17,778.814 \n",
" 1637.07,778.863 1637.96,778.913 1638.86,778.963 1639.75,779.015 1640.65,779.067 1641.54,779.12 1642.44,779.174 1643.33,779.228 1644.22,779.283 1645.12,779.338 \n",
" 1646.01,779.394 1646.91,779.45 1647.8,779.507 1648.7,779.563 1649.59,779.62 1650.49,779.678 1651.38,779.735 1652.28,779.792 1653.17,779.85 1654.07,779.907 \n",
" 1654.96,779.964 1655.85,780.021 1656.75,780.078 1657.64,780.135 1658.54,780.191 1659.43,780.247 1660.33,780.302 1661.22,780.357 1662.12,780.412 1663.01,780.465 \n",
" 1663.91,780.519 1664.8,780.571 1665.7,780.623 1666.59,780.674 1667.48,780.725 1668.38,780.774 1669.27,780.823 1670.17,780.871 1671.06,780.917 1671.96,780.963 \n",
" 1672.85,781.008 1673.75,781.052 1674.64,781.094 1675.54,781.136 1676.43,781.176 1677.33,781.216 1678.22,781.254 1679.11,781.29 1680.01,781.326 1680.9,781.36 \n",
" 1681.8,781.393 1682.69,781.425 1683.59,781.455 1684.48,781.484 1685.38,781.512 1686.27,781.538 1687.17,781.563 1688.06,781.586 1688.96,781.608 1689.85,781.629 \n",
" 1690.74,781.648 1691.64,781.666 1692.53,781.682 1693.43,781.697 1694.32,781.71 1695.22,781.722 1696.11,781.733 1697.01,781.742 1697.9,781.749 1698.8,781.756 \n",
" 1699.69,781.76 1700.58,781.764 1701.48,781.766 1702.37,781.766 1703.27,781.765 1704.16,781.763 1705.06,781.76 1705.95,781.755 1706.85,781.749 1707.74,781.741 \n",
" 1708.64,781.732 1709.53,781.722 1710.43,781.711 1711.32,781.698 1712.21,781.684 1713.11,781.67 1714,781.653 1714.9,781.636 1715.79,781.618 1716.69,781.599 \n",
" 1717.58,781.578 1718.48,781.557 1719.37,781.534 1720.27,781.511 1721.16,781.486 1722.06,781.461 1722.95,781.435 1723.84,781.408 1724.74,781.381 1725.63,781.352 \n",
" 1726.53,781.323 1727.42,781.293 1728.32,781.262 1729.21,781.231 1730.11,781.199 1731,781.167 1731.9,781.134 1732.79,781.101 1733.69,781.067 1734.58,781.033 \n",
" 1735.47,780.998 1736.37,780.964 1737.26,780.928 1738.16,780.893 1739.05,780.857 1739.95,780.821 1740.84,780.785 1741.74,780.749 1742.63,780.713 1743.53,780.677 \n",
" 1744.42,780.64 1745.32,780.604 1746.21,780.568 1747.1,780.532 1748,780.496 1748.89,780.46 1749.79,780.424 1750.68,780.389 1751.58,780.353 1752.47,780.319 \n",
" 1753.37,780.284 1754.26,780.25 1755.16,780.216 1756.05,780.182 1756.95,780.149 1757.84,780.117 1758.73,780.085 1759.63,780.053 1760.52,780.022 1761.42,779.992 \n",
" 1762.31,779.962 1763.21,779.933 1764.1,779.904 1765,779.876 1765.89,779.849 1766.79,779.822 1767.68,779.796 1768.58,779.771 1769.47,779.747 1770.36,779.723 \n",
" 1771.26,779.7 1772.15,779.678 1773.05,779.657 1773.94,779.637 1774.84,779.617 1775.73,779.598 1776.63,779.581 1777.52,779.564 1778.42,779.547 1779.31,779.532 \n",
" 1780.21,779.518 1781.1,779.505 1781.99,779.492 1782.89,779.48 1783.78,779.47 1784.68,779.46 1785.57,779.451 1786.47,779.443 1787.36,779.436 1788.26,779.43 \n",
" 1789.15,779.425 1790.05,779.421 1790.94,779.417 1791.84,779.415 1792.73,779.413 1793.62,779.412 1794.52,779.412 1795.41,779.413 1796.31,779.415 1797.2,779.418 \n",
" 1798.1,779.422 1798.99,779.426 1799.89,779.431 1800.78,779.437 1801.68,779.444 1802.57,779.452 1803.47,779.46 1804.36,779.469 1805.25,779.479 1806.15,779.49 \n",
" 1807.04,779.501 1807.94,779.513 1808.83,779.526 1809.73,779.539 1810.62,779.553 1811.52,779.567 1812.41,779.583 1813.31,779.598 1814.2,779.615 1815.1,779.631 \n",
" 1815.99,779.649 1816.88,779.667 1817.78,779.685 1818.67,779.704 1819.57,779.723 1820.46,779.742 1821.36,779.762 1822.25,779.783 1823.15,779.803 1824.04,779.824 \n",
" 1824.94,779.845 1825.83,779.867 1826.73,779.889 1827.62,779.911 1828.51,779.933 1829.41,779.955 1830.3,779.978 1831.2,780 1832.09,780.023 1832.99,780.046 \n",
" 1833.88,780.069 1834.78,780.092 1835.67,780.115 1836.57,780.138 1837.46,780.161 1838.35,780.184 1839.25,780.207 1840.14,780.229 1841.04,780.252 1841.93,780.274 \n",
" 1842.83,780.297 1843.72,780.319 1844.62,780.341 1845.51,780.363 1846.41,780.384 1847.3,780.405 1848.2,780.426 1849.09,780.447 1849.98,780.468 1850.88,780.488 \n",
" 1851.77,780.508 1852.67,780.527 1853.56,780.546 1854.46,780.565 1855.35,780.583 1856.25,780.601 1857.14,780.618 1858.04,780.635 1858.93,780.652 1859.83,780.668 \n",
" 1860.72,780.684 1861.61,780.699 1862.51,780.713 1863.4,780.728 1864.3,780.741 1865.19,780.754 1866.09,780.767 1866.98,780.779 1867.88,780.791 1868.77,780.802 \n",
" 1869.67,780.812 1870.56,780.822 1871.46,780.831 1872.35,780.84 1873.24,780.848 1874.14,780.856 1875.03,780.863 1875.93,780.869 1876.82,780.875 1877.72,780.88 \n",
" 1878.61,780.885 1879.51,780.889 1880.4,780.893 1881.3,780.896 1882.19,780.898 1883.09,780.9 1883.98,780.901 1884.87,780.902 1885.77,780.902 1886.66,780.901 \n",
" 1887.56,780.901 1888.45,780.899 1889.35,780.897 1890.24,780.894 1891.14,780.891 1892.03,780.888 1892.93,780.884 1893.82,780.879 1894.72,780.874 1895.61,780.868 \n",
" 1896.5,780.862 1897.4,780.856 1898.29,780.849 1899.19,780.841 1900.08,780.834 1900.98,780.825 1901.87,780.817 1902.77,780.808 1903.66,780.798 1904.56,780.788 \n",
" 1905.45,780.778 1906.35,780.768 1907.24,780.757 1908.13,780.746 1909.03,780.734 1909.92,780.723 1910.82,780.711 1911.71,780.698 1912.61,780.686 1913.5,780.673 \n",
" 1914.4,780.66 1915.29,780.647 1916.19,780.634 1917.08,780.62 1917.98,780.606 1918.87,780.593 1919.76,780.579 1920.66,780.564 1921.55,780.55 1922.45,780.536 \n",
" 1923.34,780.522 1924.24,780.507 1925.13,780.493 1926.03,780.478 1926.92,780.464 1927.82,780.449 1928.71,780.435 1929.61,780.42 1930.5,780.406 1931.39,780.391 \n",
" 1932.29,780.377 1933.18,780.363 1934.08,780.348 1934.97,780.334 1935.87,780.32 1936.76,780.307 1937.66,780.293 1938.55,780.279 1939.45,780.266 1940.34,780.253 \n",
" 1941.24,780.24 1942.13,780.227 1943.02,780.214 1943.92,780.202 1944.81,780.19 1945.71,780.178 1946.6,780.166 1947.5,780.155 1948.39,780.144 1949.29,780.133 \n",
" 1950.18,780.122 1951.08,780.112 1951.97,780.102 1952.87,780.092 1953.76,780.083 1954.65,780.074 1955.55,780.065 1956.44,780.056 1957.34,780.048 1958.23,780.04 \n",
" 1959.13,780.033 1960.02,780.026 1960.92,780.019 1961.81,780.013 1962.71,780.007 1963.6,780.001 1964.5,779.996 1965.39,779.991 1966.28,779.986 1967.18,779.982 \n",
" 1968.07,779.978 1968.97,779.975 1969.86,779.972 1970.76,779.969 1971.65,779.966 1972.55,779.964 1973.44,779.963 1974.34,779.961 1975.23,779.96 1976.12,779.96 \n",
" 1977.02,779.96 1977.91,779.96 1978.81,779.96 1979.7,779.961 1980.6,779.962 1981.49,779.964 1982.39,779.965 1983.28,779.968 1984.18,779.97 1985.07,779.973 \n",
" 1985.97,779.976 1986.86,779.979 1987.75,779.983 1988.65,779.987 1989.54,779.991 1990.44,779.996 1991.33,780.001 1992.23,780.006 1993.12,780.011 1994.02,780.017 \n",
" 1994.91,780.023 1995.81,780.029 1996.7,780.035 1997.6,780.042 1998.49,780.048 1999.38,780.055 2000.28,780.062 2001.17,780.07 2002.07,780.077 2002.96,780.085 \n",
" 2003.86,780.093 2004.75,780.101 2005.65,780.109 2006.54,780.117 2007.44,780.126 2008.33,780.134 2009.23,780.143 2010.12,780.152 2011.01,780.16 2011.91,780.169 \n",
" 2012.8,780.178 2013.7,780.187 2014.59,780.196 2015.49,780.206 2016.38,780.215 2017.28,780.224 2018.17,780.233 2019.07,780.242 2019.96,780.251 2020.86,780.261 \n",
" 2021.75,780.27 2022.64,780.279 2023.54,780.288 2024.43,780.297 2025.33,780.306 2026.22,780.315 2027.12,780.324 2028.01,780.333 2028.91,780.341 2029.8,780.35 \n",
" 2030.7,780.358 2031.59,780.367 2032.49,780.375 2033.38,780.383 2034.27,780.391 2035.17,780.399 2036.06,780.407 2036.96,780.415 2037.85,780.422 2038.75,780.429 \n",
" 2039.64,780.437 2040.54,780.444 2041.43,780.45 2042.33,780.457 2043.22,780.463 2044.12,780.47 2045.01,780.476 2045.9,780.481 2046.8,780.487 2047.69,780.493 \n",
" 2048.59,780.498 2049.48,780.503 2050.38,780.508 2051.27,780.512 2052.17,780.517 2053.06,780.521 2053.96,780.525 2054.85,780.528 2055.75,780.532 2056.64,780.535 \n",
" 2057.53,780.538 2058.43,780.541 2059.32,780.543 2060.22,780.546 2061.11,780.548 2062.01,780.55 2062.9,780.551 2063.8,780.553 2064.69,780.554 2065.59,780.555 \n",
" 2066.48,780.555 2067.38,780.556 2068.27,780.556 2069.16,780.556 2070.06,780.556 2070.95,780.555 2071.85,780.555 2072.74,780.554 2073.64,780.553 2074.53,780.552 \n",
" 2075.43,780.55 2076.32,780.549 2077.22,780.547 2078.11,780.545 2079.01,780.542 2079.9,780.54 2080.79,780.537 2081.69,780.534 2082.58,780.531 2083.48,780.528 \n",
" 2084.37,780.525 2085.27,780.521 2086.16,780.518 2087.06,780.514 2087.95,780.51 2088.85,780.506 2089.74,780.502 2090.64,780.497 2091.53,780.493 2092.42,780.488 \n",
" 2093.32,780.484 2094.21,780.479 2095.11,780.474 2096,780.469 2096.9,780.464 2097.79,780.459 2098.69,780.453 2099.58,780.448 2100.48,780.442 2101.37,780.437 \n",
" 2102.27,780.431 2103.16,780.426 2104.05,780.42 2104.95,780.414 2105.84,780.409 2106.74,780.403 2107.63,780.397 2108.53,780.391 2109.42,780.386 2110.32,780.38 \n",
" 2111.21,780.374 2112.11,780.368 2113,780.362 2113.89,780.357 2114.79,780.351 2115.68,780.345 2116.58,780.339 2117.47,780.334 2118.37,780.328 2119.26,780.323 \n",
" 2120.16,780.317 2121.05,780.312 2121.95,780.306 2122.84,780.301 2123.74,780.295 2124.63,780.29 2125.52,780.285 2126.42,780.28 2127.31,780.275 2128.21,780.27 \n",
" 2129.1,780.266 2130,780.261 2130.89,780.256 2131.79,780.252 2132.68,780.248 2133.58,780.243 2134.47,780.239 2135.37,780.235 2136.26,780.231 2137.15,780.228 \n",
" 2138.05,780.224 2138.94,780.221 2139.84,780.217 2140.73,780.214 2141.63,780.211 2142.52,780.208 2143.42,780.205 2144.31,780.202 2145.21,780.2 2146.1,780.197 \n",
" 2147,780.195 2147.89,780.193 2148.78,780.191 2149.68,780.189 2150.57,780.188 2151.47,780.186 2152.36,780.185 2153.26,780.184 2154.15,780.182 2155.05,780.181 \n",
" 2155.94,780.181 2156.84,780.18 2157.73,780.18 2158.63,780.179 2159.52,780.179 2160.41,780.179 2161.31,780.179 2162.2,780.179 2163.1,780.18 2163.99,780.18 \n",
" 2164.89,780.181 2165.78,780.181 2166.68,780.182 2167.57,780.183 2168.47,780.184 2169.36,780.186 2170.26,780.187 2171.15,780.189 2172.04,780.19 2172.94,780.192 \n",
" 2173.83,780.194 2174.73,780.196 2175.62,780.198 2176.52,780.2 2177.41,780.202 2178.31,780.205 2179.2,780.207 2180.1,780.21 2180.99,780.212 2181.89,780.215 \n",
" 2182.78,780.218 2183.67,780.221 2184.57,780.224 2185.46,780.227 2186.36,780.23 2187.25,780.233 2188.15,780.236 2189.04,780.239 2189.94,780.243 2190.83,780.246 \n",
" 2191.73,780.249 2192.62,780.253 2193.52,780.256 2194.41,780.26 2195.3,780.263 2196.2,780.267 2197.09,780.271 2197.99,780.274 2198.88,780.278 2199.78,780.282 \n",
" 2200.67,780.285 2201.57,780.289 2202.46,780.293 2203.36,780.296 2204.25,780.3 2205.15,780.304 2206.04,780.307 2206.93,780.311 2207.83,780.315 2208.72,780.318 \n",
" 2209.62,780.322 2210.51,780.325 2211.41,780.329 2212.3,780.332 2213.2,780.336 2214.09,780.339 2214.99,780.343 2215.88,780.346 2216.78,780.349 2217.67,780.352 \n",
" 2218.56,780.355 2219.46,780.359 2220.35,780.362 2221.25,780.365 2222.14,780.368 2223.04,780.37 2223.93,780.373 2224.83,780.376 2225.72,780.378 2226.62,780.381 \n",
" 2227.51,780.384 2228.41,780.386 2229.3,780.388 2230.19,780.391 2231.09,780.393 2231.98,780.395 2232.88,780.397 2233.77,780.399 2234.67,780.4 2235.56,780.402 \n",
" 2236.46,780.404 2237.35,780.405 2238.25,780.407 2239.14,780.408 2240.04,780.41 2240.93,780.411 2241.82,780.412 2242.72,780.413 2243.61,780.414 2244.51,780.415 \n",
" 2245.4,780.415 2246.3,780.416 2247.19,780.416 2248.09,780.417 2248.98,780.417 2249.88,780.418 2250.77,780.418 2251.66,780.418 2252.56,780.418 2253.45,780.418 \n",
" 2254.35,780.418 2255.24,780.417 2256.14,780.417 2257.03,780.417 2257.93,780.416 2258.82,780.415 2259.72,780.415 2260.61,780.414 2261.51,780.413 2262.4,780.412 \n",
" 2263.29,780.411 2264.19,780.41 2265.08,780.409 2265.98,780.408 2266.87,780.407 2267.77,780.405 2268.66,780.404 2269.56,780.402 2270.45,780.401 2271.35,780.399 \n",
" 2272.24,780.398 2273.14,780.396 2274.03,780.394 2274.92,780.392 2275.82,780.39 2276.71,780.389 2277.61,780.387 2278.5,780.385 2279.4,780.383 2280.29,780.381 \n",
" 2281.19,780.379 2282.08,780.376 2282.98,780.374 2283.87,780.372 2284.77,780.37 2285.66,780.368 2286.55,780.365 2287.45,780.363 2288.34,780.361 2289.24,780.359 \n",
" 2290.13,780.356 2291.03,780.354 2291.92,780.352 2292.82,780.349 2293.71,780.347 2294.61,780.345 2295.5,780.342 2296.4,780.34 2297.29,780.338 2298.18,780.335 \n",
" 2299.08,780.333 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7602)\" style=\"stroke:#ac8d18; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 509.859,158.579 510.753,159.641 511.648,161.584 512.542,164.321 513.437,167.786 514.332,171.926 515.226,176.694 516.121,182.047 517.015,187.947 517.91,194.357 \n",
" 518.805,201.243 519.699,208.575 520.594,216.323 521.488,224.459 522.383,232.96 523.278,241.802 524.172,250.963 525.067,260.423 525.962,270.166 526.856,280.175 \n",
" 527.751,290.435 528.645,300.934 529.54,311.662 530.435,322.608 531.329,333.766 532.224,345.127 533.118,356.686 534.013,368.439 534.908,380.382 535.802,392.512 \n",
" 536.697,404.826 537.591,417.322 538.486,429.998 539.381,442.853 540.275,455.884 541.17,469.09 542.065,482.467 542.959,496.014 543.854,509.726 544.748,523.601 \n",
" 545.643,537.633 546.538,551.818 547.432,566.149 548.327,580.62 549.221,595.224 550.116,609.953 551.011,624.797 551.905,639.748 552.8,654.795 553.694,669.928 \n",
" 554.589,685.135 555.484,700.405 556.378,715.726 557.273,731.085 558.168,746.468 559.062,761.864 559.957,777.259 560.851,792.639 561.746,807.992 562.641,823.303 \n",
" 563.535,838.56 564.43,853.749 565.324,868.857 566.219,883.873 567.114,898.783 568.008,913.576 568.903,928.24 569.797,942.763 570.692,957.136 571.587,971.348 \n",
" 572.481,985.389 573.376,999.251 574.271,1012.92 575.165,1026.4 576.06,1039.67 576.954,1052.73 577.849,1065.58 578.744,1078.2 579.638,1090.59 580.533,1102.74 \n",
" 581.427,1114.66 582.322,1126.34 583.217,1137.77 584.111,1148.95 585.006,1159.89 585.9,1170.56 586.795,1180.99 587.69,1191.15 588.584,1201.06 589.479,1210.71 \n",
" 590.373,1220.1 591.268,1229.23 592.163,1238.11 593.057,1246.72 593.952,1255.07 594.847,1263.16 595.741,1271 596.636,1278.57 597.53,1285.89 598.425,1292.96 \n",
" 599.32,1299.76 600.214,1306.31 601.109,1312.61 602.003,1318.65 602.898,1324.44 603.793,1329.98 604.687,1335.27 605.582,1340.3 606.476,1345.09 607.371,1349.62 \n",
" 608.266,1353.91 609.16,1357.94 610.055,1361.73 610.95,1365.27 611.844,1368.56 612.739,1371.6 613.633,1374.4 614.528,1376.94 615.423,1379.24 616.317,1381.29 \n",
" 617.212,1383.09 618.106,1384.64 619.001,1385.94 619.896,1387 620.79,1387.8 621.685,1388.36 622.579,1388.66 623.474,1388.71 624.369,1388.52 625.263,1388.07 \n",
" 626.158,1387.37 627.053,1386.43 627.947,1385.23 628.842,1383.78 629.736,1382.08 630.631,1380.13 631.526,1377.94 632.42,1375.49 633.315,1372.8 634.209,1369.86 \n",
" 635.104,1366.67 635.999,1363.24 636.893,1359.56 637.788,1355.65 638.682,1351.49 639.577,1347.1 640.472,1342.47 641.366,1337.61 642.261,1332.51 643.156,1327.19 \n",
" 644.05,1321.64 644.945,1315.87 645.839,1309.88 646.734,1303.68 647.629,1297.26 648.523,1290.64 649.418,1283.81 650.312,1276.79 651.207,1269.57 652.102,1262.16 \n",
" 652.996,1254.56 653.891,1246.78 654.785,1238.83 655.68,1230.71 656.575,1222.43 657.469,1213.99 658.364,1205.4 659.258,1196.66 660.153,1187.79 661.048,1178.78 \n",
" 661.942,1169.65 662.837,1160.39 663.732,1151.03 664.626,1141.55 665.521,1131.98 666.415,1122.32 667.31,1112.57 668.205,1102.75 669.099,1092.86 669.994,1082.9 \n",
" 670.888,1072.89 671.783,1062.83 672.678,1052.73 673.572,1042.6 674.467,1032.44 675.361,1022.27 676.256,1012.09 677.151,1001.9 678.045,991.717 678.94,981.548 \n",
" 679.835,971.398 680.729,961.275 681.624,951.186 682.518,941.139 683.413,931.14 684.308,921.197 685.202,911.316 686.097,901.505 686.991,891.77 687.886,882.118 \n",
" 688.781,872.556 689.675,863.089 690.57,853.724 691.464,844.468 692.359,835.327 693.254,826.305 694.148,817.41 695.043,808.647 695.938,800.02 696.832,791.537 \n",
" 697.727,783.201 698.621,775.017 699.516,766.991 700.411,759.127 701.305,751.43 702.2,743.904 703.094,736.554 703.989,729.382 704.884,722.393 705.778,715.591 \n",
" 706.673,708.979 707.567,702.561 708.462,696.339 709.357,690.316 710.251,684.496 711.146,678.88 712.041,673.471 712.935,668.272 713.83,663.284 714.724,658.509 \n",
" 715.619,653.949 716.514,649.606 717.408,645.48 718.303,641.574 719.197,637.887 720.092,634.422 720.987,631.177 721.881,628.155 722.776,625.355 723.67,622.777 \n",
" 724.565,620.422 725.46,618.29 726.354,616.379 727.249,614.691 728.143,613.223 729.038,611.976 729.933,610.948 730.827,610.139 731.722,609.547 732.617,609.171 \n",
" 733.511,609.01 734.406,609.062 735.3,609.325 736.195,609.798 737.09,610.479 737.984,611.366 738.879,612.456 739.773,613.747 740.668,615.238 741.563,616.925 \n",
" 742.457,618.805 743.352,620.877 744.246,623.138 745.141,625.584 746.036,628.213 746.93,631.022 747.825,634.006 748.72,637.165 749.614,640.493 750.509,643.988 \n",
" 751.403,647.646 752.298,651.464 753.193,655.438 754.087,659.564 754.982,663.84 755.876,668.26 756.771,672.821 757.666,677.52 758.56,682.353 759.455,687.314 \n",
" 760.349,692.401 761.244,697.61 762.139,702.936 763.033,708.375 763.928,713.923 764.823,719.576 765.717,725.329 766.612,731.179 767.506,737.121 768.401,743.15 \n",
" 769.296,749.263 770.19,755.455 771.085,761.721 771.979,768.058 772.874,774.461 773.769,780.925 774.663,787.447 775.558,794.021 776.452,800.643 777.347,807.309 \n",
" 778.242,814.015 779.136,820.756 780.031,827.527 780.926,834.325 781.82,841.145 782.715,847.983 783.609,854.834 784.504,861.693 785.399,868.558 786.293,875.423 \n",
" 787.188,882.284 788.082,889.137 788.977,895.977 789.872,902.802 790.766,909.605 791.661,916.385 792.555,923.135 793.45,929.853 794.345,936.534 795.239,943.174 \n",
" 796.134,949.77 797.028,956.318 797.923,962.813 798.818,969.253 799.712,975.633 800.607,981.95 801.502,988.2 802.396,994.38 803.291,1000.49 804.185,1006.51 \n",
" 805.08,1012.46 805.975,1018.33 806.869,1024.11 807.764,1029.79 808.658,1035.39 809.553,1040.89 810.448,1046.29 811.342,1051.59 812.237,1056.78 813.131,1061.87 \n",
" 814.026,1066.84 814.921,1071.71 815.815,1076.45 816.71,1081.09 817.605,1085.6 818.499,1089.99 819.394,1094.26 820.288,1098.4 821.183,1102.41 822.078,1106.29 \n",
" 822.972,1110.05 823.867,1113.66 824.761,1117.15 825.656,1120.5 826.551,1123.71 827.445,1126.78 828.34,1129.71 829.234,1132.51 830.129,1135.15 831.024,1137.66 \n",
" 831.918,1140.02 832.813,1142.24 833.708,1144.31 834.602,1146.24 835.497,1148.02 836.391,1149.66 837.286,1151.15 838.181,1152.49 839.075,1153.68 839.97,1154.73 \n",
" 840.864,1155.63 841.759,1156.38 842.654,1156.99 843.548,1157.45 844.443,1157.77 845.337,1157.94 846.232,1157.97 847.127,1157.86 848.021,1157.6 848.916,1157.2 \n",
" 849.81,1156.66 850.705,1155.98 851.6,1155.17 852.494,1154.21 853.389,1153.13 854.284,1151.9 855.178,1150.55 856.073,1149.06 856.967,1147.45 857.862,1145.71 \n",
" 858.757,1143.84 859.651,1141.85 860.546,1139.74 861.44,1137.51 862.335,1135.16 863.23,1132.7 864.124,1130.12 865.019,1127.43 865.913,1124.64 866.808,1121.74 \n",
" 867.703,1118.73 868.597,1115.63 869.492,1112.42 870.387,1109.13 871.281,1105.73 872.176,1102.25 873.07,1098.68 873.965,1095.03 874.86,1091.3 875.754,1087.48 \n",
" 876.649,1083.59 877.543,1079.63 878.438,1075.6 879.333,1071.5 880.227,1067.34 881.122,1063.11 882.016,1058.83 882.911,1054.5 883.806,1050.11 884.7,1045.68 \n",
" 885.595,1041.2 886.49,1036.68 887.384,1032.12 888.279,1027.52 889.173,1022.89 890.068,1018.24 890.963,1013.55 891.857,1008.85 892.752,1004.12 893.646,999.381 \n",
" 894.541,994.626 895.436,989.861 896.33,985.089 897.225,980.314 898.119,975.538 899.014,970.764 899.909,965.996 900.803,961.236 901.698,956.488 902.593,951.755 \n",
" 903.487,947.039 904.382,942.344 905.276,937.672 906.171,933.026 907.066,928.409 907.96,923.825 908.855,919.275 909.749,914.762 910.644,910.29 911.539,905.86 \n",
" 912.433,901.475 913.328,897.139 914.222,892.853 915.117,888.619 916.012,884.441 916.906,880.321 917.801,876.26 918.695,872.262 919.59,868.328 920.485,864.46 \n",
" 921.379,860.661 922.274,856.933 923.169,853.277 924.063,849.696 924.958,846.191 925.852,842.764 926.747,839.417 927.642,836.151 928.536,832.968 929.431,829.871 \n",
" 930.325,826.859 931.22,823.935 932.115,821.099 933.009,818.354 933.904,815.7 934.798,813.139 935.693,810.671 936.588,808.298 937.482,806.02 938.377,803.838 \n",
" 939.272,801.754 940.166,799.768 941.061,797.881 941.955,796.093 942.85,794.404 943.745,792.816 944.639,791.329 945.534,789.942 946.428,788.657 947.323,787.474 \n",
" 948.218,786.392 949.112,785.412 950.007,784.533 950.901,783.756 951.796,783.081 952.691,782.507 953.585,782.035 954.48,781.663 955.375,781.391 956.269,781.22 \n",
" 957.164,781.148 958.058,781.175 958.953,781.301 959.848,781.524 960.742,781.844 961.637,782.261 962.531,782.773 963.426,783.379 964.321,784.078 965.215,784.87 \n",
" 966.11,785.754 967.004,786.728 967.899,787.791 968.794,788.942 969.688,790.179 970.583,791.502 971.478,792.909 972.372,794.398 973.267,795.969 974.161,797.619 \n",
" 975.056,799.348 975.951,801.153 976.845,803.033 977.74,804.986 978.634,807.011 979.529,809.105 980.424,811.268 981.318,813.497 982.213,815.791 983.107,818.148 \n",
" 984.002,820.565 984.897,823.041 985.791,825.574 986.686,828.162 987.58,830.803 988.475,833.495 989.37,836.236 990.264,839.024 991.159,841.857 992.054,844.733 \n",
" 992.948,847.65 993.843,850.605 994.737,853.596 995.632,856.622 996.527,859.681 997.421,862.769 998.316,865.885 999.21,869.027 1000.11,872.193 1001,875.38 \n",
" 1001.89,878.586 1002.79,881.809 1003.68,885.048 1004.58,888.299 1005.47,891.561 1006.37,894.831 1007.26,898.108 1008.16,901.388 1009.05,904.671 1009.95,907.954 \n",
" 1010.84,911.235 1011.73,914.511 1012.63,917.781 1013.52,921.043 1014.42,924.294 1015.31,927.533 1016.21,930.758 1017.1,933.966 1018,937.156 1018.89,940.326 \n",
" 1019.79,943.473 1020.68,946.596 1021.58,949.693 1022.47,952.763 1023.36,955.803 1024.26,958.811 1025.15,961.787 1026.05,964.727 1026.94,967.631 1027.84,970.497 \n",
" 1028.73,973.324 1029.63,976.109 1030.52,978.851 1031.42,981.548 1032.31,984.2 1033.21,986.805 1034.1,989.361 1034.99,991.867 1035.89,994.321 1036.78,996.723 \n",
" 1037.68,999.071 1038.57,1001.36 1039.47,1003.6 1040.36,1005.78 1041.26,1007.9 1042.15,1009.96 1043.05,1011.97 1043.94,1013.91 1044.84,1015.78 1045.73,1017.6 \n",
" 1046.62,1019.35 1047.52,1021.04 1048.41,1022.66 1049.31,1024.22 1050.2,1025.71 1051.1,1027.13 1051.99,1028.48 1052.89,1029.77 1053.78,1030.99 1054.68,1032.14 \n",
" 1055.57,1033.22 1056.47,1034.23 1057.36,1035.17 1058.25,1036.05 1059.15,1036.85 1060.04,1037.58 1060.94,1038.24 1061.83,1038.83 1062.73,1039.35 1063.62,1039.8 \n",
" 1064.52,1040.19 1065.41,1040.5 1066.31,1040.74 1067.2,1040.91 1068.1,1041.02 1068.99,1041.05 1069.88,1041.02 1070.78,1040.92 1071.67,1040.75 1072.57,1040.51 \n",
" 1073.46,1040.21 1074.36,1039.84 1075.25,1039.41 1076.15,1038.92 1077.04,1038.35 1077.94,1037.73 1078.83,1037.05 1079.73,1036.3 1080.62,1035.49 1081.51,1034.62 \n",
" 1082.41,1033.7 1083.3,1032.71 1084.2,1031.67 1085.09,1030.58 1085.99,1029.43 1086.88,1028.22 1087.78,1026.96 1088.67,1025.65 1089.57,1024.3 1090.46,1022.89 \n",
" 1091.36,1021.43 1092.25,1019.93 1093.14,1018.38 1094.04,1016.78 1094.93,1015.15 1095.83,1013.47 1096.72,1011.75 1097.62,1009.99 1098.51,1008.2 1099.41,1006.37 \n",
" 1100.3,1004.5 1101.2,1002.6 1102.09,1000.67 1102.99,998.709 1103.88,996.718 1104.77,994.699 1105.67,992.653 1106.56,990.583 1107.46,988.489 1108.35,986.374 \n",
" 1109.25,984.238 1110.14,982.084 1111.04,979.911 1111.93,977.724 1112.83,975.521 1113.72,973.306 1114.62,971.08 1115.51,968.843 1116.4,966.598 1117.3,964.347 \n",
" 1118.19,962.089 1119.09,959.828 1119.98,957.565 1120.88,955.3 1121.77,953.036 1122.67,950.774 1123.56,948.515 1124.46,946.261 1125.35,944.013 1126.25,941.773 \n",
" 1127.14,939.541 1128.03,937.32 1128.93,935.111 1129.82,932.915 1130.72,930.733 1131.61,928.567 1132.51,926.418 1133.4,924.288 1134.3,922.177 1135.19,920.086 \n",
" 1136.09,918.018 1136.98,915.973 1137.88,913.952 1138.77,911.957 1139.66,909.988 1140.56,908.047 1141.45,906.135 1142.35,904.253 1143.24,902.402 1144.14,900.582 \n",
" 1145.03,898.796 1145.93,897.043 1146.82,895.325 1147.72,893.643 1148.61,891.998 1149.5,890.389 1150.4,888.819 1151.29,887.288 1152.19,885.796 1153.08,884.345 \n",
" 1153.98,882.935 1154.87,881.567 1155.77,880.241 1156.66,878.959 1157.56,877.719 1158.45,876.524 1159.35,875.374 1160.24,874.268 1161.13,873.208 1162.03,872.194 \n",
" 1162.92,871.227 1163.82,870.305 1164.71,869.431 1165.61,868.604 1166.5,867.825 1167.4,867.093 1168.29,866.409 1169.19,865.774 1170.08,865.186 1170.98,864.647 \n",
" 1171.87,864.156 1172.76,863.713 1173.66,863.318 1174.55,862.972 1175.45,862.675 1176.34,862.425 1177.24,862.223 1178.13,862.069 1179.03,861.963 1179.92,861.904 \n",
" 1180.82,861.893 1181.71,861.928 1182.61,862.01 1183.5,862.139 1184.39,862.313 1185.29,862.533 1186.18,862.798 1187.08,863.108 1187.97,863.462 1188.87,863.859 \n",
" 1189.76,864.3 1190.66,864.784 1191.55,865.31 1192.45,865.877 1193.34,866.486 1194.24,867.134 1195.13,867.823 1196.02,868.55 1196.92,869.316 1197.81,870.119 \n",
" 1198.71,870.959 1199.6,871.835 1200.5,872.746 1201.39,873.692 1202.29,874.671 1203.18,875.683 1204.08,876.728 1204.97,877.803 1205.87,878.909 1206.76,880.044 \n",
" 1207.65,881.208 1208.55,882.399 1209.44,883.617 1210.34,884.86 1211.23,886.129 1212.13,887.421 1213.02,888.736 1213.92,890.072 1214.81,891.43 1215.71,892.807 \n",
" 1216.6,894.204 1217.5,895.618 1218.39,897.049 1219.28,898.496 1220.18,899.957 1221.07,901.433 1221.97,902.921 1222.86,904.421 1223.76,905.931 1224.65,907.452 \n",
" 1225.55,908.98 1226.44,910.517 1227.34,912.06 1228.23,913.608 1229.13,915.161 1230.02,916.718 1230.91,918.277 1231.81,919.837 1232.7,921.398 1233.6,922.958 \n",
" 1234.49,924.517 1235.39,926.073 1236.28,927.626 1237.18,929.174 1238.07,930.717 1238.97,932.253 1239.86,933.782 1240.76,935.302 1241.65,936.814 1242.54,938.315 \n",
" 1243.44,939.805 1244.33,941.283 1245.23,942.748 1246.12,944.2 1247.02,945.637 1247.91,947.059 1248.81,948.465 1249.7,949.853 1250.6,951.224 1251.49,952.576 \n",
" 1252.39,953.909 1253.28,955.222 1254.17,956.514 1255.07,957.784 1255.96,959.033 1256.86,960.258 1257.75,961.46 1258.65,962.638 1259.54,963.791 1260.44,964.919 \n",
" 1261.33,966.021 1262.23,967.097 1263.12,968.145 1264.02,969.166 1264.91,970.16 1265.8,971.124 1266.7,972.06 1267.59,972.966 1268.49,973.843 1269.38,974.689 \n",
" 1270.28,975.505 1271.17,976.29 1272.07,977.045 1272.96,977.767 1273.86,978.458 1274.75,979.117 1275.65,979.743 1276.54,980.338 1277.43,980.899 1278.33,981.428 \n",
" 1279.22,981.924 1280.12,982.387 1281.01,982.817 1281.91,983.213 1282.8,983.576 1283.7,983.906 1284.59,984.203 1285.49,984.466 1286.38,984.696 1287.27,984.893 \n",
" 1288.17,985.056 1289.06,985.187 1289.96,985.284 1290.85,985.349 1291.75,985.381 1292.64,985.38 1293.54,985.348 1294.43,985.283 1295.33,985.186 1296.22,985.058 \n",
" 1297.12,984.898 1298.01,984.707 1298.9,984.486 1299.8,984.234 1300.69,983.952 1301.59,983.64 1302.48,983.299 1303.38,982.929 1304.27,982.53 1305.17,982.104 \n",
" 1306.06,981.649 1306.96,981.168 1307.85,980.659 1308.75,980.125 1309.64,979.565 1310.53,978.979 1311.43,978.369 1312.32,977.734 1313.22,977.076 1314.11,976.395 \n",
" 1315.01,975.691 1315.9,974.966 1316.8,974.219 1317.69,973.451 1318.59,972.663 1319.48,971.856 1320.38,971.03 1321.27,970.186 1322.16,969.324 1323.06,968.446 \n",
" 1323.95,967.551 1324.85,966.64 1325.74,965.715 1326.64,964.775 1327.53,963.822 1328.43,962.857 1329.32,961.879 1330.22,960.889 1331.11,959.889 1332.01,958.879 \n",
" 1332.9,957.859 1333.79,956.831 1334.69,955.796 1335.58,954.752 1336.48,953.703 1337.37,952.648 1338.27,951.587 1339.16,950.523 1340.06,949.454 1340.95,948.383 \n",
" 1341.85,947.309 1342.74,946.235 1343.64,945.159 1344.53,944.083 1345.42,943.007 1346.32,941.933 1347.21,940.861 1348.11,939.792 1349,938.725 1349.9,937.663 \n",
" 1350.79,936.606 1351.69,935.553 1352.58,934.507 1353.48,933.467 1354.37,932.434 1355.27,931.409 1356.16,930.392 1357.05,929.384 1357.95,928.386 1358.84,927.398 \n",
" 1359.74,926.421 1360.63,925.455 1361.53,924.501 1362.42,923.56 1363.32,922.631 1364.21,921.716 1365.11,920.815 1366,919.928 1366.9,919.056 1367.79,918.2 \n",
" 1368.68,917.359 1369.58,916.535 1370.47,915.727 1371.37,914.937 1372.26,914.164 1373.16,913.409 1374.05,912.673 1374.95,911.955 1375.84,911.256 1376.74,910.577 \n",
" 1377.63,909.917 1378.53,909.277 1379.42,908.658 1380.31,908.059 1381.21,907.481 1382.1,906.924 1383,906.388 1383.89,905.874 1384.79,905.382 1385.68,904.911 \n",
" 1386.58,904.463 1387.47,904.037 1388.37,903.633 1389.26,903.252 1390.16,902.893 1391.05,902.557 1391.94,902.244 1392.84,901.954 1393.73,901.687 1394.63,901.442 \n",
" 1395.52,901.221 1396.42,901.022 1397.31,900.847 1398.21,900.694 1399.1,900.565 1400,900.458 1400.89,900.374 1401.79,900.312 1402.68,900.274 1403.57,900.258 \n",
" 1404.47,900.264 1405.36,900.292 1406.26,900.343 1407.15,900.415 1408.05,900.509 1408.94,900.625 1409.84,900.762 1410.73,900.92 1411.63,901.099 1412.52,901.299 \n",
" 1413.42,901.519 1414.31,901.759 1415.2,902.02 1416.1,902.299 1416.99,902.598 1417.89,902.917 1418.78,903.253 1419.68,903.608 1420.57,903.982 1421.47,904.372 \n",
" 1422.36,904.78 1423.26,905.205 1424.15,905.647 1425.04,906.105 1425.94,906.579 1426.83,907.068 1427.73,907.572 1428.62,908.09 1429.52,908.623 1430.41,909.17 \n",
" 1431.31,909.729 1432.2,910.302 1433.1,910.887 1433.99,911.484 1434.89,912.093 1435.78,912.713 1436.67,913.343 1437.57,913.983 1438.46,914.633 1439.36,915.293 \n",
" 1440.25,915.961 1441.15,916.637 1442.04,917.321 1442.94,918.012 1443.83,918.71 1444.73,919.414 1445.62,920.125 1446.52,920.84 1447.41,921.56 1448.3,922.285 \n",
" 1449.2,923.013 1450.09,923.745 1450.99,924.48 1451.88,925.217 1452.78,925.955 1453.67,926.696 1454.57,927.437 1455.46,928.179 1456.36,928.92 1457.25,929.661 \n",
" 1458.15,930.401 1459.04,931.14 1459.93,931.877 1460.83,932.611 1461.72,933.342 1462.62,934.071 1463.51,934.795 1464.41,935.515 1465.3,936.231 1466.2,936.942 \n",
" 1467.09,937.647 1467.99,938.346 1468.88,939.039 1469.78,939.725 1470.67,940.404 1471.56,941.076 1472.46,941.739 1473.35,942.395 1474.25,943.042 1475.14,943.679 \n",
" 1476.04,944.308 1476.93,944.927 1477.83,945.535 1478.72,946.133 1479.62,946.721 1480.51,947.298 1481.41,947.863 1482.3,948.416 1483.19,948.958 1484.09,949.488 \n",
" 1484.98,950.005 1485.88,950.509 1486.77,951.001 1487.67,951.479 1488.56,951.944 1489.46,952.395 1490.35,952.832 1491.25,953.255 1492.14,953.665 1493.04,954.059 \n",
" 1493.93,954.439 1494.82,954.805 1495.72,955.155 1496.61,955.491 1497.51,955.811 1498.4,956.116 1499.3,956.406 1500.19,956.68 1501.09,956.939 1501.98,957.182 \n",
" 1502.88,957.41 1503.77,957.621 1504.67,957.817 1505.56,957.997 1506.45,958.162 1507.35,958.31 1508.24,958.443 1509.14,958.56 1510.03,958.661 1510.93,958.746 \n",
" 1511.82,958.816 1512.72,958.869 1513.61,958.908 1514.51,958.93 1515.4,958.937 1516.3,958.929 1517.19,958.906 1518.08,958.867 1518.98,958.813 1519.87,958.744 \n",
" 1520.77,958.661 1521.66,958.562 1522.56,958.45 1523.45,958.322 1524.35,958.181 1525.24,958.026 1526.14,957.856 1527.03,957.673 1527.93,957.477 1528.82,957.267 \n",
" 1529.71,957.045 1530.61,956.809 1531.5,956.561 1532.4,956.301 1533.29,956.028 1534.19,955.744 1535.08,955.448 1535.98,955.141 1536.87,954.822 1537.77,954.493 \n",
" 1538.66,954.153 1539.56,953.803 1540.45,953.443 1541.34,953.073 1542.24,952.694 1543.13,952.306 1544.03,951.909 1544.92,951.503 1545.82,951.09 1546.71,950.668 \n",
" 1547.61,950.239 1548.5,949.803 1549.4,949.359 1550.29,948.91 1551.19,948.454 1552.08,947.992 1552.97,947.524 1553.87,947.051 1554.76,946.573 1555.66,946.091 \n",
" 1556.55,945.605 1557.45,945.114 1558.34,944.62 1559.24,944.123 1560.13,943.623 1561.03,943.12 1561.92,942.615 1562.81,942.108 1563.71,941.6 1564.6,941.09 \n",
" 1565.5,940.58 1566.39,940.069 1567.29,939.557 1568.18,939.046 1569.08,938.535 1569.97,938.026 1570.87,937.517 1571.76,937.009 1572.66,936.504 1573.55,936 \n",
" 1574.44,935.499 1575.34,935 1576.23,934.504 1577.13,934.012 1578.02,933.523 1578.92,933.038 1579.81,932.557 1580.71,932.081 1581.6,931.609 1582.5,931.142 \n",
" 1583.39,930.68 1584.29,930.224 1585.18,929.774 1586.07,929.33 1586.97,928.892 1587.86,928.461 1588.76,928.036 1589.65,927.618 1590.55,927.208 1591.44,926.805 \n",
" 1592.34,926.409 1593.23,926.022 1594.13,925.642 1595.02,925.271 1595.92,924.908 1596.81,924.554 1597.7,924.209 1598.6,923.872 1599.49,923.545 1600.39,923.227 \n",
" 1601.28,922.918 1602.18,922.619 1603.07,922.33 1603.97,922.051 1604.86,921.781 1605.76,921.522 1606.65,921.273 1607.55,921.034 1608.44,920.805 1609.33,920.587 \n",
" 1610.23,920.38 1611.12,920.183 1612.02,919.996 1612.91,919.821 1613.81,919.656 1614.7,919.502 1615.6,919.359 1616.49,919.227 1617.39,919.105 1618.28,918.995 \n",
" 1619.18,918.895 1620.07,918.807 1620.96,918.729 1621.86,918.662 1622.75,918.606 1623.65,918.561 1624.54,918.527 1625.44,918.503 1626.33,918.491 1627.23,918.488 \n",
" 1628.12,918.497 1629.02,918.516 1629.91,918.545 1630.81,918.585 1631.7,918.635 1632.59,918.695 1633.49,918.766 1634.38,918.846 1635.28,918.936 1636.17,919.036 \n",
" 1637.07,919.146 1637.96,919.265 1638.86,919.394 1639.75,919.531 1640.65,919.678 1641.54,919.834 1642.44,919.999 1643.33,920.172 1644.22,920.354 1645.12,920.544 \n",
" 1646.01,920.742 1646.91,920.948 1647.8,921.162 1648.7,921.383 1649.59,921.612 1650.49,921.848 1651.38,922.091 1652.28,922.341 1653.17,922.598 1654.07,922.861 \n",
" 1654.96,923.13 1655.85,923.405 1656.75,923.686 1657.64,923.973 1658.54,924.265 1659.43,924.562 1660.33,924.864 1661.22,925.171 1662.12,925.482 1663.01,925.797 \n",
" 1663.91,926.117 1664.8,926.44 1665.7,926.767 1666.59,927.097 1667.48,927.43 1668.38,927.767 1669.27,928.105 1670.17,928.446 1671.06,928.79 1671.96,929.135 \n",
" 1672.85,929.482 1673.75,929.83 1674.64,930.18 1675.54,930.531 1676.43,930.882 1677.33,931.234 1678.22,931.587 1679.11,931.939 1680.01,932.291 1680.9,932.643 \n",
" 1681.8,932.995 1682.69,933.345 1683.59,933.695 1684.48,934.043 1685.38,934.39 1686.27,934.735 1687.17,935.078 1688.06,935.419 1688.96,935.758 1689.85,936.094 \n",
" 1690.74,936.428 1691.64,936.759 1692.53,937.086 1693.43,937.411 1694.32,937.731 1695.22,938.049 1696.11,938.362 1697.01,938.671 1697.9,938.976 1698.8,939.277 \n",
" 1699.69,939.573 1700.58,939.865 1701.48,940.151 1702.37,940.433 1703.27,940.71 1704.16,940.981 1705.06,941.246 1705.95,941.507 1706.85,941.761 1707.74,942.009 \n",
" 1708.64,942.252 1709.53,942.489 1710.43,942.719 1711.32,942.943 1712.21,943.16 1713.11,943.371 1714,943.576 1714.9,943.773 1715.79,943.964 1716.69,944.148 \n",
" 1717.58,944.325 1718.48,944.495 1719.37,944.658 1720.27,944.813 1721.16,944.962 1722.06,945.103 1722.95,945.237 1723.84,945.363 1724.74,945.482 1725.63,945.594 \n",
" 1726.53,945.698 1727.42,945.795 1728.32,945.884 1729.21,945.966 1730.11,946.04 1731,946.107 1731.9,946.166 1732.79,946.217 1733.69,946.262 1734.58,946.298 \n",
" 1735.47,946.327 1736.37,946.349 1737.26,946.363 1738.16,946.37 1739.05,946.37 1739.95,946.362 1740.84,946.347 1741.74,946.325 1742.63,946.296 1743.53,946.259 \n",
" 1744.42,946.216 1745.32,946.166 1746.21,946.108 1747.1,946.045 1748,945.974 1748.89,945.897 1749.79,945.813 1750.68,945.723 1751.58,945.626 1752.47,945.523 \n",
" 1753.37,945.414 1754.26,945.299 1755.16,945.178 1756.05,945.051 1756.95,944.919 1757.84,944.781 1758.73,944.637 1759.63,944.489 1760.52,944.335 1761.42,944.176 \n",
" 1762.31,944.012 1763.21,943.843 1764.1,943.669 1765,943.491 1765.89,943.309 1766.79,943.122 1767.68,942.931 1768.58,942.737 1769.47,942.538 1770.36,942.336 \n",
" 1771.26,942.13 1772.15,941.921 1773.05,941.709 1773.94,941.494 1774.84,941.275 1775.73,941.054 1776.63,940.831 1777.52,940.605 1778.42,940.377 1779.31,940.147 \n",
" 1780.21,939.914 1781.1,939.681 1781.99,939.445 1782.89,939.208 1783.78,938.97 1784.68,938.73 1785.57,938.49 1786.47,938.248 1787.36,938.007 1788.26,937.764 \n",
" 1789.15,937.522 1790.05,937.279 1790.94,937.036 1791.84,936.793 1792.73,936.55 1793.62,936.308 1794.52,936.067 1795.41,935.826 1796.31,935.586 1797.2,935.348 \n",
" 1798.1,935.11 1798.99,934.874 1799.89,934.639 1800.78,934.406 1801.68,934.175 1802.57,933.945 1803.47,933.718 1804.36,933.493 1805.25,933.27 1806.15,933.049 \n",
" 1807.04,932.831 1807.94,932.616 1808.83,932.403 1809.73,932.194 1810.62,931.987 1811.52,931.784 1812.41,931.584 1813.31,931.387 1814.2,931.194 1815.1,931.004 \n",
" 1815.99,930.818 1816.88,930.636 1817.78,930.458 1818.67,930.284 1819.57,930.113 1820.46,929.947 1821.36,929.785 1822.25,929.628 1823.15,929.475 1824.04,929.326 \n",
" 1824.94,929.182 1825.83,929.042 1826.73,928.907 1827.62,928.777 1828.51,928.651 1829.41,928.53 1830.3,928.414 1831.2,928.303 1832.09,928.197 1832.99,928.096 \n",
" 1833.88,928 1834.78,927.909 1835.67,927.824 1836.57,927.743 1837.46,927.667 1838.35,927.597 1839.25,927.531 1840.14,927.471 1841.04,927.416 1841.93,927.367 \n",
" 1842.83,927.322 1843.72,927.283 1844.62,927.248 1845.51,927.219 1846.41,927.195 1847.3,927.177 1848.2,927.163 1849.09,927.155 1849.98,927.151 1850.88,927.153 \n",
" 1851.77,927.159 1852.67,927.171 1853.56,927.187 1854.46,927.209 1855.35,927.235 1856.25,927.266 1857.14,927.302 1858.04,927.343 1858.93,927.388 1859.83,927.438 \n",
" 1860.72,927.493 1861.61,927.552 1862.51,927.615 1863.4,927.683 1864.3,927.755 1865.19,927.831 1866.09,927.911 1866.98,927.996 1867.88,928.084 1868.77,928.176 \n",
" 1869.67,928.272 1870.56,928.372 1871.46,928.476 1872.35,928.583 1873.24,928.694 1874.14,928.807 1875.03,928.925 1875.93,929.045 1876.82,929.169 1877.72,929.295 \n",
" 1878.61,929.425 1879.51,929.557 1880.4,929.692 1881.3,929.829 1882.19,929.969 1883.09,930.112 1883.98,930.256 1884.87,930.403 1885.77,930.552 1886.66,930.703 \n",
" 1887.56,930.856 1888.45,931.01 1889.35,931.166 1890.24,931.324 1891.14,931.483 1892.03,931.644 1892.93,931.805 1893.82,931.968 1894.72,932.131 1895.61,932.296 \n",
" 1896.5,932.461 1897.4,932.627 1898.29,932.794 1899.19,932.96 1900.08,933.128 1900.98,933.295 1901.87,933.462 1902.77,933.63 1903.66,933.797 1904.56,933.964 \n",
" 1905.45,934.131 1906.35,934.297 1907.24,934.463 1908.13,934.628 1909.03,934.793 1909.92,934.956 1910.82,935.119 1911.71,935.28 1912.61,935.441 1913.5,935.6 \n",
" 1914.4,935.758 1915.29,935.914 1916.19,936.069 1917.08,936.222 1917.98,936.374 1918.87,936.523 1919.76,936.671 1920.66,936.817 1921.55,936.961 1922.45,937.103 \n",
" 1923.34,937.242 1924.24,937.38 1925.13,937.515 1926.03,937.647 1926.92,937.777 1927.82,937.905 1928.71,938.03 1929.61,938.152 1930.5,938.271 1931.39,938.388 \n",
" 1932.29,938.502 1933.18,938.613 1934.08,938.721 1934.97,938.825 1935.87,938.927 1936.76,939.026 1937.66,939.121 1938.55,939.213 1939.45,939.302 1940.34,939.388 \n",
" 1941.24,939.47 1942.13,939.549 1943.02,939.625 1943.92,939.697 1944.81,939.766 1945.71,939.831 1946.6,939.893 1947.5,939.951 1948.39,940.006 1949.29,940.057 \n",
" 1950.18,940.105 1951.08,940.149 1951.97,940.189 1952.87,940.226 1953.76,940.26 1954.65,940.29 1955.55,940.316 1956.44,940.338 1957.34,940.358 1958.23,940.373 \n",
" 1959.13,940.385 1960.02,940.394 1960.92,940.399 1961.81,940.4 1962.71,940.398 1963.6,940.393 1964.5,940.384 1965.39,940.371 1966.28,940.356 1967.18,940.337 \n",
" 1968.07,940.314 1968.97,940.289 1969.86,940.26 1970.76,940.228 1971.65,940.193 1972.55,940.154 1973.44,940.113 1974.34,940.068 1975.23,940.021 1976.12,939.971 \n",
" 1977.02,939.917 1977.91,939.861 1978.81,939.802 1979.7,939.741 1980.6,939.676 1981.49,939.609 1982.39,939.54 1983.28,939.468 1984.18,939.393 1985.07,939.317 \n",
" 1985.97,939.238 1986.86,939.156 1987.75,939.073 1988.65,938.987 1989.54,938.899 1990.44,938.809 1991.33,938.718 1992.23,938.624 1993.12,938.529 1994.02,938.432 \n",
" 1994.91,938.333 1995.81,938.233 1996.7,938.132 1997.6,938.029 1998.49,937.924 1999.38,937.819 2000.28,937.712 2001.17,937.604 2002.07,937.495 2002.96,937.385 \n",
" 2003.86,937.274 2004.75,937.163 2005.65,937.051 2006.54,936.938 2007.44,936.824 2008.33,936.71 2009.23,936.596 2010.12,936.481 2011.01,936.366 2011.91,936.25 \n",
" 2012.8,936.135 2013.7,936.02 2014.59,935.904 2015.49,935.789 2016.38,935.674 2017.28,935.559 2018.17,935.444 2019.07,935.33 2019.96,935.217 2020.86,935.103 \n",
" 2021.75,934.991 2022.64,934.879 2023.54,934.768 2024.43,934.657 2025.33,934.548 2026.22,934.439 2027.12,934.332 2028.01,934.225 2028.91,934.12 2029.8,934.016 \n",
" 2030.7,933.913 2031.59,933.811 2032.49,933.711 2033.38,933.612 2034.27,933.515 2035.17,933.419 2036.06,933.325 2036.96,933.232 2037.85,933.141 2038.75,933.052 \n",
" 2039.64,932.965 2040.54,932.879 2041.43,932.796 2042.33,932.714 2043.22,932.634 2044.12,932.556 2045.01,932.48 2045.9,932.406 2046.8,932.335 2047.69,932.265 \n",
" 2048.59,932.198 2049.48,932.132 2050.38,932.069 2051.27,932.009 2052.17,931.95 2053.06,931.894 2053.96,931.84 2054.85,931.789 2055.75,931.74 2056.64,931.693 \n",
" 2057.53,931.648 2058.43,931.606 2059.32,931.567 2060.22,931.53 2061.11,931.495 2062.01,931.463 2062.9,931.433 2063.8,931.406 2064.69,931.381 2065.59,931.359 \n",
" 2066.48,931.339 2067.38,931.321 2068.27,931.306 2069.16,931.294 2070.06,931.284 2070.95,931.276 2071.85,931.271 2072.74,931.268 2073.64,931.268 2074.53,931.27 \n",
" 2075.43,931.274 2076.32,931.281 2077.22,931.29 2078.11,931.301 2079.01,931.315 2079.9,931.331 2080.79,931.349 2081.69,931.37 2082.58,931.392 2083.48,931.417 \n",
" 2084.37,931.444 2085.27,931.473 2086.16,931.505 2087.06,931.538 2087.95,931.573 2088.85,931.61 2089.74,931.65 2090.64,931.691 2091.53,931.734 2092.42,931.778 \n",
" 2093.32,931.825 2094.21,931.873 2095.11,931.924 2096,931.975 2096.9,932.029 2097.79,932.084 2098.69,932.14 2099.58,932.198 2100.48,932.258 2101.37,932.318 \n",
" 2102.27,932.381 2103.16,932.444 2104.05,932.509 2104.95,932.575 2105.84,932.642 2106.74,932.71 2107.63,932.779 2108.53,932.85 2109.42,932.921 2110.32,932.993 \n",
" 2111.21,933.066 2112.11,933.14 2113,933.215 2113.89,933.29 2114.79,933.366 2115.68,933.442 2116.58,933.519 2117.47,933.597 2118.37,933.675 2119.26,933.753 \n",
" 2120.16,933.832 2121.05,933.911 2121.95,933.99 2122.84,934.069 2123.74,934.149 2124.63,934.229 2125.52,934.308 2126.42,934.388 2127.31,934.467 2128.21,934.546 \n",
" 2129.1,934.626 2130,934.704 2130.89,934.783 2131.79,934.861 2132.68,934.939 2133.58,935.017 2134.47,935.094 2135.37,935.17 2136.26,935.246 2137.15,935.321 \n",
" 2138.05,935.396 2138.94,935.47 2139.84,935.543 2140.73,935.616 2141.63,935.687 2142.52,935.758 2143.42,935.828 2144.31,935.897 2145.21,935.964 2146.1,936.031 \n",
" 2147,936.097 2147.89,936.162 2148.78,936.225 2149.68,936.288 2150.57,936.349 2151.47,936.409 2152.36,936.467 2153.26,936.525 2154.15,936.581 2155.05,936.636 \n",
" 2155.94,936.689 2156.84,936.741 2157.73,936.791 2158.63,936.84 2159.52,936.888 2160.41,936.934 2161.31,936.979 2162.2,937.022 2163.1,937.063 2163.99,937.103 \n",
" 2164.89,937.141 2165.78,937.178 2166.68,937.213 2167.57,937.246 2168.47,937.278 2169.36,937.308 2170.26,937.337 2171.15,937.364 2172.04,937.389 2172.94,937.412 \n",
" 2173.83,937.434 2174.73,937.454 2175.62,937.473 2176.52,937.489 2177.41,937.504 2178.31,937.517 2179.2,937.529 2180.1,937.539 2180.99,937.547 2181.89,937.554 \n",
" 2182.78,937.558 2183.67,937.562 2184.57,937.563 2185.46,937.563 2186.36,937.561 2187.25,937.558 2188.15,937.553 2189.04,937.546 2189.94,937.538 2190.83,937.528 \n",
" 2191.73,937.516 2192.62,937.503 2193.52,937.489 2194.41,937.473 2195.3,937.455 2196.2,937.436 2197.09,937.416 2197.99,937.394 2198.88,937.371 2199.78,937.346 \n",
" 2200.67,937.32 2201.57,937.293 2202.46,937.264 2203.36,937.234 2204.25,937.203 2205.15,937.171 2206.04,937.137 2206.93,937.102 2207.83,937.066 2208.72,937.029 \n",
" 2209.62,936.991 2210.51,936.952 2211.41,936.911 2212.3,936.87 2213.2,936.828 2214.09,936.785 2214.99,936.741 2215.88,936.696 2216.78,936.65 2217.67,936.604 \n",
" 2218.56,936.557 2219.46,936.509 2220.35,936.46 2221.25,936.411 2222.14,936.361 2223.04,936.31 2223.93,936.259 2224.83,936.208 2225.72,936.156 2226.62,936.103 \n",
" 2227.51,936.051 2228.41,935.997 2229.3,935.944 2230.19,935.89 2231.09,935.836 2231.98,935.782 2232.88,935.727 2233.77,935.673 2234.67,935.618 2235.56,935.563 \n",
" 2236.46,935.508 2237.35,935.453 2238.25,935.399 2239.14,935.344 2240.04,935.289 2240.93,935.235 2241.82,935.18 2242.72,935.126 2243.61,935.072 2244.51,935.019 \n",
" 2245.4,934.965 2246.3,934.912 2247.19,934.86 2248.09,934.808 2248.98,934.756 2249.88,934.704 2250.77,934.654 2251.66,934.603 2252.56,934.554 2253.45,934.504 \n",
" 2254.35,934.456 2255.24,934.408 2256.14,934.361 2257.03,934.314 2257.93,934.268 2258.82,934.223 2259.72,934.179 2260.61,934.135 2261.51,934.092 2262.4,934.05 \n",
" 2263.29,934.009 2264.19,933.969 2265.08,933.93 2265.98,933.891 2266.87,933.854 2267.77,933.817 2268.66,933.782 2269.56,933.747 2270.45,933.714 2271.35,933.681 \n",
" 2272.24,933.65 2273.14,933.619 2274.03,933.59 2274.92,933.561 2275.82,933.534 2276.71,933.508 2277.61,933.483 2278.5,933.459 2279.4,933.437 2280.29,933.415 \n",
" 2281.19,933.394 2282.08,933.375 2282.98,933.357 2283.87,933.34 2284.77,933.324 2285.66,933.309 2286.55,933.296 2287.45,933.283 2288.34,933.272 2289.24,933.262 \n",
" 2290.13,933.253 2291.03,933.246 2291.92,933.239 2292.82,933.234 2293.71,933.23 2294.61,933.227 2295.5,933.225 2296.4,933.224 2297.29,933.224 2298.18,933.226 \n",
" 2299.08,933.229 \n",
" \"/>\n",
"<path clip-path=\"url(#clip7600)\" d=\"\n",
"M1746.47 568.075 L2280.76 568.075 L2280.76 205.195 L1746.47 205.195 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1746.47,568.075 2280.76,568.075 2280.76,205.195 1746.47,205.195 1746.47,568.075 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1770.47,265.675 1914.47,265.675 \n",
" \"/>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 1938.47, 283.175)\" x=\"1938.47\" y=\"283.175\">Lattice size: 1</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#e26f46; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1770.47,326.155 1914.47,326.155 \n",
" \"/>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 1938.47, 343.655)\" x=\"1938.47\" y=\"343.655\">Lattice size: 2</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#3da44d; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1770.47,386.635 1914.47,386.635 \n",
" \"/>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 1938.47, 404.135)\" x=\"1938.47\" y=\"404.135\">Lattice size: 3</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#c271d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1770.47,447.115 1914.47,447.115 \n",
" \"/>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 1938.47, 464.615)\" x=\"1938.47\" y=\"464.615\">Lattice size: 4</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip7600)\" style=\"stroke:#ac8d18; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1770.47,507.595 1914.47,507.595 \n",
" \"/>\n",
"<g clip-path=\"url(#clip7600)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 1938.47, 525.095)\" x=\"1938.47\" y=\"525.095\">Lattice size: 5</text>\n",
"</g>\n",
"</svg>\n"
]
},
"execution_count": 885,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot()\n",
"for i in 1:5\n",
" plot!(1:step:numTimeStepsRecorded,DDisplacements[i],label=\"Lattice size: $i\",xlabel=\"timestep\",ylabel=\"displacement\",title=\"Dynamic Model Convergence\")\n",
"\n",
"end\n",
"plot!()\n",
"# savefig(\"dynamic_convergence\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"@webio": {
"lastCommId": null,
"lastKernelId": null
},
"kernelspec": {
"display_name": "Julia 1.2.0",
"language": "julia",
"name": "julia-1.2"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.2.0"
}
},
"nbformat": 4,
"nbformat_minor": 4
}