From 8a19be5ef124c63f5922a11f3e57fe8d79563a4f Mon Sep 17 00:00:00 2001 From: bangerth Date: Tue, 19 Jun 2007 09:02:36 +0000 Subject: [PATCH] Some tests for the new CompressedSetSparsityPattern git-svn-id: https://svn.dealii.org/trunk@14784 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/bits/Makefile | 1 + .../compressed_set_sparsity_pattern_01.cc | 53 + .../cmp/generic | 2 + .../compressed_set_sparsity_pattern_02.cc | 50 + .../cmp/generic | 2 + .../compressed_set_sparsity_pattern_03.cc | 62 + .../cmp/generic | 1001 +++ .../compressed_set_sparsity_pattern_04.cc | 55 + .../cmp/generic | 872 +++ .../compressed_set_sparsity_pattern_05.cc | 56 + .../cmp/generic | 1625 +++++ .../compressed_set_sparsity_pattern_06.cc | 51 + .../cmp/generic | 1626 +++++ .../compressed_set_sparsity_pattern_07.cc | 55 + .../cmp/generic | 101 + .../compressed_set_sparsity_pattern_08.cc | 50 + .../cmp/generic | 2 + .../compressed_set_sparsity_pattern_09.cc | 47 + .../cmp/generic | 2 + tests/hp/crash_17_compressed_set_sparsity.cc | 732 +++ .../cmp/generic | 5344 +++++++++++++++++ tests/hp/crash_18_compressed_set_sparsity.cc | 738 +++ .../cmp/generic | 13 + tests/hp/step-11_compressed_set_sparsity.cc | 254 + .../cmp/generic | 67 + 25 files changed, 12861 insertions(+) create mode 100644 tests/bits/compressed_set_sparsity_pattern_01.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_01/cmp/generic create mode 100644 tests/bits/compressed_set_sparsity_pattern_02.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_02/cmp/generic create mode 100644 tests/bits/compressed_set_sparsity_pattern_03.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_03/cmp/generic create mode 100644 tests/bits/compressed_set_sparsity_pattern_04.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_04/cmp/generic create mode 100644 tests/bits/compressed_set_sparsity_pattern_05.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_05/cmp/generic create mode 100644 tests/bits/compressed_set_sparsity_pattern_06.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_06/cmp/generic create mode 100644 tests/bits/compressed_set_sparsity_pattern_07.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_07/cmp/generic create mode 100644 tests/bits/compressed_set_sparsity_pattern_08.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_08/cmp/generic create mode 100644 tests/bits/compressed_set_sparsity_pattern_09.cc create mode 100644 tests/bits/compressed_set_sparsity_pattern_09/cmp/generic create mode 100644 tests/hp/crash_17_compressed_set_sparsity.cc create mode 100644 tests/hp/crash_17_compressed_set_sparsity/cmp/generic create mode 100644 tests/hp/crash_18_compressed_set_sparsity.cc create mode 100644 tests/hp/crash_18_compressed_set_sparsity/cmp/generic create mode 100644 tests/hp/step-11_compressed_set_sparsity.cc create mode 100644 tests/hp/step-11_compressed_set_sparsity/cmp/generic diff --git a/tests/bits/Makefile b/tests/bits/Makefile index 005bda582e..a4d698ccab 100644 --- a/tests/bits/Makefile +++ b/tests/bits/Makefile @@ -68,6 +68,7 @@ tests_x = grid_generator_?? \ error_estimator_* \ cylinder_shell_* \ compressed_sparsity_pattern_* \ + compressed_set_sparsity_pattern_* \ point_difference_* \ point_value_* \ fe_q_3d* \ diff --git a/tests/bits/compressed_set_sparsity_pattern_01.cc b/tests/bits/compressed_set_sparsity_pattern_01.cc new file mode 100644 index 0000000000..aa0963fcd6 --- /dev/null +++ b/tests/bits/compressed_set_sparsity_pattern_01.cc @@ -0,0 +1,53 @@ +//---------------------------- compressed_set_sparsity_pattern_01.cc --------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2004, 2005 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- compressed_set_sparsity_pattern_01.cc --------------------------- + + +// check CompressedSetSparsityPattern::n_nonzero_elements. test n_rows() and +// n_cols() in passing + +#include "../tests.h" +#include +#include +#include +#include + + +void test () +{ + // set up a sparsity pattern. since + // CompressedSetSparsityPatterns are most + // often used for 3d, use a rather large + // number of entries per row + const unsigned int N = 1000; + CompressedSetSparsityPattern csp (N,N); + for (unsigned int i=0; i +#include +#include +#include + + +void test () +{ + // set up a sparsity pattern. since + // CompressedSetSparsityPatterns are most + // often used for 3d, use a rather large + // number of entries per row + const unsigned int N = 1000; + CompressedSetSparsityPattern csp (N,N); + for (unsigned int i=0; i +#include +#include +#include + + +void test () +{ + // set up a sparsity pattern. since + // CompressedSetSparsityPatterns are most + // often used for 3d, use a rather large + // number of entries per row + const unsigned int N = 1000; + CompressedSetSparsityPattern csp (N,N); + for (unsigned int i=0; i xx(1000, false); + for (unsigned int j=0; j<40; ++j) + xx[(i+(i+1)*(j*j+i))%N] = true; + + Assert (static_cast(std::count (xx.begin(), xx.end(), + true)) + == csp.row_length(i), + ExcInternalError()); + + deallog << i << ' ' << csp.row_length (i) << std::endl; + } +} + + + +int main () +{ + std::ofstream logfile("compressed_set_sparsity_pattern_03/output"); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + test (); + return 0; +} diff --git a/tests/bits/compressed_set_sparsity_pattern_03/cmp/generic b/tests/bits/compressed_set_sparsity_pattern_03/cmp/generic new file mode 100644 index 0000000000..b88a23ee20 --- /dev/null +++ b/tests/bits/compressed_set_sparsity_pattern_03/cmp/generic @@ -0,0 +1,1001 @@ + +DEAL::0 39 +DEAL::1 38 +DEAL::2 39 +DEAL::3 38 +DEAL::4 29 +DEAL::5 38 +DEAL::6 39 +DEAL::7 35 +DEAL::8 39 +DEAL::9 22 +DEAL::10 39 +DEAL::11 38 +DEAL::12 39 +DEAL::13 38 +DEAL::14 29 +DEAL::15 35 +DEAL::16 39 +DEAL::17 38 +DEAL::18 39 +DEAL::19 22 +DEAL::20 39 +DEAL::21 38 +DEAL::22 39 +DEAL::23 35 +DEAL::24 9 +DEAL::25 38 +DEAL::26 39 +DEAL::27 38 +DEAL::28 39 +DEAL::29 22 +DEAL::30 39 +DEAL::31 35 +DEAL::32 39 +DEAL::33 38 +DEAL::34 29 +DEAL::35 38 +DEAL::36 39 +DEAL::37 38 +DEAL::38 39 +DEAL::39 11 +DEAL::40 39 +DEAL::41 38 +DEAL::42 39 +DEAL::43 38 +DEAL::44 29 +DEAL::45 38 +DEAL::46 39 +DEAL::47 35 +DEAL::48 39 +DEAL::49 6 +DEAL::50 39 +DEAL::51 38 +DEAL::52 39 +DEAL::53 38 +DEAL::54 29 +DEAL::55 35 +DEAL::56 39 +DEAL::57 38 +DEAL::58 39 +DEAL::59 22 +DEAL::60 39 +DEAL::61 38 +DEAL::62 39 +DEAL::63 35 +DEAL::64 29 +DEAL::65 38 +DEAL::66 39 +DEAL::67 38 +DEAL::68 39 +DEAL::69 22 +DEAL::70 39 +DEAL::71 35 +DEAL::72 39 +DEAL::73 38 +DEAL::74 9 +DEAL::75 38 +DEAL::76 39 +DEAL::77 38 +DEAL::78 39 +DEAL::79 11 +DEAL::80 39 +DEAL::81 38 +DEAL::82 39 +DEAL::83 38 +DEAL::84 29 +DEAL::85 38 +DEAL::86 39 +DEAL::87 35 +DEAL::88 39 +DEAL::89 22 +DEAL::90 39 +DEAL::91 38 +DEAL::92 39 +DEAL::93 38 +DEAL::94 29 +DEAL::95 35 +DEAL::96 39 +DEAL::97 38 +DEAL::98 39 +DEAL::99 6 +DEAL::100 39 +DEAL::101 38 +DEAL::102 39 +DEAL::103 35 +DEAL::104 29 +DEAL::105 38 +DEAL::106 39 +DEAL::107 38 +DEAL::108 39 +DEAL::109 22 +DEAL::110 39 +DEAL::111 35 +DEAL::112 39 +DEAL::113 38 +DEAL::114 29 +DEAL::115 38 +DEAL::116 39 +DEAL::117 38 +DEAL::118 39 +DEAL::119 11 +DEAL::120 39 +DEAL::121 38 +DEAL::122 39 +DEAL::123 38 +DEAL::124 3 +DEAL::125 38 +DEAL::126 39 +DEAL::127 35 +DEAL::128 39 +DEAL::129 22 +DEAL::130 39 +DEAL::131 38 +DEAL::132 39 +DEAL::133 38 +DEAL::134 29 +DEAL::135 35 +DEAL::136 39 +DEAL::137 38 +DEAL::138 39 +DEAL::139 22 +DEAL::140 39 +DEAL::141 38 +DEAL::142 39 +DEAL::143 35 +DEAL::144 29 +DEAL::145 38 +DEAL::146 39 +DEAL::147 38 +DEAL::148 39 +DEAL::149 6 +DEAL::150 39 +DEAL::151 35 +DEAL::152 39 +DEAL::153 38 +DEAL::154 29 +DEAL::155 38 +DEAL::156 39 +DEAL::157 38 +DEAL::158 39 +DEAL::159 11 +DEAL::160 39 +DEAL::161 38 +DEAL::162 39 +DEAL::163 38 +DEAL::164 29 +DEAL::165 38 +DEAL::166 39 +DEAL::167 35 +DEAL::168 39 +DEAL::169 22 +DEAL::170 39 +DEAL::171 38 +DEAL::172 39 +DEAL::173 38 +DEAL::174 9 +DEAL::175 35 +DEAL::176 39 +DEAL::177 38 +DEAL::178 39 +DEAL::179 22 +DEAL::180 39 +DEAL::181 38 +DEAL::182 39 +DEAL::183 35 +DEAL::184 29 +DEAL::185 38 +DEAL::186 39 +DEAL::187 38 +DEAL::188 39 +DEAL::189 22 +DEAL::190 39 +DEAL::191 35 +DEAL::192 39 +DEAL::193 38 +DEAL::194 29 +DEAL::195 38 +DEAL::196 39 +DEAL::197 38 +DEAL::198 39 +DEAL::199 3 +DEAL::200 39 +DEAL::201 38 +DEAL::202 39 +DEAL::203 38 +DEAL::204 29 +DEAL::205 38 +DEAL::206 39 +DEAL::207 35 +DEAL::208 39 +DEAL::209 22 +DEAL::210 39 +DEAL::211 38 +DEAL::212 39 +DEAL::213 38 +DEAL::214 29 +DEAL::215 35 +DEAL::216 39 +DEAL::217 38 +DEAL::218 39 +DEAL::219 22 +DEAL::220 39 +DEAL::221 38 +DEAL::222 39 +DEAL::223 35 +DEAL::224 9 +DEAL::225 38 +DEAL::226 39 +DEAL::227 38 +DEAL::228 39 +DEAL::229 22 +DEAL::230 39 +DEAL::231 35 +DEAL::232 39 +DEAL::233 38 +DEAL::234 29 +DEAL::235 38 +DEAL::236 39 +DEAL::237 38 +DEAL::238 39 +DEAL::239 11 +DEAL::240 39 +DEAL::241 38 +DEAL::242 39 +DEAL::243 38 +DEAL::244 29 +DEAL::245 38 +DEAL::246 39 +DEAL::247 35 +DEAL::248 39 +DEAL::249 2 +DEAL::250 39 +DEAL::251 38 +DEAL::252 39 +DEAL::253 38 +DEAL::254 29 +DEAL::255 35 +DEAL::256 39 +DEAL::257 38 +DEAL::258 39 +DEAL::259 22 +DEAL::260 39 +DEAL::261 38 +DEAL::262 39 +DEAL::263 35 +DEAL::264 29 +DEAL::265 38 +DEAL::266 39 +DEAL::267 38 +DEAL::268 39 +DEAL::269 22 +DEAL::270 39 +DEAL::271 35 +DEAL::272 39 +DEAL::273 38 +DEAL::274 9 +DEAL::275 38 +DEAL::276 39 +DEAL::277 38 +DEAL::278 39 +DEAL::279 11 +DEAL::280 39 +DEAL::281 38 +DEAL::282 39 +DEAL::283 38 +DEAL::284 29 +DEAL::285 38 +DEAL::286 39 +DEAL::287 35 +DEAL::288 39 +DEAL::289 22 +DEAL::290 39 +DEAL::291 38 +DEAL::292 39 +DEAL::293 38 +DEAL::294 29 +DEAL::295 35 +DEAL::296 39 +DEAL::297 38 +DEAL::298 39 +DEAL::299 6 +DEAL::300 39 +DEAL::301 38 +DEAL::302 39 +DEAL::303 35 +DEAL::304 29 +DEAL::305 38 +DEAL::306 39 +DEAL::307 38 +DEAL::308 39 +DEAL::309 22 +DEAL::310 39 +DEAL::311 35 +DEAL::312 39 +DEAL::313 38 +DEAL::314 29 +DEAL::315 38 +DEAL::316 39 +DEAL::317 38 +DEAL::318 39 +DEAL::319 11 +DEAL::320 39 +DEAL::321 38 +DEAL::322 39 +DEAL::323 38 +DEAL::324 9 +DEAL::325 38 +DEAL::326 39 +DEAL::327 35 +DEAL::328 39 +DEAL::329 22 +DEAL::330 39 +DEAL::331 38 +DEAL::332 39 +DEAL::333 38 +DEAL::334 29 +DEAL::335 35 +DEAL::336 39 +DEAL::337 38 +DEAL::338 39 +DEAL::339 22 +DEAL::340 39 +DEAL::341 38 +DEAL::342 39 +DEAL::343 35 +DEAL::344 29 +DEAL::345 38 +DEAL::346 39 +DEAL::347 38 +DEAL::348 39 +DEAL::349 6 +DEAL::350 39 +DEAL::351 35 +DEAL::352 39 +DEAL::353 38 +DEAL::354 29 +DEAL::355 38 +DEAL::356 39 +DEAL::357 38 +DEAL::358 39 +DEAL::359 11 +DEAL::360 39 +DEAL::361 38 +DEAL::362 39 +DEAL::363 38 +DEAL::364 29 +DEAL::365 38 +DEAL::366 39 +DEAL::367 35 +DEAL::368 39 +DEAL::369 22 +DEAL::370 39 +DEAL::371 38 +DEAL::372 39 +DEAL::373 38 +DEAL::374 3 +DEAL::375 35 +DEAL::376 39 +DEAL::377 38 +DEAL::378 39 +DEAL::379 22 +DEAL::380 39 +DEAL::381 38 +DEAL::382 39 +DEAL::383 35 +DEAL::384 29 +DEAL::385 38 +DEAL::386 39 +DEAL::387 38 +DEAL::388 39 +DEAL::389 22 +DEAL::390 39 +DEAL::391 35 +DEAL::392 39 +DEAL::393 38 +DEAL::394 29 +DEAL::395 38 +DEAL::396 39 +DEAL::397 38 +DEAL::398 39 +DEAL::399 3 +DEAL::400 39 +DEAL::401 38 +DEAL::402 39 +DEAL::403 38 +DEAL::404 29 +DEAL::405 38 +DEAL::406 39 +DEAL::407 35 +DEAL::408 39 +DEAL::409 22 +DEAL::410 39 +DEAL::411 38 +DEAL::412 39 +DEAL::413 38 +DEAL::414 29 +DEAL::415 35 +DEAL::416 39 +DEAL::417 38 +DEAL::418 39 +DEAL::419 22 +DEAL::420 39 +DEAL::421 38 +DEAL::422 39 +DEAL::423 35 +DEAL::424 9 +DEAL::425 38 +DEAL::426 39 +DEAL::427 38 +DEAL::428 39 +DEAL::429 22 +DEAL::430 39 +DEAL::431 35 +DEAL::432 39 +DEAL::433 38 +DEAL::434 29 +DEAL::435 38 +DEAL::436 39 +DEAL::437 38 +DEAL::438 39 +DEAL::439 11 +DEAL::440 39 +DEAL::441 38 +DEAL::442 39 +DEAL::443 38 +DEAL::444 29 +DEAL::445 38 +DEAL::446 39 +DEAL::447 35 +DEAL::448 39 +DEAL::449 6 +DEAL::450 39 +DEAL::451 38 +DEAL::452 39 +DEAL::453 38 +DEAL::454 29 +DEAL::455 35 +DEAL::456 39 +DEAL::457 38 +DEAL::458 39 +DEAL::459 22 +DEAL::460 39 +DEAL::461 38 +DEAL::462 39 +DEAL::463 35 +DEAL::464 29 +DEAL::465 38 +DEAL::466 39 +DEAL::467 38 +DEAL::468 39 +DEAL::469 22 +DEAL::470 39 +DEAL::471 35 +DEAL::472 39 +DEAL::473 38 +DEAL::474 9 +DEAL::475 38 +DEAL::476 39 +DEAL::477 38 +DEAL::478 39 +DEAL::479 11 +DEAL::480 39 +DEAL::481 38 +DEAL::482 39 +DEAL::483 38 +DEAL::484 29 +DEAL::485 38 +DEAL::486 39 +DEAL::487 35 +DEAL::488 39 +DEAL::489 22 +DEAL::490 39 +DEAL::491 38 +DEAL::492 39 +DEAL::493 38 +DEAL::494 29 +DEAL::495 35 +DEAL::496 39 +DEAL::497 38 +DEAL::498 39 +DEAL::499 2 +DEAL::500 39 +DEAL::501 38 +DEAL::502 39 +DEAL::503 35 +DEAL::504 29 +DEAL::505 38 +DEAL::506 39 +DEAL::507 38 +DEAL::508 39 +DEAL::509 22 +DEAL::510 39 +DEAL::511 35 +DEAL::512 39 +DEAL::513 38 +DEAL::514 29 +DEAL::515 38 +DEAL::516 39 +DEAL::517 38 +DEAL::518 39 +DEAL::519 11 +DEAL::520 39 +DEAL::521 38 +DEAL::522 39 +DEAL::523 38 +DEAL::524 9 +DEAL::525 38 +DEAL::526 39 +DEAL::527 35 +DEAL::528 39 +DEAL::529 22 +DEAL::530 39 +DEAL::531 38 +DEAL::532 39 +DEAL::533 38 +DEAL::534 29 +DEAL::535 35 +DEAL::536 39 +DEAL::537 38 +DEAL::538 39 +DEAL::539 22 +DEAL::540 39 +DEAL::541 38 +DEAL::542 39 +DEAL::543 35 +DEAL::544 29 +DEAL::545 38 +DEAL::546 39 +DEAL::547 38 +DEAL::548 39 +DEAL::549 6 +DEAL::550 39 +DEAL::551 35 +DEAL::552 39 +DEAL::553 38 +DEAL::554 29 +DEAL::555 38 +DEAL::556 39 +DEAL::557 38 +DEAL::558 39 +DEAL::559 11 +DEAL::560 39 +DEAL::561 38 +DEAL::562 39 +DEAL::563 38 +DEAL::564 29 +DEAL::565 38 +DEAL::566 39 +DEAL::567 35 +DEAL::568 39 +DEAL::569 22 +DEAL::570 39 +DEAL::571 38 +DEAL::572 39 +DEAL::573 38 +DEAL::574 9 +DEAL::575 35 +DEAL::576 39 +DEAL::577 38 +DEAL::578 39 +DEAL::579 22 +DEAL::580 39 +DEAL::581 38 +DEAL::582 39 +DEAL::583 35 +DEAL::584 29 +DEAL::585 38 +DEAL::586 39 +DEAL::587 38 +DEAL::588 39 +DEAL::589 22 +DEAL::590 39 +DEAL::591 35 +DEAL::592 39 +DEAL::593 38 +DEAL::594 29 +DEAL::595 38 +DEAL::596 39 +DEAL::597 38 +DEAL::598 39 +DEAL::599 3 +DEAL::600 39 +DEAL::601 38 +DEAL::602 39 +DEAL::603 38 +DEAL::604 29 +DEAL::605 38 +DEAL::606 39 +DEAL::607 35 +DEAL::608 39 +DEAL::609 22 +DEAL::610 39 +DEAL::611 38 +DEAL::612 39 +DEAL::613 38 +DEAL::614 29 +DEAL::615 35 +DEAL::616 39 +DEAL::617 38 +DEAL::618 39 +DEAL::619 22 +DEAL::620 39 +DEAL::621 38 +DEAL::622 39 +DEAL::623 35 +DEAL::624 3 +DEAL::625 38 +DEAL::626 39 +DEAL::627 38 +DEAL::628 39 +DEAL::629 22 +DEAL::630 39 +DEAL::631 35 +DEAL::632 39 +DEAL::633 38 +DEAL::634 29 +DEAL::635 38 +DEAL::636 39 +DEAL::637 38 +DEAL::638 39 +DEAL::639 11 +DEAL::640 39 +DEAL::641 38 +DEAL::642 39 +DEAL::643 38 +DEAL::644 29 +DEAL::645 38 +DEAL::646 39 +DEAL::647 35 +DEAL::648 39 +DEAL::649 6 +DEAL::650 39 +DEAL::651 38 +DEAL::652 39 +DEAL::653 38 +DEAL::654 29 +DEAL::655 35 +DEAL::656 39 +DEAL::657 38 +DEAL::658 39 +DEAL::659 22 +DEAL::660 39 +DEAL::661 38 +DEAL::662 39 +DEAL::663 35 +DEAL::664 29 +DEAL::665 38 +DEAL::666 39 +DEAL::667 38 +DEAL::668 39 +DEAL::669 22 +DEAL::670 39 +DEAL::671 35 +DEAL::672 39 +DEAL::673 38 +DEAL::674 9 +DEAL::675 38 +DEAL::676 39 +DEAL::677 38 +DEAL::678 39 +DEAL::679 11 +DEAL::680 39 +DEAL::681 38 +DEAL::682 39 +DEAL::683 38 +DEAL::684 29 +DEAL::685 38 +DEAL::686 39 +DEAL::687 35 +DEAL::688 39 +DEAL::689 22 +DEAL::690 39 +DEAL::691 38 +DEAL::692 39 +DEAL::693 38 +DEAL::694 29 +DEAL::695 35 +DEAL::696 39 +DEAL::697 38 +DEAL::698 39 +DEAL::699 6 +DEAL::700 39 +DEAL::701 38 +DEAL::702 39 +DEAL::703 35 +DEAL::704 29 +DEAL::705 38 +DEAL::706 39 +DEAL::707 38 +DEAL::708 39 +DEAL::709 22 +DEAL::710 39 +DEAL::711 35 +DEAL::712 39 +DEAL::713 38 +DEAL::714 29 +DEAL::715 38 +DEAL::716 39 +DEAL::717 38 +DEAL::718 39 +DEAL::719 11 +DEAL::720 39 +DEAL::721 38 +DEAL::722 39 +DEAL::723 38 +DEAL::724 9 +DEAL::725 38 +DEAL::726 39 +DEAL::727 35 +DEAL::728 39 +DEAL::729 22 +DEAL::730 39 +DEAL::731 38 +DEAL::732 39 +DEAL::733 38 +DEAL::734 29 +DEAL::735 35 +DEAL::736 39 +DEAL::737 38 +DEAL::738 39 +DEAL::739 22 +DEAL::740 39 +DEAL::741 38 +DEAL::742 39 +DEAL::743 35 +DEAL::744 29 +DEAL::745 38 +DEAL::746 39 +DEAL::747 38 +DEAL::748 39 +DEAL::749 2 +DEAL::750 39 +DEAL::751 35 +DEAL::752 39 +DEAL::753 38 +DEAL::754 29 +DEAL::755 38 +DEAL::756 39 +DEAL::757 38 +DEAL::758 39 +DEAL::759 11 +DEAL::760 39 +DEAL::761 38 +DEAL::762 39 +DEAL::763 38 +DEAL::764 29 +DEAL::765 38 +DEAL::766 39 +DEAL::767 35 +DEAL::768 39 +DEAL::769 22 +DEAL::770 39 +DEAL::771 38 +DEAL::772 39 +DEAL::773 38 +DEAL::774 9 +DEAL::775 35 +DEAL::776 39 +DEAL::777 38 +DEAL::778 39 +DEAL::779 22 +DEAL::780 39 +DEAL::781 38 +DEAL::782 39 +DEAL::783 35 +DEAL::784 29 +DEAL::785 38 +DEAL::786 39 +DEAL::787 38 +DEAL::788 39 +DEAL::789 22 +DEAL::790 39 +DEAL::791 35 +DEAL::792 39 +DEAL::793 38 +DEAL::794 29 +DEAL::795 38 +DEAL::796 39 +DEAL::797 38 +DEAL::798 39 +DEAL::799 3 +DEAL::800 39 +DEAL::801 38 +DEAL::802 39 +DEAL::803 38 +DEAL::804 29 +DEAL::805 38 +DEAL::806 39 +DEAL::807 35 +DEAL::808 39 +DEAL::809 22 +DEAL::810 39 +DEAL::811 38 +DEAL::812 39 +DEAL::813 38 +DEAL::814 29 +DEAL::815 35 +DEAL::816 39 +DEAL::817 38 +DEAL::818 39 +DEAL::819 22 +DEAL::820 39 +DEAL::821 38 +DEAL::822 39 +DEAL::823 35 +DEAL::824 9 +DEAL::825 38 +DEAL::826 39 +DEAL::827 38 +DEAL::828 39 +DEAL::829 22 +DEAL::830 39 +DEAL::831 35 +DEAL::832 39 +DEAL::833 38 +DEAL::834 29 +DEAL::835 38 +DEAL::836 39 +DEAL::837 38 +DEAL::838 39 +DEAL::839 11 +DEAL::840 39 +DEAL::841 38 +DEAL::842 39 +DEAL::843 38 +DEAL::844 29 +DEAL::845 38 +DEAL::846 39 +DEAL::847 35 +DEAL::848 39 +DEAL::849 6 +DEAL::850 39 +DEAL::851 38 +DEAL::852 39 +DEAL::853 38 +DEAL::854 29 +DEAL::855 35 +DEAL::856 39 +DEAL::857 38 +DEAL::858 39 +DEAL::859 22 +DEAL::860 39 +DEAL::861 38 +DEAL::862 39 +DEAL::863 35 +DEAL::864 29 +DEAL::865 38 +DEAL::866 39 +DEAL::867 38 +DEAL::868 39 +DEAL::869 22 +DEAL::870 39 +DEAL::871 35 +DEAL::872 39 +DEAL::873 38 +DEAL::874 3 +DEAL::875 38 +DEAL::876 39 +DEAL::877 38 +DEAL::878 39 +DEAL::879 11 +DEAL::880 39 +DEAL::881 38 +DEAL::882 39 +DEAL::883 38 +DEAL::884 29 +DEAL::885 38 +DEAL::886 39 +DEAL::887 35 +DEAL::888 39 +DEAL::889 22 +DEAL::890 39 +DEAL::891 38 +DEAL::892 39 +DEAL::893 38 +DEAL::894 29 +DEAL::895 35 +DEAL::896 39 +DEAL::897 38 +DEAL::898 39 +DEAL::899 6 +DEAL::900 39 +DEAL::901 38 +DEAL::902 39 +DEAL::903 35 +DEAL::904 29 +DEAL::905 38 +DEAL::906 39 +DEAL::907 38 +DEAL::908 39 +DEAL::909 22 +DEAL::910 39 +DEAL::911 35 +DEAL::912 39 +DEAL::913 38 +DEAL::914 29 +DEAL::915 38 +DEAL::916 39 +DEAL::917 38 +DEAL::918 39 +DEAL::919 11 +DEAL::920 39 +DEAL::921 38 +DEAL::922 39 +DEAL::923 38 +DEAL::924 9 +DEAL::925 38 +DEAL::926 39 +DEAL::927 35 +DEAL::928 39 +DEAL::929 22 +DEAL::930 39 +DEAL::931 38 +DEAL::932 39 +DEAL::933 38 +DEAL::934 29 +DEAL::935 35 +DEAL::936 39 +DEAL::937 38 +DEAL::938 39 +DEAL::939 22 +DEAL::940 39 +DEAL::941 38 +DEAL::942 39 +DEAL::943 35 +DEAL::944 29 +DEAL::945 38 +DEAL::946 39 +DEAL::947 38 +DEAL::948 39 +DEAL::949 6 +DEAL::950 39 +DEAL::951 35 +DEAL::952 39 +DEAL::953 38 +DEAL::954 29 +DEAL::955 38 +DEAL::956 39 +DEAL::957 38 +DEAL::958 39 +DEAL::959 11 +DEAL::960 39 +DEAL::961 38 +DEAL::962 39 +DEAL::963 38 +DEAL::964 29 +DEAL::965 38 +DEAL::966 39 +DEAL::967 35 +DEAL::968 39 +DEAL::969 22 +DEAL::970 39 +DEAL::971 38 +DEAL::972 39 +DEAL::973 38 +DEAL::974 9 +DEAL::975 35 +DEAL::976 39 +DEAL::977 38 +DEAL::978 39 +DEAL::979 22 +DEAL::980 39 +DEAL::981 38 +DEAL::982 39 +DEAL::983 35 +DEAL::984 29 +DEAL::985 38 +DEAL::986 39 +DEAL::987 38 +DEAL::988 39 +DEAL::989 22 +DEAL::990 39 +DEAL::991 35 +DEAL::992 39 +DEAL::993 38 +DEAL::994 29 +DEAL::995 38 +DEAL::996 39 +DEAL::997 38 +DEAL::998 39 +DEAL::999 1 diff --git a/tests/bits/compressed_set_sparsity_pattern_04.cc b/tests/bits/compressed_set_sparsity_pattern_04.cc new file mode 100644 index 0000000000..3cb2d9973d --- /dev/null +++ b/tests/bits/compressed_set_sparsity_pattern_04.cc @@ -0,0 +1,55 @@ +//---------------------------- compressed_set_sparsity_pattern_04.cc --------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2004, 2005, 2007 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- compressed_set_sparsity_pattern_04.cc --------------------------- + + +// check CompressedSetSparsityPattern::row_begin iterators. since we create +// quite some output here, choose smaller number of rows and entries than in +// the other tests + +#include "../tests.h" +#include +#include +#include +#include + + +void test () +{ + const unsigned int N = 100; + CompressedSetSparsityPattern csp (N,N); + for (unsigned int i=0; i +#include +#include +#include + + +void test () +{ + const unsigned int N = 100; + CompressedSetSparsityPattern csp (N,N); + for (unsigned int i=0; i +#include +#include +#include + + +std::ofstream logfile("compressed_set_sparsity_pattern_06/output"); + +void test () +{ + const unsigned int N = 100; + CompressedSetSparsityPattern csp (N,N); + for (unsigned int i=0; i +#include +#include +#include + + +void test () +{ + const unsigned int N = 100; + CompressedSetSparsityPattern csp (N,N); + for (unsigned int i=0; i +#include +#include +#include + + +void test () +{ + // set up a sparsity pattern. since + // CompressedSetSparsityPatterns are most + // often used for 3d, use a rather large + // number of entries per row + const unsigned int N = 1000; + CompressedSetSparsityPattern csp (N,N); + for (unsigned int i=0; i +#include +#include +#include + + +void test () +{ + const unsigned int N = 1000; + CompressedSetSparsityPattern csp; + Assert (csp.empty() == true, ExcInternalError()); + + csp.reinit (N, N); + Assert (csp.empty() == false, ExcInternalError()); + + deallog << "OK" << std::endl; +} + + + +int main () +{ + std::ofstream logfile("compressed_set_sparsity_pattern_09/output"); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + test (); + return 0; +} diff --git a/tests/bits/compressed_set_sparsity_pattern_09/cmp/generic b/tests/bits/compressed_set_sparsity_pattern_09/cmp/generic new file mode 100644 index 0000000000..0fd8fc12f0 --- /dev/null +++ b/tests/bits/compressed_set_sparsity_pattern_09/cmp/generic @@ -0,0 +1,2 @@ + +DEAL::OK diff --git a/tests/hp/crash_17_compressed_set_sparsity.cc b/tests/hp/crash_17_compressed_set_sparsity.cc new file mode 100644 index 0000000000..d2feb304bc --- /dev/null +++ b/tests/hp/crash_17_compressed_set_sparsity.cc @@ -0,0 +1,732 @@ +//---------------------------- crash_17.cc --------------------------- +// $Id: crash_17.cc 12732 2006-03-28 23:15:45Z wolf $ +// Version: $Name$ +// +// Copyright (C) 2006, 2007 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- crash_17.cc --------------------------- + + +// a modified version of step-27 that crashes because of circular constraints. +// like crash_17, but use a Compressed*Set*SparsityPattern instead to test +// that class some more + +char logname[] = "crash_17_compressed_set_sparsity/output"; + + +#include "../tests.h" + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include + + // Finally, this is as in previous + // programs: +using namespace dealii; + +template +class LaplaceProblem +{ + public: + LaplaceProblem (); + ~LaplaceProblem (); + + void run (); + + private: + void setup_system (); + void assemble_system (); + void solve (); + void create_coarse_grid (); + void refine_grid (); + void estimate_smoothness (Vector &smoothness_indicators) const; + void output_results (const unsigned int cycle) const; + + Triangulation triangulation; + + hp::DoFHandler dof_handler; + hp::FECollection fe_collection; + hp::QCollection quadrature_collection; + hp::QCollection face_quadrature_collection; + + ConstraintMatrix hanging_node_constraints; + + SparsityPattern sparsity_pattern; + SparseMatrix system_matrix; + + Vector solution; + Vector system_rhs; + + Timer distr, condense, hang; +}; + + + +template +class RightHandSide : public Function +{ + public: + RightHandSide () : Function () {}; + + virtual double value (const Point &p, + const unsigned int component) const; +}; + + +template +double +RightHandSide::value (const Point &p, + const unsigned int /*component*/) const +{ + double product = 1; + for (unsigned int d=0; d +LaplaceProblem::LaplaceProblem () : + dof_handler (triangulation) +{ + for (unsigned int degree=2; degree<5; ++degree) + { + fe_collection.push_back (FE_Q(degree)); + quadrature_collection.push_back (QGauss(degree+2)); + face_quadrature_collection.push_back (QGauss(degree+2)); + } +} + + +template +LaplaceProblem::~LaplaceProblem () +{ + dof_handler.clear (); +} + +template +void LaplaceProblem::setup_system () +{ + distr.reset(); + distr.start(); + dof_handler.distribute_dofs (fe_collection); + distr.stop(); + + solution.reinit (dof_handler.n_dofs()); + system_rhs.reinit (dof_handler.n_dofs()); + + hanging_node_constraints.clear (); + hang.reset(); + hang.start(); + DoFTools::make_hanging_node_constraints (dof_handler, + hanging_node_constraints); + hanging_node_constraints.write_dot (deallog.get_file_stream()); + hanging_node_constraints.close (); + hang.stop(); + + if (dim < 3) + { + sparsity_pattern.reinit (dof_handler.n_dofs(), + dof_handler.n_dofs(), + dof_handler.max_couplings_between_dofs()); + DoFTools::make_sparsity_pattern (dof_handler, sparsity_pattern); + + condense.reset(); + condense.start(); + hanging_node_constraints.condense (sparsity_pattern); + condense.stop(); + sparsity_pattern.compress(); + } + else + { + CompressedSetSparsityPattern csp (dof_handler.n_dofs(), + dof_handler.n_dofs()); + DoFTools::make_sparsity_pattern (dof_handler, csp); + + condense.reset(); + condense.start(); + hanging_node_constraints.condense (csp); + condense.stop(); + + sparsity_pattern.copy_from (csp); + } + + system_matrix.reinit (sparsity_pattern); +} + +template +void LaplaceProblem::assemble_system () +{ + hp::FEValues hp_fe_values (fe_collection, + quadrature_collection, + update_values | update_gradients | + update_q_points | update_JxW_values); + + const RightHandSide rhs_function; + + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (; cell!=endc; ++cell) + { + const unsigned int dofs_per_cell = cell->get_fe().dofs_per_cell; + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); + Vector cell_rhs (dofs_per_cell); + + std::vector local_dof_indices (dofs_per_cell); + + cell_matrix = 0; + cell_rhs = 0; + + hp_fe_values.reinit (cell); + + const FEValues &fe_values = hp_fe_values.get_present_fe_values (); + + std::vector rhs_values (fe_values.n_quadrature_points); + rhs_function.value_list (fe_values.get_quadrature_points(), + rhs_values); + + for (unsigned int q_point=0; q_pointget_dof_indices (local_dof_indices); + for (unsigned int i=0; i boundary_values; + VectorTools::interpolate_boundary_values (dof_handler, + 0, + ZeroFunction(), + boundary_values); + MatrixTools::apply_boundary_values (boundary_values, + system_matrix, + solution, + system_rhs); +} + +template +void LaplaceProblem::solve () +{ + SolverControl solver_control (system_rhs.size(), + 1e-8*system_rhs.l2_norm()); + SolverCG<> cg (solver_control); + + PreconditionSSOR<> preconditioner; + preconditioner.initialize(system_matrix, 1.2); + + cg.solve (system_matrix, solution, system_rhs, + preconditioner); + + hanging_node_constraints.distribute (solution); +} + + +unsigned int +int_pow (const unsigned int x, + const unsigned int n) +{ + unsigned int p=1; + for (unsigned int i=0; i +void +LaplaceProblem:: +estimate_smoothness (Vector &smoothness_indicators) const +{ + const unsigned int N = 4; + + // form all the Fourier vectors + // that we want to + // consider. exclude k=0 to avoid + // problems with |k|^{-mu} and also + // logarithms of |k| + std::vector > k_vectors; + std::vector k_vectors_magnitude; + switch (dim) + { + case 2: + { + for (unsigned int i=0; i(deal_II_numbers::PI * i, + deal_II_numbers::PI * j)); + k_vectors_magnitude.push_back (i*i+j*j); + } + + break; + } + + case 3: + { + for (unsigned int i=0; i(deal_II_numbers::PI * i, + deal_II_numbers::PI * j, + deal_II_numbers::PI * k)); + k_vectors_magnitude.push_back (i*i+j*j+k*k); + } + + break; + } + + default: + Assert (false, ExcNotImplemented()); + } + + const unsigned n_fourier_modes = k_vectors.size(); + std::vector ln_k (n_fourier_modes); + for (unsigned int i=0; i base_quadrature (2); + QIterated quadrature (base_quadrature, N); + + std::vector > > + fourier_transform_matrices (fe_collection.size()); + for (unsigned int fe=0; fe sum = 0; + for (unsigned int q=0; q x_q = quadrature.point(q); + sum += std::exp(std::complex(0,1) * + (k_vectors[k] * x_q)) * + fe_collection[fe].shape_value(i,x_q) * + quadrature.weight(q); + } + fourier_transform_matrices[fe](k,i) + = sum / std::pow(2*deal_II_numbers::PI, 1.*dim/2); + } + } + + // the next thing is to loop over + // all cells and do our work there, + // i.e. to locally do the Fourier + // transform and estimate the decay + // coefficient + std::vector > fourier_coefficients (n_fourier_modes); + Vector local_dof_values; + + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (unsigned int index=0; cell!=endc; ++cell, ++index) + { + local_dof_values.reinit (cell->get_fe().dofs_per_cell); + cell->get_dof_values (solution, local_dof_values); + + // first compute the Fourier + // transform of the local + // solution + std::fill (fourier_coefficients.begin(), fourier_coefficients.end(), 0); + for (unsigned int f=0; fget_fe().dofs_per_cell; ++i) + fourier_coefficients[f] += + fourier_transform_matrices[cell->active_fe_index()](f,i) + * + local_dof_values(i); + + // enter the Fourier + // coefficients into a map with + // the k-magnitudes, to make + // sure that we get only the + // largest magnitude for each + // value of |k| + std::map k_to_max_U_map; + for (unsigned int f=0; f +void LaplaceProblem::refine_grid () +{ + Vector estimated_error_per_cell (triangulation.n_active_cells()); + KellyErrorEstimator::estimate (dof_handler, + face_quadrature_collection, + typename FunctionMap::type(), + solution, + estimated_error_per_cell); + + Vector smoothness_indicators (triangulation.n_active_cells()); + estimate_smoothness (smoothness_indicators); + + GridRefinement::refine_and_coarsen_fixed_number (triangulation, + estimated_error_per_cell, + 0.3, 0.03); + + float max_smoothness = 0, + min_smoothness = smoothness_indicators.linfty_norm(); + { + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (unsigned int index=0; cell!=endc; ++cell, ++index) + if (cell->refine_flag_set()) + { + max_smoothness = std::max (max_smoothness, + smoothness_indicators(index)); + min_smoothness = std::min (min_smoothness, + smoothness_indicators(index)); + } + } + const float cutoff_smoothness = (max_smoothness + min_smoothness) / 2; + { + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (unsigned int index=0; cell!=endc; ++cell, ++index) + if (cell->refine_flag_set() + && + (smoothness_indicators(index) > cutoff_smoothness) + && + !(cell->active_fe_index() == fe_collection.size() - 1)) + { + cell->clear_refine_flag(); + cell->set_active_fe_index (std::min (cell->active_fe_index() + 1, + fe_collection.size() - 1)); + } + } + + triangulation.execute_coarsening_and_refinement (); +} + + + +template +void LaplaceProblem::output_results (const unsigned int cycle) const +{ + Assert (cycle < 10, ExcNotImplemented()); + + { + const std::string filename = "grid-" + + Utilities::int_to_string (cycle, 2) + + ".eps"; + std::ofstream output (filename.c_str()); + + GridOut grid_out; + grid_out.write_eps (triangulation, output); + } + + { + Vector smoothness_indicators (triangulation.n_active_cells()); + estimate_smoothness (smoothness_indicators); + + Vector smoothness_field (dof_handler.n_dofs()); + DoFTools::distribute_cell_to_dof_vector (dof_handler, + smoothness_indicators, + smoothness_field); + + Vector fe_indices (triangulation.n_active_cells()); + { + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (unsigned int index=0; cell!=endc; ++cell, ++index) + { + + fe_indices(index) = cell->active_fe_index(); +// smoothness_indicators(index) *= std::sqrt(cell->diameter()); + } + } + + const std::string filename = "solution-" + + Utilities::int_to_string (cycle, 2) + + ".vtk"; + DataOut > data_out; + + data_out.attach_dof_handler (dof_handler); + data_out.add_data_vector (solution, "solution"); + data_out.add_data_vector (smoothness_indicators, "smoothness1"); + data_out.add_data_vector (smoothness_field, "smoothness2"); + data_out.add_data_vector (fe_indices, "fe_index"); + data_out.build_patches (); + + std::ofstream output (filename.c_str()); + data_out.write_vtk (output); + } +} + + +template <> +void LaplaceProblem<2>::create_coarse_grid () +{ + const unsigned int dim = 2; + + static const Point<2> vertices_1[] + = { Point<2> (-1., -1.), + Point<2> (-1./2, -1.), + Point<2> (0., -1.), + Point<2> (+1./2, -1.), + Point<2> (+1, -1.), + + Point<2> (-1., -1./2.), + Point<2> (-1./2, -1./2.), + Point<2> (0., -1./2.), + Point<2> (+1./2, -1./2.), + Point<2> (+1, -1./2.), + + Point<2> (-1., 0.), + Point<2> (-1./2, 0.), + Point<2> (+1./2, 0.), + Point<2> (+1, 0.), + + Point<2> (-1., 1./2.), + Point<2> (-1./2, 1./2.), + Point<2> (0., 1./2.), + Point<2> (+1./2, 1./2.), + Point<2> (+1, 1./2.), + + Point<2> (-1., 1.), + Point<2> (-1./2, 1.), + Point<2> (0., 1.), + Point<2> (+1./2, 1.), + Point<2> (+1, 1.) }; + const unsigned int + n_vertices = sizeof(vertices_1) / sizeof(vertices_1[0]); + const std::vector > vertices (&vertices_1[0], + &vertices_1[n_vertices]); + static const int cell_vertices[][GeometryInfo::vertices_per_cell] + = {{0, 1, 5, 6}, + {1, 2, 6, 7}, + {2, 3, 7, 8}, + {3, 4, 8, 9}, + {5, 6, 10, 11}, + {8, 9, 12, 13}, + {10, 11, 14, 15}, + {12, 13, 17, 18}, + {14, 15, 19, 20}, + {15, 16, 20, 21}, + {16, 17, 21, 22}, + {17, 18, 22, 23}}; + const unsigned int + n_cells = sizeof(cell_vertices) / sizeof(cell_vertices[0]); + + std::vector > cells (n_cells, CellData()); + for (unsigned int i=0; i::vertices_per_cell; + ++j) + cells[i].vertices[j] = cell_vertices[i][j]; + cells[i].material_id = 0; + } + + triangulation.create_triangulation (vertices, + cells, + SubCellData()); + triangulation.refine_global (3); +} + + + +template <> +void LaplaceProblem<3>::create_coarse_grid () +{ + GridGenerator::hyper_cube (triangulation); + triangulation.refine_global (1); +} + + + +template +void LaplaceProblem::run () +{ + for (unsigned int cycle=0; cycle<4; ++cycle) + { + deallog << "Cycle " << cycle << ':' << std::endl; + + if (cycle == 0) + create_coarse_grid (); + else + refine_grid (); + + + deallog << " Number of active cells: " + << triangulation.n_active_cells() + << std::endl; + + Timer all; + all.start(); + setup_system (); + + deallog << " Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; + deallog << " Number of constraints : " + << hanging_node_constraints.n_constraints() + << std::endl; + + assemble_system (); + solve (); + all.stop(); + + } +} + +int main () +{ + std::ofstream logfile(logname); + logfile.precision (3); + + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + try + { + LaplaceProblem<3> laplace_problem_2d; + laplace_problem_2d.run (); + } + catch (std::exception &exc) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + + return 1; + } + catch (...) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; + } + + return 0; +} diff --git a/tests/hp/crash_17_compressed_set_sparsity/cmp/generic b/tests/hp/crash_17_compressed_set_sparsity/cmp/generic new file mode 100644 index 0000000000..d0bbff1039 --- /dev/null +++ b/tests/hp/crash_17_compressed_set_sparsity/cmp/generic @@ -0,0 +1,5344 @@ + +DEAL::Cycle 0: +DEAL:: Number of active cells: 8 +digraph constraints { +} +DEAL:: Number of degrees of freedom: 125 +DEAL:: Number of constraints : 0 +DEAL:cg::Starting value 0.438 +DEAL:cg::Convergence step 6 value 2.57e-09 +DEAL::Cycle 1: +DEAL:: Number of active cells: 22 +digraph constraints { + 150->35; // weight: 1.00 + 151->13; // weight: 1.00 + 152->43; // weight: 1.00 + 157->5; // weight: 0.375 + 157->7; // weight: -0.125 + 157->13; // weight: 0.750 + 158->35; // weight: 0.375 + 158->36; // weight: -0.125 + 158->43; // weight: 0.750 + 159->5; // weight: 0.375 + 159->29; // weight: -0.125 + 159->35; // weight: 0.750 + 160->13; // weight: 0.375 + 160->34; // weight: -0.125 + 160->43; // weight: 0.750 + 173->5; // weight: 0.141 + 173->29; // weight: -0.0469 + 173->7; // weight: -0.0469 + 173->30; // weight: 0.0156 + 173->13; // weight: 0.281 + 173->34; // weight: -0.0938 + 173->35; // weight: 0.281 + 173->36; // weight: -0.0938 + 173->43; // weight: 0.562 + 176->34; // weight: 1.00 + 179->29; // weight: 0.375 + 179->30; // weight: -0.125 + 179->34; // weight: 0.750 + 180->5; // weight: -0.125 + 180->29; // weight: 0.375 + 180->35; // weight: 0.750 + 181->13; // weight: -0.125 + 181->34; // weight: 0.375 + 181->43; // weight: 0.750 + 190->5; // weight: -0.0469 + 190->29; // weight: 0.141 + 190->7; // weight: 0.0156 + 190->30; // weight: -0.0469 + 190->13; // weight: -0.0938 + 190->34; // weight: 0.281 + 190->35; // weight: 0.281 + 190->36; // weight: -0.0938 + 190->43; // weight: 0.562 + 193->36; // weight: 1.00 + 196->5; // weight: -0.125 + 196->7; // weight: 0.375 + 196->13; // weight: 0.750 + 197->35; // weight: -0.125 + 197->36; // weight: 0.375 + 197->43; // weight: 0.750 + 198->7; // weight: 0.375 + 198->30; // weight: -0.125 + 198->36; // weight: 0.750 + 207->5; // weight: -0.0469 + 207->29; // weight: 0.0156 + 207->7; // weight: 0.141 + 207->30; // weight: -0.0469 + 207->13; // weight: 0.281 + 207->34; // weight: -0.0938 + 207->35; // weight: -0.0938 + 207->36; // weight: 0.281 + 207->43; // weight: 0.562 + 211->29; // weight: -0.125 + 211->30; // weight: 0.375 + 211->34; // weight: 0.750 + 212->7; // weight: -0.125 + 212->30; // weight: 0.375 + 212->36; // weight: 0.750 + 218->5; // weight: 0.0156 + 218->29; // weight: -0.0469 + 218->7; // weight: -0.0469 + 218->30; // weight: 0.141 + 218->13; // weight: -0.0938 + 218->34; // weight: 0.281 + 218->35; // weight: -0.0938 + 218->36; // weight: 0.281 + 218->43; // weight: 0.562 + 269->15; // weight: 1.00 + 270->52; // weight: 1.00 + 271->61; // weight: 1.00 + 276->6; // weight: 0.375 + 276->47; // weight: -0.125 + 276->52; // weight: 0.750 + 277->15; // weight: 0.375 + 277->54; // weight: -0.125 + 277->61; // weight: 0.750 + 278->6; // weight: 0.375 + 278->7; // weight: -0.125 + 278->15; // weight: 0.750 + 279->52; // weight: 0.375 + 279->53; // weight: -0.125 + 279->61; // weight: 0.750 + 292->6; // weight: 0.141 + 292->7; // weight: -0.0469 + 292->47; // weight: -0.0469 + 292->48; // weight: 0.0156 + 292->52; // weight: 0.281 + 292->53; // weight: -0.0938 + 292->15; // weight: 0.281 + 292->54; // weight: -0.0938 + 292->61; // weight: 0.562 + 295->53; // weight: 1.00 + 297->7; // weight: 0.375 + 297->48; // weight: -0.125 + 297->53; // weight: 0.750 + 298->6; // weight: -0.125 + 298->7; // weight: 0.375 + 298->15; // weight: 0.750 + 299->52; // weight: -0.125 + 299->53; // weight: 0.375 + 299->61; // weight: 0.750 + 307->6; // weight: -0.0469 + 307->7; // weight: 0.141 + 307->47; // weight: 0.0156 + 307->48; // weight: -0.0469 + 307->52; // weight: -0.0938 + 307->53; // weight: 0.281 + 307->15; // weight: 0.281 + 307->54; // weight: -0.0938 + 307->61; // weight: 0.562 + 310->54; // weight: 1.00 + 313->6; // weight: -0.125 + 313->47; // weight: 0.375 + 313->52; // weight: 0.750 + 314->15; // weight: -0.125 + 314->54; // weight: 0.375 + 314->61; // weight: 0.750 + 315->47; // weight: 0.375 + 315->48; // weight: -0.125 + 315->54; // weight: 0.750 + 324->6; // weight: -0.0469 + 324->7; // weight: 0.0156 + 324->47; // weight: 0.141 + 324->48; // weight: -0.0469 + 324->52; // weight: 0.281 + 324->53; // weight: -0.0938 + 324->15; // weight: -0.0938 + 324->54; // weight: 0.281 + 324->61; // weight: 0.562 + 328->7; // weight: -0.125 + 328->48; // weight: 0.375 + 328->53; // weight: 0.750 + 329->47; // weight: -0.125 + 329->48; // weight: 0.375 + 329->54; // weight: 0.750 + 335->6; // weight: 0.0156 + 335->7; // weight: -0.0469 + 335->47; // weight: -0.0469 + 335->48; // weight: 0.141 + 335->52; // weight: -0.0938 + 335->53; // weight: 0.281 + 335->15; // weight: -0.0938 + 335->54; // weight: 0.281 + 335->61; // weight: 0.562 + 94->7; // weight: 0.222 + 94->48; // weight: -0.111 + 94->53; // weight: 0.889 + 95->7; // weight: -0.111 + 95->48; // weight: 0.222 + 95->53; // weight: 0.889 + 96->30; // weight: 0.222 + 96->64; // weight: -0.111 + 96->67; // weight: 0.889 + 97->30; // weight: -0.111 + 97->64; // weight: 0.222 + 97->67; // weight: 0.889 + 98->7; // weight: 0.222 + 98->30; // weight: -0.111 + 98->36; // weight: 0.889 + 99->7; // weight: -0.111 + 99->30; // weight: 0.222 + 99->36; // weight: 0.889 + 100->48; // weight: 0.222 + 100->64; // weight: -0.111 + 100->68; // weight: 0.889 + 101->48; // weight: -0.111 + 101->64; // weight: 0.222 + 101->68; // weight: 0.889 + 134->7; // weight: 0.0494 + 134->30; // weight: -0.0247 + 134->48; // weight: -0.0247 + 134->64; // weight: 0.0123 + 134->53; // weight: 0.198 + 134->67; // weight: -0.0988 + 134->36; // weight: 0.198 + 134->68; // weight: -0.0988 + 134->73; // weight: 0.790 + 135->7; // weight: -0.0247 + 135->30; // weight: 0.0494 + 135->48; // weight: 0.0123 + 135->64; // weight: -0.0247 + 135->53; // weight: -0.0988 + 135->67; // weight: 0.198 + 135->36; // weight: 0.198 + 135->68; // weight: -0.0988 + 135->73; // weight: 0.790 + 136->7; // weight: -0.0247 + 136->30; // weight: 0.0123 + 136->48; // weight: 0.0494 + 136->64; // weight: -0.0247 + 136->53; // weight: 0.198 + 136->67; // weight: -0.0988 + 136->36; // weight: -0.0988 + 136->68; // weight: 0.198 + 136->73; // weight: 0.790 + 137->7; // weight: 0.0123 + 137->30; // weight: -0.0247 + 137->48; // weight: -0.0247 + 137->64; // weight: 0.0494 + 137->53; // weight: -0.0988 + 137->67; // weight: 0.198 + 137->36; // weight: -0.0988 + 137->68; // weight: 0.198 + 137->73; // weight: 0.790 + 153->84; // weight: 1.00 + 155->88; // weight: 1.00 + 165->5; // weight: 0.375 + 165->76; // weight: -0.125 + 165->84; // weight: 0.750 + 167->13; // weight: 0.375 + 167->80; // weight: -0.125 + 167->88; // weight: 0.750 + 161->84; // weight: 0.375 + 161->86; // weight: -0.125 + 161->88; // weight: 0.750 + 169->5; // weight: 0.141 + 169->7; // weight: -0.0469 + 169->76; // weight: -0.0469 + 169->78; // weight: 0.0156 + 169->84; // weight: 0.281 + 169->86; // weight: -0.0938 + 169->13; // weight: 0.281 + 169->80; // weight: -0.0938 + 169->88; // weight: 0.562 + 194->86; // weight: 1.00 + 202->7; // weight: 0.375 + 202->78; // weight: -0.125 + 202->86; // weight: 0.750 + 199->84; // weight: -0.125 + 199->86; // weight: 0.375 + 199->88; // weight: 0.750 + 204->5; // weight: -0.0469 + 204->7; // weight: 0.141 + 204->76; // weight: 0.0156 + 204->78; // weight: -0.0469 + 204->84; // weight: -0.0938 + 204->86; // weight: 0.281 + 204->13; // weight: 0.281 + 204->80; // weight: -0.0938 + 204->88; // weight: 0.562 + 222->80; // weight: 1.00 + 228->5; // weight: -0.125 + 228->76; // weight: 0.375 + 228->84; // weight: 0.750 + 230->13; // weight: -0.125 + 230->80; // weight: 0.375 + 230->88; // weight: 0.750 + 224->76; // weight: 0.375 + 224->78; // weight: -0.125 + 224->80; // weight: 0.750 + 232->5; // weight: -0.0469 + 232->7; // weight: 0.0156 + 232->76; // weight: 0.141 + 232->78; // weight: -0.0469 + 232->84; // weight: 0.281 + 232->86; // weight: -0.0938 + 232->13; // weight: -0.0938 + 232->80; // weight: 0.281 + 232->88; // weight: 0.562 + 254->7; // weight: -0.125 + 254->78; // weight: 0.375 + 254->86; // weight: 0.750 + 251->76; // weight: -0.125 + 251->78; // weight: 0.375 + 251->80; // weight: 0.750 + 256->5; // weight: 0.0156 + 256->7; // weight: -0.0469 + 256->76; // weight: -0.0469 + 256->78; // weight: 0.141 + 256->84; // weight: -0.0938 + 256->86; // weight: 0.281 + 256->13; // weight: -0.0938 + 256->80; // weight: 0.281 + 256->88; // weight: 0.562 + 272->85; // weight: 1.00 + 273->90; // weight: 1.00 + 282->85; // weight: 0.375 + 282->86; // weight: -0.125 + 282->90; // weight: 0.750 + 284->6; // weight: 0.375 + 284->77; // weight: -0.125 + 284->85; // weight: 0.750 + 285->15; // weight: 0.375 + 285->82; // weight: -0.125 + 285->90; // weight: 0.750 + 290->6; // weight: 0.141 + 290->77; // weight: -0.0469 + 290->7; // weight: -0.0469 + 290->78; // weight: 0.0156 + 290->15; // weight: 0.281 + 290->82; // weight: -0.0938 + 290->85; // weight: 0.281 + 290->86; // weight: -0.0938 + 290->90; // weight: 0.562 + 338->82; // weight: 1.00 + 343->77; // weight: 0.375 + 343->78; // weight: -0.125 + 343->82; // weight: 0.750 + 345->6; // weight: -0.125 + 345->77; // weight: 0.375 + 345->85; // weight: 0.750 + 346->15; // weight: -0.125 + 346->82; // weight: 0.375 + 346->90; // weight: 0.750 + 351->6; // weight: -0.0469 + 351->77; // weight: 0.141 + 351->7; // weight: 0.0156 + 351->78; // weight: -0.0469 + 351->15; // weight: -0.0938 + 351->82; // weight: 0.281 + 351->85; // weight: 0.281 + 351->86; // weight: -0.0938 + 351->90; // weight: 0.562 + 301->85; // weight: -0.125 + 301->86; // weight: 0.375 + 301->90; // weight: 0.750 + 305->6; // weight: -0.0469 + 305->77; // weight: 0.0156 + 305->7; // weight: 0.141 + 305->78; // weight: -0.0469 + 305->15; // weight: 0.281 + 305->82; // weight: -0.0938 + 305->85; // weight: -0.0938 + 305->86; // weight: 0.281 + 305->90; // weight: 0.562 + 357->77; // weight: -0.125 + 357->78; // weight: 0.375 + 357->82; // weight: 0.750 + 361->6; // weight: 0.0156 + 361->77; // weight: -0.0469 + 361->7; // weight: -0.0469 + 361->78; // weight: 0.141 + 361->15; // weight: -0.0938 + 361->82; // weight: 0.281 + 361->85; // weight: -0.0938 + 361->86; // weight: 0.281 + 361->90; // weight: 0.562 + 111->7; // weight: -0.333 + 111->78; // weight: 0.333 + 111->110; // weight: 1.00 + 115->48; // weight: -0.333 + 115->377; // weight: 0.333 + 115->114; // weight: 1.00 + 103->78; // weight: -0.333 + 103->377; // weight: 0.333 + 103->102; // weight: 1.00 + 119->110; // weight: -0.333 + 119->114; // weight: 0.333 + 119->118; // weight: 1.00 + 120->94; // weight: -0.333 + 120->102; // weight: 0.333 + 120->118; // weight: 1.00 + 121->7; // weight: 0.111 + 121->48; // weight: -0.111 + 121->78; // weight: -0.111 + 121->377; // weight: 0.111 + 121->110; // weight: -0.333 + 121->114; // weight: 0.333 + 121->94; // weight: -0.333 + 121->102; // weight: 0.333 + 121->118; // weight: 1.00 + 296->7; // weight: 0.0625 + 296->48; // weight: -0.0312 + 296->78; // weight: -0.0312 + 296->377; // weight: 0.0156 + 296->110; // weight: -0.281 + 296->114; // weight: 0.141 + 296->94; // weight: -0.281 + 296->102; // weight: 0.141 + 296->118; // weight: 1.27 + 303->7; // weight: -0.0469 + 303->48; // weight: 0.0234 + 303->78; // weight: 0.00781 + 303->377; // weight: 0.00391 + 303->110; // weight: -0.211 + 303->114; // weight: 0.105 + 303->94; // weight: 0.211 + 303->102; // weight: -0.0352 + 303->118; // weight: 0.949 + 300->7; // weight: -0.0469 + 300->48; // weight: 0.00781 + 300->78; // weight: 0.0234 + 300->377; // weight: 0.00391 + 300->110; // weight: 0.211 + 300->114; // weight: -0.0352 + 300->94; // weight: -0.211 + 300->102; // weight: 0.105 + 300->118; // weight: 0.949 + 304->7; // weight: 0.0352 + 304->48; // weight: 0.00586 + 304->78; // weight: 0.00586 + 304->377; // weight: 0.000977 + 304->110; // weight: 0.158 + 304->114; // weight: -0.0264 + 304->94; // weight: 0.158 + 304->102; // weight: -0.0264 + 304->118; // weight: 0.712 + 327->48; // weight: -0.250 + 327->377; // weight: 0.125 + 327->114; // weight: 1.12 + 332->48; // weight: 0.188 + 332->377; // weight: -0.0312 + 332->114; // weight: 0.844 + 330->7; // weight: 0.0781 + 330->48; // weight: -0.117 + 330->78; // weight: -0.0391 + 330->377; // weight: 0.0586 + 330->110; // weight: -0.352 + 330->114; // weight: 0.527 + 330->94; // weight: -0.211 + 330->102; // weight: 0.105 + 330->118; // weight: 0.949 + 333->7; // weight: -0.0586 + 333->48; // weight: 0.0879 + 333->78; // weight: 0.00977 + 333->377; // weight: -0.0146 + 333->110; // weight: -0.264 + 333->114; // weight: 0.396 + 333->94; // weight: 0.158 + 333->102; // weight: -0.0264 + 333->118; // weight: 0.712 + 355->78; // weight: -0.250 + 355->377; // weight: 0.125 + 355->102; // weight: 1.12 + 359->7; // weight: 0.0781 + 359->48; // weight: -0.0391 + 359->78; // weight: -0.117 + 359->377; // weight: 0.0586 + 359->110; // weight: -0.211 + 359->114; // weight: 0.105 + 359->94; // weight: -0.352 + 359->102; // weight: 0.527 + 359->118; // weight: 0.949 + 356->78; // weight: 0.188 + 356->377; // weight: -0.0312 + 356->102; // weight: 0.844 + 360->7; // weight: -0.0586 + 360->48; // weight: 0.00977 + 360->78; // weight: 0.0879 + 360->377; // weight: -0.0146 + 360->110; // weight: 0.158 + 360->114; // weight: -0.0264 + 360->94; // weight: -0.264 + 360->102; // weight: 0.396 + 360->118; // weight: 0.712 + 380->48; // weight: -0.312 + 380->377; // weight: 0.469 + 380->114; // weight: 0.844 + 378->78; // weight: -0.312 + 378->377; // weight: 0.469 + 378->102; // weight: 0.844 + 381->7; // weight: 0.0977 + 381->48; // weight: -0.146 + 381->78; // weight: -0.146 + 381->377; // weight: 0.220 + 381->110; // weight: -0.264 + 381->114; // weight: 0.396 + 381->94; // weight: -0.264 + 381->102; // weight: 0.396 + 381->118; // weight: 0.712 + 107->78; // weight: -0.333 + 107->261; // weight: 0.333 + 107->106; // weight: 1.00 + 113->30; // weight: -0.333 + 113->261; // weight: 0.333 + 113->112; // weight: 1.00 + 127->98; // weight: -0.333 + 127->106; // weight: 0.333 + 127->126; // weight: 1.00 + 128->110; // weight: -0.333 + 128->112; // weight: 0.333 + 128->126; // weight: 1.00 + 129->7; // weight: 0.111 + 129->78; // weight: -0.111 + 129->30; // weight: -0.111 + 129->261; // weight: 0.111 + 129->98; // weight: -0.333 + 129->106; // weight: 0.333 + 129->110; // weight: -0.333 + 129->112; // weight: 0.333 + 129->126; // weight: 1.00 + 195->7; // weight: 0.0625 + 195->78; // weight: -0.0312 + 195->30; // weight: -0.0312 + 195->261; // weight: 0.0156 + 195->98; // weight: -0.281 + 195->106; // weight: 0.141 + 195->110; // weight: -0.281 + 195->112; // weight: 0.141 + 195->126; // weight: 1.27 + 201->7; // weight: -0.0469 + 201->78; // weight: 0.0234 + 201->30; // weight: 0.00781 + 201->261; // weight: 0.00391 + 201->98; // weight: -0.211 + 201->106; // weight: 0.105 + 201->110; // weight: 0.211 + 201->112; // weight: -0.0352 + 201->126; // weight: 0.949 + 203->7; // weight: -0.0469 + 203->78; // weight: 0.00781 + 203->30; // weight: 0.0234 + 203->261; // weight: 0.00391 + 203->98; // weight: 0.211 + 203->106; // weight: -0.0352 + 203->110; // weight: -0.211 + 203->112; // weight: 0.105 + 203->126; // weight: 0.949 + 206->7; // weight: 0.0352 + 206->78; // weight: 0.00586 + 206->30; // weight: 0.00586 + 206->261; // weight: 0.000977 + 206->98; // weight: 0.158 + 206->106; // weight: -0.0264 + 206->110; // weight: 0.158 + 206->112; // weight: -0.0264 + 206->126; // weight: 0.712 + 250->78; // weight: -0.250 + 250->261; // weight: 0.125 + 250->106; // weight: 1.12 + 253->78; // weight: 0.188 + 253->261; // weight: -0.0312 + 253->106; // weight: 0.844 + 255->7; // weight: 0.0781 + 255->78; // weight: -0.117 + 255->30; // weight: -0.0391 + 255->261; // weight: 0.0586 + 255->98; // weight: -0.352 + 255->106; // weight: 0.527 + 255->110; // weight: -0.211 + 255->112; // weight: 0.105 + 255->126; // weight: 0.949 + 258->7; // weight: -0.0586 + 258->78; // weight: 0.0879 + 258->30; // weight: 0.00977 + 258->261; // weight: -0.0146 + 258->98; // weight: -0.264 + 258->106; // weight: 0.396 + 258->110; // weight: 0.158 + 258->112; // weight: -0.0264 + 258->126; // weight: 0.712 + 210->30; // weight: -0.250 + 210->261; // weight: 0.125 + 210->112; // weight: 1.12 + 214->7; // weight: 0.0781 + 214->78; // weight: -0.0391 + 214->30; // weight: -0.117 + 214->261; // weight: 0.0586 + 214->98; // weight: -0.211 + 214->106; // weight: 0.105 + 214->110; // weight: -0.352 + 214->112; // weight: 0.527 + 214->126; // weight: 0.949 + 215->30; // weight: 0.188 + 215->261; // weight: -0.0312 + 215->112; // weight: 0.844 + 217->7; // weight: -0.0586 + 217->78; // weight: 0.00977 + 217->30; // weight: 0.0879 + 217->261; // weight: -0.0146 + 217->98; // weight: 0.158 + 217->106; // weight: -0.0264 + 217->110; // weight: -0.264 + 217->112; // weight: 0.396 + 217->126; // weight: 0.712 + 263->78; // weight: -0.312 + 263->261; // weight: 0.469 + 263->106; // weight: 0.844 + 264->30; // weight: -0.312 + 264->261; // weight: 0.469 + 264->112; // weight: 0.844 + 266->7; // weight: 0.0977 + 266->78; // weight: -0.146 + 266->30; // weight: -0.146 + 266->261; // weight: 0.220 + 266->98; // weight: -0.264 + 266->106; // weight: 0.396 + 266->110; // weight: -0.264 + 266->112; // weight: 0.396 + 266->126; // weight: 0.712 +} +DEAL:: Number of degrees of freedom: 385 +DEAL:: Number of constraints : 128 +DEAL:cg::Starting value 0.337 +DEAL:cg::Convergence step 11 value 6.99e-10 +DEAL::Cycle 2: +DEAL:: Number of active cells: 64 +digraph constraints { + 49->2; // weight: 0.222 + 49->3; // weight: -0.111 + 49->11; // weight: 0.889 + 50->2; // weight: -0.111 + 50->3; // weight: 0.222 + 50->11; // weight: 0.889 + 57->6; // weight: 0.222 + 57->7; // weight: -0.111 + 57->15; // weight: 0.889 + 58->6; // weight: -0.111 + 58->7; // weight: 0.222 + 58->15; // weight: 0.889 + 61->2; // weight: 0.222 + 61->6; // weight: -0.111 + 61->18; // weight: 0.889 + 62->2; // weight: -0.111 + 62->6; // weight: 0.222 + 62->18; // weight: 0.889 + 63->3; // weight: 0.222 + 63->7; // weight: -0.111 + 63->19; // weight: 0.889 + 64->3; // weight: -0.111 + 64->7; // weight: 0.222 + 64->19; // weight: 0.889 + 77->2; // weight: 0.0494 + 77->6; // weight: -0.0247 + 77->3; // weight: -0.0247 + 77->7; // weight: 0.0123 + 77->11; // weight: 0.198 + 77->15; // weight: -0.0988 + 77->18; // weight: 0.198 + 77->19; // weight: -0.0988 + 77->23; // weight: 0.790 + 78->2; // weight: -0.0247 + 78->6; // weight: 0.0494 + 78->3; // weight: 0.0123 + 78->7; // weight: -0.0247 + 78->11; // weight: -0.0988 + 78->15; // weight: 0.198 + 78->18; // weight: 0.198 + 78->19; // weight: -0.0988 + 78->23; // weight: 0.790 + 79->2; // weight: -0.0247 + 79->6; // weight: 0.0123 + 79->3; // weight: 0.0494 + 79->7; // weight: -0.0247 + 79->11; // weight: 0.198 + 79->15; // weight: -0.0988 + 79->18; // weight: -0.0988 + 79->19; // weight: 0.198 + 79->23; // weight: 0.790 + 80->2; // weight: 0.0123 + 80->6; // weight: -0.0247 + 80->3; // weight: -0.0247 + 80->7; // weight: 0.0494 + 80->11; // weight: -0.0988 + 80->15; // weight: 0.198 + 80->18; // weight: -0.0988 + 80->19; // weight: 0.198 + 80->23; // weight: 0.790 + 67->101; // weight: 0.222 + 67->103; // weight: -0.111 + 67->111; // weight: 0.889 + 68->101; // weight: -0.111 + 68->103; // weight: 0.222 + 68->111; // weight: 0.889 + 47->3; // weight: 0.222 + 47->101; // weight: -0.111 + 47->105; // weight: 0.889 + 48->3; // weight: -0.111 + 48->101; // weight: 0.222 + 48->105; // weight: 0.889 + 55->7; // weight: 0.222 + 55->103; // weight: -0.111 + 55->108; // weight: 0.889 + 56->7; // weight: -0.111 + 56->103; // weight: 0.222 + 56->108; // weight: 0.889 + 73->3; // weight: 0.0494 + 73->101; // weight: -0.0247 + 73->7; // weight: -0.0247 + 73->103; // weight: 0.0123 + 73->19; // weight: 0.198 + 73->111; // weight: -0.0988 + 73->105; // weight: 0.198 + 73->108; // weight: -0.0988 + 73->113; // weight: 0.790 + 74->3; // weight: -0.0247 + 74->101; // weight: 0.0494 + 74->7; // weight: 0.0123 + 74->103; // weight: -0.0247 + 74->19; // weight: -0.0988 + 74->111; // weight: 0.198 + 74->105; // weight: 0.198 + 74->108; // weight: -0.0988 + 74->113; // weight: 0.790 + 75->3; // weight: -0.0247 + 75->101; // weight: 0.0123 + 75->7; // weight: 0.0494 + 75->103; // weight: -0.0247 + 75->19; // weight: 0.198 + 75->111; // weight: -0.0988 + 75->105; // weight: -0.0988 + 75->108; // weight: 0.198 + 75->113; // weight: 0.790 + 76->3; // weight: 0.0123 + 76->101; // weight: -0.0247 + 76->7; // weight: -0.0247 + 76->103; // weight: 0.0494 + 76->19; // weight: -0.0988 + 76->111; // weight: 0.198 + 76->105; // weight: -0.0988 + 76->108; // weight: 0.198 + 76->113; // weight: 0.790 + 809->101; // weight: 0.222 + 809->102; // weight: -0.111 + 809->107; // weight: 0.889 + 810->101; // weight: -0.111 + 810->102; // weight: 0.222 + 810->107; // weight: 0.889 + 815->103; // weight: 0.222 + 815->104; // weight: -0.111 + 815->110; // weight: 0.889 + 816->103; // weight: -0.111 + 816->104; // weight: 0.222 + 816->110; // weight: 0.889 + 819->102; // weight: 0.222 + 819->104; // weight: -0.111 + 819->112; // weight: 0.889 + 820->102; // weight: -0.111 + 820->104; // weight: 0.222 + 820->112; // weight: 0.889 + 827->101; // weight: 0.0494 + 827->103; // weight: -0.0247 + 827->102; // weight: -0.0247 + 827->104; // weight: 0.0123 + 827->107; // weight: 0.198 + 827->110; // weight: -0.0988 + 827->111; // weight: 0.198 + 827->112; // weight: -0.0988 + 827->115; // weight: 0.790 + 828->101; // weight: -0.0247 + 828->103; // weight: 0.0494 + 828->102; // weight: 0.0123 + 828->104; // weight: -0.0247 + 828->107; // weight: -0.0988 + 828->110; // weight: 0.198 + 828->111; // weight: 0.198 + 828->112; // weight: -0.0988 + 828->115; // weight: 0.790 + 829->101; // weight: -0.0247 + 829->103; // weight: 0.0123 + 829->102; // weight: 0.0494 + 829->104; // weight: -0.0247 + 829->107; // weight: 0.198 + 829->110; // weight: -0.0988 + 829->111; // weight: -0.0988 + 829->112; // weight: 0.198 + 829->115; // weight: 0.790 + 830->101; // weight: 0.0123 + 830->103; // weight: -0.0247 + 830->102; // weight: -0.0247 + 830->104; // weight: 0.0494 + 830->107; // weight: -0.0988 + 830->110; // weight: 0.198 + 830->111; // weight: -0.0988 + 830->112; // weight: 0.198 + 830->115; // weight: 0.790 + 59->149; // weight: 0.222 + 59->103; // weight: -0.111 + 59->153; // weight: 0.889 + 60->149; // weight: -0.111 + 60->103; // weight: 0.222 + 60->153; // weight: 0.889 + 936->150; // weight: 0.222 + 936->151; // weight: -0.111 + 936->156; // weight: 0.889 + 937->150; // weight: -0.111 + 937->151; // weight: 0.222 + 937->156; // weight: 0.889 + 940->149; // weight: 0.222 + 940->150; // weight: -0.111 + 940->157; // weight: 0.889 + 941->149; // weight: -0.111 + 941->150; // weight: 0.222 + 941->157; // weight: 0.889 + 942->103; // weight: 0.222 + 942->151; // weight: -0.111 + 942->158; // weight: 0.889 + 943->103; // weight: -0.111 + 943->151; // weight: 0.222 + 943->158; // weight: 0.889 + 956->149; // weight: 0.0494 + 956->150; // weight: -0.0247 + 956->103; // weight: -0.0247 + 956->151; // weight: 0.0123 + 956->153; // weight: 0.198 + 956->156; // weight: -0.0988 + 956->157; // weight: 0.198 + 956->158; // weight: -0.0988 + 956->161; // weight: 0.790 + 957->149; // weight: -0.0247 + 957->150; // weight: 0.0494 + 957->103; // weight: 0.0123 + 957->151; // weight: -0.0247 + 957->153; // weight: -0.0988 + 957->156; // weight: 0.198 + 957->157; // weight: 0.198 + 957->158; // weight: -0.0988 + 957->161; // weight: 0.790 + 958->149; // weight: -0.0247 + 958->150; // weight: 0.0123 + 958->103; // weight: 0.0494 + 958->151; // weight: -0.0247 + 958->153; // weight: 0.198 + 958->156; // weight: -0.0988 + 958->157; // weight: -0.0988 + 958->158; // weight: 0.198 + 958->161; // weight: 0.790 + 959->149; // weight: 0.0123 + 959->150; // weight: -0.0247 + 959->103; // weight: -0.0247 + 959->151; // weight: 0.0494 + 959->153; // weight: -0.0988 + 959->156; // weight: 0.198 + 959->157; // weight: -0.0988 + 959->158; // weight: 0.198 + 959->161; // weight: 0.790 + 53->6; // weight: 0.222 + 53->149; // weight: -0.111 + 53->152; // weight: 0.889 + 54->6; // weight: -0.111 + 54->149; // weight: 0.222 + 54->152; // weight: 0.889 + 89->6; // weight: 0.0494 + 89->7; // weight: -0.0247 + 89->149; // weight: -0.0247 + 89->103; // weight: 0.0123 + 89->152; // weight: 0.198 + 89->108; // weight: -0.0988 + 89->15; // weight: 0.198 + 89->153; // weight: -0.0988 + 89->162; // weight: 0.790 + 90->6; // weight: -0.0247 + 90->7; // weight: 0.0494 + 90->149; // weight: 0.0123 + 90->103; // weight: -0.0247 + 90->152; // weight: -0.0988 + 90->108; // weight: 0.198 + 90->15; // weight: 0.198 + 90->153; // weight: -0.0988 + 90->162; // weight: 0.790 + 91->6; // weight: -0.0247 + 91->7; // weight: 0.0123 + 91->149; // weight: 0.0494 + 91->103; // weight: -0.0247 + 91->152; // weight: 0.198 + 91->108; // weight: -0.0988 + 91->15; // weight: -0.0988 + 91->153; // weight: 0.198 + 91->162; // weight: 0.790 + 92->6; // weight: 0.0123 + 92->7; // weight: -0.0247 + 92->149; // weight: -0.0247 + 92->103; // weight: 0.0494 + 92->152; // weight: -0.0988 + 92->108; // weight: 0.198 + 92->15; // weight: -0.0988 + 92->153; // weight: 0.198 + 92->162; // weight: 0.790 + 979->151; // weight: 0.222 + 979->165; // weight: -0.111 + 979->167; // weight: 0.889 + 980->151; // weight: -0.111 + 980->165; // weight: 0.222 + 980->167; // weight: 0.889 + 983->104; // weight: 0.222 + 983->165; // weight: -0.111 + 983->168; // weight: 0.889 + 984->104; // weight: -0.111 + 984->165; // weight: 0.222 + 984->168; // weight: 0.889 + 991->103; // weight: 0.0494 + 991->151; // weight: -0.0247 + 991->104; // weight: -0.0247 + 991->165; // weight: 0.0123 + 991->110; // weight: 0.198 + 991->167; // weight: -0.0988 + 991->158; // weight: 0.198 + 991->168; // weight: -0.0988 + 991->170; // weight: 0.790 + 992->103; // weight: -0.0247 + 992->151; // weight: 0.0494 + 992->104; // weight: 0.0123 + 992->165; // weight: -0.0247 + 992->110; // weight: -0.0988 + 992->167; // weight: 0.198 + 992->158; // weight: 0.198 + 992->168; // weight: -0.0988 + 992->170; // weight: 0.790 + 993->103; // weight: -0.0247 + 993->151; // weight: 0.0123 + 993->104; // weight: 0.0494 + 993->165; // weight: -0.0247 + 993->110; // weight: 0.198 + 993->167; // weight: -0.0988 + 993->158; // weight: -0.0988 + 993->168; // weight: 0.198 + 993->170; // weight: 0.790 + 994->103; // weight: 0.0123 + 994->151; // weight: -0.0247 + 994->104; // weight: -0.0247 + 994->165; // weight: 0.0494 + 994->110; // weight: -0.0988 + 994->167; // weight: 0.198 + 994->158; // weight: -0.0988 + 994->168; // weight: 0.198 + 994->170; // weight: 0.790 + 216->174; // weight: 0.222 + 216->178; // weight: -0.111 + 216->190; // weight: 0.889 + 217->174; // weight: -0.111 + 217->178; // weight: 0.222 + 217->190; // weight: 0.889 + 218->176; // weight: 0.222 + 218->180; // weight: -0.111 + 218->192; // weight: 0.889 + 219->176; // weight: -0.111 + 219->180; // weight: 0.222 + 219->192; // weight: 0.889 + 200->174; // weight: 0.222 + 200->176; // weight: -0.111 + 200->182; // weight: 0.889 + 201->174; // weight: -0.111 + 201->176; // weight: 0.222 + 201->182; // weight: 0.889 + 208->178; // weight: 0.222 + 208->180; // weight: -0.111 + 208->186; // weight: 0.889 + 209->178; // weight: -0.111 + 209->180; // weight: 0.222 + 209->186; // weight: 0.889 + 222->174; // weight: 0.0494 + 222->176; // weight: -0.0247 + 222->178; // weight: -0.0247 + 222->180; // weight: 0.0123 + 222->190; // weight: 0.198 + 222->192; // weight: -0.0988 + 222->182; // weight: 0.198 + 222->186; // weight: -0.0988 + 222->194; // weight: 0.790 + 223->174; // weight: -0.0247 + 223->176; // weight: 0.0494 + 223->178; // weight: 0.0123 + 223->180; // weight: -0.0247 + 223->190; // weight: -0.0988 + 223->192; // weight: 0.198 + 223->182; // weight: 0.198 + 223->186; // weight: -0.0988 + 223->194; // weight: 0.790 + 224->174; // weight: -0.0247 + 224->176; // weight: 0.0123 + 224->178; // weight: 0.0494 + 224->180; // weight: -0.0247 + 224->190; // weight: 0.198 + 224->192; // weight: -0.0988 + 224->182; // weight: -0.0988 + 224->186; // weight: 0.198 + 224->194; // weight: 0.790 + 225->174; // weight: 0.0123 + 225->176; // weight: -0.0247 + 225->178; // weight: -0.0247 + 225->180; // weight: 0.0494 + 225->190; // weight: -0.0988 + 225->192; // weight: 0.198 + 225->182; // weight: -0.0988 + 225->186; // weight: 0.198 + 225->194; // weight: 0.790 + 220->272; // weight: 0.222 + 220->274; // weight: -0.111 + 220->282; // weight: 0.889 + 221->272; // weight: -0.111 + 221->274; // weight: 0.222 + 221->282; // weight: 0.889 + 864->273; // weight: 0.222 + 864->275; // weight: -0.111 + 864->283; // weight: 0.889 + 865->273; // weight: -0.111 + 865->275; // weight: 0.222 + 865->283; // weight: 0.889 + 852->272; // weight: 0.222 + 852->273; // weight: -0.111 + 852->276; // weight: 0.889 + 853->272; // weight: -0.111 + 853->273; // weight: 0.222 + 853->276; // weight: 0.889 + 858->274; // weight: 0.222 + 858->275; // weight: -0.111 + 858->279; // weight: 0.889 + 859->274; // weight: -0.111 + 859->275; // weight: 0.222 + 859->279; // weight: 0.889 + 868->272; // weight: 0.0494 + 868->273; // weight: -0.0247 + 868->274; // weight: -0.0247 + 868->275; // weight: 0.0123 + 868->282; // weight: 0.198 + 868->283; // weight: -0.0988 + 868->276; // weight: 0.198 + 868->279; // weight: -0.0988 + 868->284; // weight: 0.790 + 869->272; // weight: -0.0247 + 869->273; // weight: 0.0494 + 869->274; // weight: 0.0123 + 869->275; // weight: -0.0247 + 869->282; // weight: -0.0988 + 869->283; // weight: 0.198 + 869->276; // weight: 0.198 + 869->279; // weight: -0.0988 + 869->284; // weight: 0.790 + 870->272; // weight: -0.0247 + 870->273; // weight: 0.0123 + 870->274; // weight: 0.0494 + 870->275; // weight: -0.0247 + 870->282; // weight: 0.198 + 870->283; // weight: -0.0988 + 870->276; // weight: -0.0988 + 870->279; // weight: 0.198 + 870->284; // weight: 0.790 + 871->272; // weight: 0.0123 + 871->273; // weight: -0.0247 + 871->274; // weight: -0.0247 + 871->275; // weight: 0.0494 + 871->282; // weight: -0.0988 + 871->283; // weight: 0.198 + 871->276; // weight: -0.0988 + 871->279; // weight: 0.198 + 871->284; // weight: 0.790 + 206->176; // weight: 0.222 + 206->272; // weight: -0.111 + 206->277; // weight: 0.889 + 207->176; // weight: -0.111 + 207->272; // weight: 0.222 + 207->277; // weight: 0.889 + 214->180; // weight: 0.222 + 214->274; // weight: -0.111 + 214->280; // weight: 0.889 + 215->180; // weight: -0.111 + 215->274; // weight: 0.222 + 215->280; // weight: 0.889 + 234->176; // weight: 0.0494 + 234->180; // weight: -0.0247 + 234->272; // weight: -0.0247 + 234->274; // weight: 0.0123 + 234->277; // weight: 0.198 + 234->280; // weight: -0.0988 + 234->192; // weight: 0.198 + 234->282; // weight: -0.0988 + 234->285; // weight: 0.790 + 235->176; // weight: -0.0247 + 235->180; // weight: 0.0494 + 235->272; // weight: 0.0123 + 235->274; // weight: -0.0247 + 235->277; // weight: -0.0988 + 235->280; // weight: 0.198 + 235->192; // weight: 0.198 + 235->282; // weight: -0.0988 + 235->285; // weight: 0.790 + 236->176; // weight: -0.0247 + 236->180; // weight: 0.0123 + 236->272; // weight: 0.0494 + 236->274; // weight: -0.0247 + 236->277; // weight: 0.198 + 236->280; // weight: -0.0988 + 236->192; // weight: -0.0988 + 236->282; // weight: 0.198 + 236->285; // weight: 0.790 + 237->176; // weight: 0.0123 + 237->180; // weight: -0.0247 + 237->272; // weight: -0.0247 + 237->274; // weight: 0.0494 + 237->277; // weight: -0.0988 + 237->280; // weight: 0.198 + 237->192; // weight: -0.0988 + 237->282; // weight: 0.198 + 237->285; // weight: 0.790 + 944->274; // weight: 0.222 + 944->308; // weight: -0.111 + 944->314; // weight: 0.889 + 945->274; // weight: -0.111 + 945->308; // weight: 0.222 + 945->314; // weight: 0.889 + 210->149; // weight: 0.222 + 210->274; // weight: -0.111 + 210->309; // weight: 0.889 + 211->149; // weight: -0.111 + 211->274; // weight: 0.222 + 211->309; // weight: 0.889 + 932->150; // weight: 0.222 + 932->308; // weight: -0.111 + 932->311; // weight: 0.889 + 933->150; // weight: -0.111 + 933->308; // weight: 0.222 + 933->311; // weight: 0.889 + 948->149; // weight: 0.0494 + 948->274; // weight: -0.0247 + 948->150; // weight: -0.0247 + 948->308; // weight: 0.0123 + 948->157; // weight: 0.198 + 948->314; // weight: -0.0988 + 948->309; // weight: 0.198 + 948->311; // weight: -0.0988 + 948->315; // weight: 0.790 + 949->149; // weight: -0.0247 + 949->274; // weight: 0.0494 + 949->150; // weight: 0.0123 + 949->308; // weight: -0.0247 + 949->157; // weight: -0.0988 + 949->314; // weight: 0.198 + 949->309; // weight: 0.198 + 949->311; // weight: -0.0988 + 949->315; // weight: 0.790 + 950->149; // weight: -0.0247 + 950->274; // weight: 0.0123 + 950->150; // weight: 0.0494 + 950->308; // weight: -0.0247 + 950->157; // weight: 0.198 + 950->314; // weight: -0.0988 + 950->309; // weight: -0.0988 + 950->311; // weight: 0.198 + 950->315; // weight: 0.790 + 951->149; // weight: 0.0123 + 951->274; // weight: -0.0247 + 951->150; // weight: -0.0247 + 951->308; // weight: 0.0494 + 951->157; // weight: -0.0988 + 951->314; // weight: 0.198 + 951->309; // weight: -0.0988 + 951->311; // weight: 0.198 + 951->315; // weight: 0.790 + 212->178; // weight: 0.222 + 212->149; // weight: -0.111 + 212->310; // weight: 0.889 + 213->178; // weight: -0.111 + 213->149; // weight: 0.222 + 213->310; // weight: 0.889 + 242->178; // weight: 0.0494 + 242->149; // weight: -0.0247 + 242->180; // weight: -0.0247 + 242->274; // weight: 0.0123 + 242->186; // weight: 0.198 + 242->309; // weight: -0.0988 + 242->310; // weight: 0.198 + 242->280; // weight: -0.0988 + 242->318; // weight: 0.790 + 243->178; // weight: -0.0247 + 243->149; // weight: 0.0494 + 243->180; // weight: 0.0123 + 243->274; // weight: -0.0247 + 243->186; // weight: -0.0988 + 243->309; // weight: 0.198 + 243->310; // weight: 0.198 + 243->280; // weight: -0.0988 + 243->318; // weight: 0.790 + 244->178; // weight: -0.0247 + 244->149; // weight: 0.0123 + 244->180; // weight: 0.0494 + 244->274; // weight: -0.0247 + 244->186; // weight: 0.198 + 244->309; // weight: -0.0988 + 244->310; // weight: -0.0988 + 244->280; // weight: 0.198 + 244->318; // weight: 0.790 + 245->178; // weight: 0.0123 + 245->149; // weight: -0.0247 + 245->180; // weight: -0.0247 + 245->274; // weight: 0.0494 + 245->186; // weight: -0.0988 + 245->309; // weight: 0.198 + 245->310; // weight: -0.0988 + 245->280; // weight: 0.198 + 245->318; // weight: 0.790 + 1018->275; // weight: 0.222 + 1018->333; // weight: -0.111 + 1018->336; // weight: 0.889 + 1019->275; // weight: -0.111 + 1019->333; // weight: 0.222 + 1019->336; // weight: 0.889 + 1012->308; // weight: 0.222 + 1012->333; // weight: -0.111 + 1012->334; // weight: 0.889 + 1013->308; // weight: -0.111 + 1013->333; // weight: 0.222 + 1013->334; // weight: 0.889 + 1022->274; // weight: 0.0494 + 1022->275; // weight: -0.0247 + 1022->308; // weight: -0.0247 + 1022->333; // weight: 0.0123 + 1022->314; // weight: 0.198 + 1022->336; // weight: -0.0988 + 1022->279; // weight: 0.198 + 1022->334; // weight: -0.0988 + 1022->337; // weight: 0.790 + 1023->274; // weight: -0.0247 + 1023->275; // weight: 0.0494 + 1023->308; // weight: 0.0123 + 1023->333; // weight: -0.0247 + 1023->314; // weight: -0.0988 + 1023->336; // weight: 0.198 + 1023->279; // weight: 0.198 + 1023->334; // weight: -0.0988 + 1023->337; // weight: 0.790 + 1024->274; // weight: -0.0247 + 1024->275; // weight: 0.0123 + 1024->308; // weight: 0.0494 + 1024->333; // weight: -0.0247 + 1024->314; // weight: 0.198 + 1024->336; // weight: -0.0988 + 1024->279; // weight: -0.0988 + 1024->334; // weight: 0.198 + 1024->337; // weight: 0.790 + 1025->274; // weight: 0.0123 + 1025->275; // weight: -0.0247 + 1025->308; // weight: -0.0247 + 1025->333; // weight: 0.0494 + 1025->314; // weight: -0.0988 + 1025->336; // weight: 0.198 + 1025->279; // weight: -0.0988 + 1025->334; // weight: 0.198 + 1025->337; // weight: 0.790 + 45->2; // weight: 0.222 + 45->452; // weight: -0.111 + 45->453; // weight: 0.889 + 46->2; // weight: -0.111 + 46->452; // weight: 0.222 + 46->453; // weight: 0.889 + 51->452; // weight: 0.222 + 51->101; // weight: -0.111 + 51->532; // weight: 0.889 + 52->452; // weight: -0.111 + 52->101; // weight: 0.222 + 52->532; // weight: 0.889 + 85->2; // weight: 0.0494 + 85->3; // weight: -0.0247 + 85->452; // weight: -0.0247 + 85->101; // weight: 0.0123 + 85->453; // weight: 0.198 + 85->105; // weight: -0.0988 + 85->11; // weight: 0.198 + 85->532; // weight: -0.0988 + 85->536; // weight: 0.790 + 86->2; // weight: -0.0247 + 86->3; // weight: 0.0494 + 86->452; // weight: 0.0123 + 86->101; // weight: -0.0247 + 86->453; // weight: -0.0988 + 86->105; // weight: 0.198 + 86->11; // weight: 0.198 + 86->532; // weight: -0.0988 + 86->536; // weight: 0.790 + 87->2; // weight: -0.0247 + 87->3; // weight: 0.0123 + 87->452; // weight: 0.0494 + 87->101; // weight: -0.0247 + 87->453; // weight: 0.198 + 87->105; // weight: -0.0988 + 87->11; // weight: -0.0988 + 87->532; // weight: 0.198 + 87->536; // weight: 0.790 + 88->2; // weight: 0.0123 + 88->3; // weight: -0.0247 + 88->452; // weight: -0.0247 + 88->101; // weight: 0.0494 + 88->453; // weight: -0.0988 + 88->105; // weight: 0.198 + 88->11; // weight: -0.0988 + 88->532; // weight: 0.198 + 88->536; // weight: 0.790 + 202->452; // weight: 0.222 + 202->272; // weight: -0.111 + 202->608; // weight: 0.889 + 203->452; // weight: -0.111 + 203->272; // weight: 0.222 + 203->608; // weight: 0.889 + 204->174; // weight: 0.222 + 204->452; // weight: -0.111 + 204->454; // weight: 0.889 + 205->174; // weight: -0.111 + 205->452; // weight: 0.222 + 205->454; // weight: 0.889 + 238->174; // weight: 0.0494 + 238->452; // weight: -0.0247 + 238->176; // weight: -0.0247 + 238->272; // weight: 0.0123 + 238->182; // weight: 0.198 + 238->608; // weight: -0.0988 + 238->454; // weight: 0.198 + 238->277; // weight: -0.0988 + 238->612; // weight: 0.790 + 239->174; // weight: -0.0247 + 239->452; // weight: 0.0494 + 239->176; // weight: 0.0123 + 239->272; // weight: -0.0247 + 239->182; // weight: -0.0988 + 239->608; // weight: 0.198 + 239->454; // weight: 0.198 + 239->277; // weight: -0.0988 + 239->612; // weight: 0.790 + 240->174; // weight: -0.0247 + 240->452; // weight: 0.0123 + 240->176; // weight: 0.0494 + 240->272; // weight: -0.0247 + 240->182; // weight: 0.198 + 240->608; // weight: -0.0988 + 240->454; // weight: -0.0988 + 240->277; // weight: 0.198 + 240->612; // weight: 0.790 + 241->174; // weight: 0.0123 + 241->452; // weight: -0.0247 + 241->176; // weight: -0.0247 + 241->272; // weight: 0.0494 + 241->182; // weight: -0.0988 + 241->608; // weight: 0.198 + 241->454; // weight: -0.0988 + 241->277; // weight: 0.198 + 241->612; // weight: 0.790 + 772->101; // weight: 0.222 + 772->672; // weight: -0.111 + 772->673; // weight: 0.889 + 773->101; // weight: -0.111 + 773->672; // weight: 0.222 + 773->673; // weight: 0.889 + 774->272; // weight: 0.222 + 774->672; // weight: -0.111 + 774->674; // weight: 0.889 + 775->272; // weight: -0.111 + 775->672; // weight: 0.222 + 775->674; // weight: 0.889 + 790->452; // weight: 0.0494 + 790->101; // weight: -0.0247 + 790->272; // weight: -0.0247 + 790->672; // weight: 0.0123 + 790->608; // weight: 0.198 + 790->673; // weight: -0.0988 + 790->532; // weight: 0.198 + 790->674; // weight: -0.0988 + 790->678; // weight: 0.790 + 791->452; // weight: -0.0247 + 791->101; // weight: 0.0494 + 791->272; // weight: 0.0123 + 791->672; // weight: -0.0247 + 791->608; // weight: -0.0988 + 791->673; // weight: 0.198 + 791->532; // weight: 0.198 + 791->674; // weight: -0.0988 + 791->678; // weight: 0.790 + 792->452; // weight: -0.0247 + 792->101; // weight: 0.0123 + 792->272; // weight: 0.0494 + 792->672; // weight: -0.0247 + 792->608; // weight: 0.198 + 792->673; // weight: -0.0988 + 792->532; // weight: -0.0988 + 792->674; // weight: 0.198 + 792->678; // weight: 0.790 + 793->452; // weight: 0.0123 + 793->101; // weight: -0.0247 + 793->272; // weight: -0.0247 + 793->672; // weight: 0.0494 + 793->608; // weight: -0.0988 + 793->673; // weight: 0.198 + 793->532; // weight: -0.0988 + 793->674; // weight: 0.198 + 793->678; // weight: 0.790 + 807->102; // weight: 0.222 + 807->680; // weight: -0.111 + 807->681; // weight: 0.889 + 808->102; // weight: -0.111 + 808->680; // weight: 0.222 + 808->681; // weight: 0.889 + 811->672; // weight: 0.222 + 811->680; // weight: -0.111 + 811->682; // weight: 0.889 + 812->672; // weight: -0.111 + 812->680; // weight: 0.222 + 812->682; // weight: 0.889 + 835->101; // weight: 0.0494 + 835->102; // weight: -0.0247 + 835->672; // weight: -0.0247 + 835->680; // weight: 0.0123 + 835->673; // weight: 0.198 + 835->681; // weight: -0.0988 + 835->107; // weight: 0.198 + 835->682; // weight: -0.0988 + 835->686; // weight: 0.790 + 836->101; // weight: -0.0247 + 836->102; // weight: 0.0494 + 836->672; // weight: 0.0123 + 836->680; // weight: -0.0247 + 836->673; // weight: -0.0988 + 836->681; // weight: 0.198 + 836->107; // weight: 0.198 + 836->682; // weight: -0.0988 + 836->686; // weight: 0.790 + 837->101; // weight: -0.0247 + 837->102; // weight: 0.0123 + 837->672; // weight: 0.0494 + 837->680; // weight: -0.0247 + 837->673; // weight: 0.198 + 837->681; // weight: -0.0988 + 837->107; // weight: -0.0988 + 837->682; // weight: 0.198 + 837->686; // weight: 0.790 + 838->101; // weight: 0.0123 + 838->102; // weight: -0.0247 + 838->672; // weight: -0.0247 + 838->680; // weight: 0.0494 + 838->673; // weight: -0.0988 + 838->681; // weight: 0.198 + 838->107; // weight: -0.0988 + 838->682; // weight: 0.198 + 838->686; // weight: 0.790 + 854->672; // weight: 0.222 + 854->688; // weight: -0.111 + 854->689; // weight: 0.889 + 855->672; // weight: -0.111 + 855->688; // weight: 0.222 + 855->689; // weight: 0.889 + 856->273; // weight: 0.222 + 856->688; // weight: -0.111 + 856->690; // weight: 0.889 + 857->273; // weight: -0.111 + 857->688; // weight: 0.222 + 857->690; // weight: 0.889 + 880->272; // weight: 0.0494 + 880->672; // weight: -0.0247 + 880->273; // weight: -0.0247 + 880->688; // weight: 0.0123 + 880->276; // weight: 0.198 + 880->689; // weight: -0.0988 + 880->674; // weight: 0.198 + 880->690; // weight: -0.0988 + 880->694; // weight: 0.790 + 881->272; // weight: -0.0247 + 881->672; // weight: 0.0494 + 881->273; // weight: 0.0123 + 881->688; // weight: -0.0247 + 881->276; // weight: -0.0988 + 881->689; // weight: 0.198 + 881->674; // weight: 0.198 + 881->690; // weight: -0.0988 + 881->694; // weight: 0.790 + 882->272; // weight: -0.0247 + 882->672; // weight: 0.0123 + 882->273; // weight: 0.0494 + 882->688; // weight: -0.0247 + 882->276; // weight: 0.198 + 882->689; // weight: -0.0988 + 882->674; // weight: -0.0988 + 882->690; // weight: 0.198 + 882->694; // weight: 0.790 + 883->272; // weight: 0.0123 + 883->672; // weight: -0.0247 + 883->273; // weight: -0.0247 + 883->688; // weight: 0.0494 + 883->276; // weight: -0.0988 + 883->689; // weight: 0.198 + 883->674; // weight: -0.0988 + 883->690; // weight: 0.198 + 883->694; // weight: 0.790 + 897->680; // weight: 0.222 + 897->696; // weight: -0.111 + 897->697; // weight: 0.889 + 898->680; // weight: -0.111 + 898->696; // weight: 0.222 + 898->697; // weight: 0.889 + 899->688; // weight: 0.222 + 899->696; // weight: -0.111 + 899->698; // weight: 0.889 + 900->688; // weight: -0.111 + 900->696; // weight: 0.222 + 900->698; // weight: 0.889 + 915->672; // weight: 0.0494 + 915->680; // weight: -0.0247 + 915->688; // weight: -0.0247 + 915->696; // weight: 0.0123 + 915->689; // weight: 0.198 + 915->697; // weight: -0.0988 + 915->682; // weight: 0.198 + 915->698; // weight: -0.0988 + 915->702; // weight: 0.790 + 916->672; // weight: -0.0247 + 916->680; // weight: 0.0494 + 916->688; // weight: 0.0123 + 916->696; // weight: -0.0247 + 916->689; // weight: -0.0988 + 916->697; // weight: 0.198 + 916->682; // weight: 0.198 + 916->698; // weight: -0.0988 + 916->702; // weight: 0.790 + 917->672; // weight: -0.0247 + 917->680; // weight: 0.0123 + 917->688; // weight: 0.0494 + 917->696; // weight: -0.0247 + 917->689; // weight: 0.198 + 917->697; // weight: -0.0988 + 917->682; // weight: -0.0988 + 917->698; // weight: 0.198 + 917->702; // weight: 0.790 + 918->672; // weight: 0.0123 + 918->680; // weight: -0.0247 + 918->688; // weight: -0.0247 + 918->696; // weight: 0.0494 + 918->689; // weight: -0.0988 + 918->697; // weight: 0.198 + 918->682; // weight: -0.0988 + 918->698; // weight: 0.198 + 918->702; // weight: 0.790 + 65->452; // weight: 0.222 + 65->149; // weight: -0.111 + 65->734; // weight: 0.889 + 66->452; // weight: -0.111 + 66->149; // weight: 0.222 + 66->734; // weight: 0.889 + 69->2; // weight: 0.0494 + 69->452; // weight: -0.0247 + 69->6; // weight: -0.0247 + 69->149; // weight: 0.0123 + 69->18; // weight: 0.198 + 69->734; // weight: -0.0988 + 69->453; // weight: 0.198 + 69->152; // weight: -0.0988 + 69->735; // weight: 0.790 + 70->2; // weight: -0.0247 + 70->452; // weight: 0.0494 + 70->6; // weight: 0.0123 + 70->149; // weight: -0.0247 + 70->18; // weight: -0.0988 + 70->734; // weight: 0.198 + 70->453; // weight: 0.198 + 70->152; // weight: -0.0988 + 70->735; // weight: 0.790 + 71->2; // weight: -0.0247 + 71->452; // weight: 0.0123 + 71->6; // weight: 0.0494 + 71->149; // weight: -0.0247 + 71->18; // weight: 0.198 + 71->734; // weight: -0.0988 + 71->453; // weight: -0.0988 + 71->152; // weight: 0.198 + 71->735; // weight: 0.790 + 72->2; // weight: 0.0123 + 72->452; // weight: -0.0247 + 72->6; // weight: -0.0247 + 72->149; // weight: 0.0494 + 72->18; // weight: -0.0988 + 72->734; // weight: 0.198 + 72->453; // weight: -0.0988 + 72->152; // weight: 0.198 + 72->735; // weight: 0.790 + 230->174; // weight: 0.0494 + 230->178; // weight: -0.0247 + 230->452; // weight: -0.0247 + 230->149; // weight: 0.0123 + 230->454; // weight: 0.198 + 230->310; // weight: -0.0988 + 230->190; // weight: 0.198 + 230->734; // weight: -0.0988 + 230->736; // weight: 0.790 + 231->174; // weight: -0.0247 + 231->178; // weight: 0.0494 + 231->452; // weight: 0.0123 + 231->149; // weight: -0.0247 + 231->454; // weight: -0.0988 + 231->310; // weight: 0.198 + 231->190; // weight: 0.198 + 231->734; // weight: -0.0988 + 231->736; // weight: 0.790 + 232->174; // weight: -0.0247 + 232->178; // weight: 0.0123 + 232->452; // weight: 0.0494 + 232->149; // weight: -0.0247 + 232->454; // weight: 0.198 + 232->310; // weight: -0.0988 + 232->190; // weight: -0.0988 + 232->734; // weight: 0.198 + 232->736; // weight: 0.790 + 233->174; // weight: 0.0123 + 233->178; // weight: -0.0247 + 233->452; // weight: -0.0247 + 233->149; // weight: 0.0494 + 233->454; // weight: -0.0988 + 233->310; // weight: 0.198 + 233->190; // weight: -0.0988 + 233->734; // weight: 0.198 + 233->736; // weight: 0.790 +} +DEAL:: Number of degrees of freedom: 1073 +DEAL:: Number of constraints : 172 +DEAL:cg::Starting value 0.149 +DEAL:cg::Convergence step 16 value 1.01e-09 +DEAL::Cycle 3: +DEAL:: Number of active cells: 190 +digraph constraints { + 1019->9; // weight: 1.00 + 1021->17; // weight: 1.00 + 1023->21; // weight: 1.00 + 1033->1; // weight: 0.375 + 1033->5; // weight: -0.125 + 1033->17; // weight: 0.750 + 1035->9; // weight: 0.375 + 1035->13; // weight: -0.125 + 1035->21; // weight: 0.750 + 1025->1; // weight: 0.375 + 1025->3; // weight: -0.125 + 1025->9; // weight: 0.750 + 1029->17; // weight: 0.375 + 1029->19; // weight: -0.125 + 1029->21; // weight: 0.750 + 1037->1; // weight: 0.141 + 1037->3; // weight: -0.0469 + 1037->5; // weight: -0.0469 + 1037->7; // weight: 0.0156 + 1037->17; // weight: 0.281 + 1037->19; // weight: -0.0938 + 1037->9; // weight: 0.281 + 1037->13; // weight: -0.0938 + 1037->21; // weight: 0.562 + 1062->19; // weight: 1.00 + 1070->3; // weight: 0.375 + 1070->7; // weight: -0.125 + 1070->19; // weight: 0.750 + 1064->1; // weight: -0.125 + 1064->3; // weight: 0.375 + 1064->9; // weight: 0.750 + 1067->17; // weight: -0.125 + 1067->19; // weight: 0.375 + 1067->21; // weight: 0.750 + 1072->1; // weight: -0.0469 + 1072->3; // weight: 0.141 + 1072->5; // weight: 0.0156 + 1072->7; // weight: -0.0469 + 1072->17; // weight: -0.0938 + 1072->19; // weight: 0.281 + 1072->9; // weight: 0.281 + 1072->13; // weight: -0.0938 + 1072->21; // weight: 0.562 + 1090->13; // weight: 1.00 + 1096->1; // weight: -0.125 + 1096->5; // weight: 0.375 + 1096->17; // weight: 0.750 + 1098->9; // weight: -0.125 + 1098->13; // weight: 0.375 + 1098->21; // weight: 0.750 + 1092->5; // weight: 0.375 + 1092->7; // weight: -0.125 + 1092->13; // weight: 0.750 + 1100->1; // weight: -0.0469 + 1100->3; // weight: 0.0156 + 1100->5; // weight: 0.141 + 1100->7; // weight: -0.0469 + 1100->17; // weight: 0.281 + 1100->19; // weight: -0.0938 + 1100->9; // weight: -0.0938 + 1100->13; // weight: 0.281 + 1100->21; // weight: 0.562 + 1122->3; // weight: -0.125 + 1122->7; // weight: 0.375 + 1122->19; // weight: 0.750 + 1119->5; // weight: -0.125 + 1119->7; // weight: 0.375 + 1119->13; // weight: 0.750 + 1124->1; // weight: 0.0156 + 1124->3; // weight: -0.0469 + 1124->5; // weight: -0.0469 + 1124->7; // weight: 0.141 + 1124->17; // weight: -0.0938 + 1124->19; // weight: 0.281 + 1124->9; // weight: -0.0938 + 1124->13; // weight: 0.281 + 1124->21; // weight: 0.562 + 33->2; // weight: 0.375 + 33->3; // weight: -0.125 + 33->11; // weight: 0.750 + 34->11; // weight: 1.00 + 35->2; // weight: -0.125 + 35->3; // weight: 0.375 + 35->11; // weight: 0.750 + 45->6; // weight: 0.375 + 45->7; // weight: -0.125 + 45->15; // weight: 0.750 + 46->15; // weight: 1.00 + 47->6; // weight: -0.125 + 47->7; // weight: 0.375 + 47->15; // weight: 0.750 + 51->2; // weight: 0.375 + 51->6; // weight: -0.125 + 51->18; // weight: 0.750 + 52->18; // weight: 1.00 + 53->2; // weight: -0.125 + 53->6; // weight: 0.375 + 53->18; // weight: 0.750 + 54->3; // weight: 0.375 + 54->7; // weight: -0.125 + 54->19; // weight: 0.750 + 55->19; // weight: 1.00 + 56->3; // weight: -0.125 + 56->7; // weight: 0.375 + 56->19; // weight: 0.750 + 80->2; // weight: 0.141 + 80->6; // weight: -0.0469 + 80->3; // weight: -0.0469 + 80->7; // weight: 0.0156 + 80->11; // weight: 0.281 + 80->15; // weight: -0.0938 + 80->18; // weight: 0.281 + 80->19; // weight: -0.0938 + 80->23; // weight: 0.562 + 81->18; // weight: 0.375 + 81->19; // weight: -0.125 + 81->23; // weight: 0.750 + 82->2; // weight: -0.0469 + 82->6; // weight: 0.141 + 82->3; // weight: 0.0156 + 82->7; // weight: -0.0469 + 82->11; // weight: -0.0938 + 82->15; // weight: 0.281 + 82->18; // weight: 0.281 + 82->19; // weight: -0.0938 + 82->23; // weight: 0.562 + 83->11; // weight: 0.375 + 83->15; // weight: -0.125 + 83->23; // weight: 0.750 + 84->11; // weight: -0.125 + 84->15; // weight: 0.375 + 84->23; // weight: 0.750 + 85->2; // weight: -0.0469 + 85->6; // weight: 0.0156 + 85->3; // weight: 0.141 + 85->7; // weight: -0.0469 + 85->11; // weight: 0.281 + 85->15; // weight: -0.0938 + 85->18; // weight: -0.0938 + 85->19; // weight: 0.281 + 85->23; // weight: 0.562 + 86->18; // weight: -0.125 + 86->19; // weight: 0.375 + 86->23; // weight: 0.750 + 87->2; // weight: 0.0156 + 87->6; // weight: -0.0469 + 87->3; // weight: -0.0469 + 87->7; // weight: 0.141 + 87->11; // weight: -0.0938 + 87->15; // weight: 0.281 + 87->18; // weight: -0.0938 + 87->19; // weight: 0.281 + 87->23; // weight: 0.562 + 1235->14; // weight: 1.00 + 1236->12; // weight: 1.00 + 1237->25; // weight: 1.00 + 1242->4; // weight: 0.375 + 1242->6; // weight: -0.125 + 1242->12; // weight: 0.750 + 1243->14; // weight: 0.375 + 1243->15; // weight: -0.125 + 1243->25; // weight: 0.750 + 1244->4; // weight: 0.375 + 1244->5; // weight: -0.125 + 1244->14; // weight: 0.750 + 1245->12; // weight: 0.375 + 1245->13; // weight: -0.125 + 1245->25; // weight: 0.750 + 1258->4; // weight: 0.141 + 1258->5; // weight: -0.0469 + 1258->6; // weight: -0.0469 + 1258->7; // weight: 0.0156 + 1258->12; // weight: 0.281 + 1258->13; // weight: -0.0938 + 1258->14; // weight: 0.281 + 1258->15; // weight: -0.0938 + 1258->25; // weight: 0.562 + 1263->4; // weight: -0.125 + 1263->5; // weight: 0.375 + 1263->14; // weight: 0.750 + 1264->12; // weight: -0.125 + 1264->13; // weight: 0.375 + 1264->25; // weight: 0.750 + 1273->4; // weight: -0.0469 + 1273->5; // weight: 0.141 + 1273->6; // weight: 0.0156 + 1273->7; // weight: -0.0469 + 1273->12; // weight: -0.0938 + 1273->13; // weight: 0.281 + 1273->14; // weight: 0.281 + 1273->15; // weight: -0.0938 + 1273->25; // weight: 0.562 + 1276->15; // weight: 1.00 + 1279->4; // weight: -0.125 + 1279->6; // weight: 0.375 + 1279->12; // weight: 0.750 + 1280->14; // weight: -0.125 + 1280->15; // weight: 0.375 + 1280->25; // weight: 0.750 + 1281->6; // weight: 0.375 + 1281->7; // weight: -0.125 + 1281->15; // weight: 0.750 + 1290->4; // weight: -0.0469 + 1290->5; // weight: 0.0156 + 1290->6; // weight: 0.141 + 1290->7; // weight: -0.0469 + 1290->12; // weight: 0.281 + 1290->13; // weight: -0.0938 + 1290->14; // weight: -0.0938 + 1290->15; // weight: 0.281 + 1290->25; // weight: 0.562 + 1294->6; // weight: -0.125 + 1294->7; // weight: 0.375 + 1294->15; // weight: 0.750 + 1300->4; // weight: 0.0156 + 1300->5; // weight: -0.0469 + 1300->6; // weight: -0.0469 + 1300->7; // weight: 0.141 + 1300->12; // weight: -0.0938 + 1300->13; // weight: 0.281 + 1300->14; // weight: -0.0938 + 1300->15; // weight: 0.281 + 1300->25; // weight: 0.562 + 61->476; // weight: -0.500 + 61->1215; // weight: 0.167 + 61->60; // weight: 1.33 + 62->476; // weight: -0.500 + 62->1215; // weight: 0.500 + 62->60; // weight: 1.00 + 31->3; // weight: -0.500 + 31->476; // weight: 0.167 + 31->30; // weight: 1.33 + 32->3; // weight: -0.500 + 32->476; // weight: 0.500 + 32->30; // weight: 1.00 + 43->7; // weight: -0.500 + 43->1215; // weight: 0.167 + 43->42; // weight: 1.33 + 44->7; // weight: -0.500 + 44->1215; // weight: 0.500 + 44->42; // weight: 1.00 + 72->54; // weight: -0.500 + 72->60; // weight: 0.167 + 72->71; // weight: 1.33 + 73->54; // weight: -0.500 + 73->60; // weight: 0.500 + 73->71; // weight: 1.00 + 74->30; // weight: -0.500 + 74->42; // weight: 0.167 + 74->71; // weight: 1.33 + 75->3; // weight: 0.250 + 75->476; // weight: -0.0833 + 75->7; // weight: -0.0833 + 75->1215; // weight: 0.0278 + 75->54; // weight: -0.667 + 75->60; // weight: 0.222 + 75->30; // weight: -0.667 + 75->42; // weight: 0.222 + 75->71; // weight: 1.78 + 76->3; // weight: 0.250 + 76->476; // weight: -0.250 + 76->7; // weight: -0.0833 + 76->1215; // weight: 0.0833 + 76->54; // weight: -0.667 + 76->60; // weight: 0.667 + 76->30; // weight: -0.500 + 76->42; // weight: 0.167 + 76->71; // weight: 1.33 + 77->30; // weight: -0.500 + 77->42; // weight: 0.500 + 77->71; // weight: 1.00 + 78->3; // weight: 0.250 + 78->476; // weight: -0.0833 + 78->7; // weight: -0.250 + 78->1215; // weight: 0.0833 + 78->54; // weight: -0.500 + 78->60; // weight: 0.167 + 78->30; // weight: -0.667 + 78->42; // weight: 0.667 + 78->71; // weight: 1.33 + 79->3; // weight: 0.250 + 79->476; // weight: -0.250 + 79->7; // weight: -0.250 + 79->1215; // weight: 0.250 + 79->54; // weight: -0.500 + 79->60; // weight: 0.500 + 79->30; // weight: -0.500 + 79->42; // weight: 0.500 + 79->71; // weight: 1.00 + 1137->3; // weight: -0.500 + 1137->476; // weight: 0.167 + 1137->30; // weight: 1.33 + 1139->3; // weight: 0.250 + 1139->476; // weight: -0.0833 + 1139->7; // weight: -0.0833 + 1139->1215; // weight: 0.0278 + 1139->54; // weight: -0.667 + 1139->60; // weight: 0.222 + 1139->30; // weight: -0.667 + 1139->42; // weight: 0.222 + 1139->71; // weight: 1.78 + 1147->54; // weight: -0.500 + 1147->60; // weight: 0.167 + 1147->71; // weight: 1.33 + 1141->30; // weight: 1.00 + 1144->30; // weight: -0.500 + 1144->42; // weight: 0.167 + 1144->71; // weight: 1.33 + 1149->71; // weight: 1.00 + 1168->476; // weight: -0.500 + 1168->1215; // weight: 0.167 + 1168->60; // weight: 1.33 + 1176->60; // weight: 1.00 + 1170->3; // weight: -0.500 + 1170->476; // weight: 0.500 + 1170->30; // weight: 1.00 + 1173->3; // weight: 0.250 + 1173->476; // weight: -0.250 + 1173->7; // weight: -0.0833 + 1173->1215; // weight: 0.0833 + 1173->54; // weight: -0.667 + 1173->60; // weight: 0.667 + 1173->30; // weight: -0.500 + 1173->42; // weight: 0.167 + 1173->71; // weight: 1.33 + 1178->54; // weight: -0.500 + 1178->60; // weight: 0.500 + 1178->71; // weight: 1.00 + 1195->7; // weight: -0.500 + 1195->1215; // weight: 0.167 + 1195->42; // weight: 1.33 + 1200->3; // weight: 0.250 + 1200->476; // weight: -0.0833 + 1200->7; // weight: -0.250 + 1200->1215; // weight: 0.0833 + 1200->54; // weight: -0.500 + 1200->60; // weight: 0.167 + 1200->30; // weight: -0.667 + 1200->42; // weight: 0.667 + 1200->71; // weight: 1.33 + 1197->42; // weight: 1.00 + 1202->30; // weight: -0.500 + 1202->42; // weight: 0.500 + 1202->71; // weight: 1.00 + 1220->476; // weight: -0.500 + 1220->1215; // weight: 0.500 + 1220->60; // weight: 1.00 + 1217->7; // weight: -0.500 + 1217->1215; // weight: 0.500 + 1217->42; // weight: 1.00 + 1222->3; // weight: 0.250 + 1222->476; // weight: -0.250 + 1222->7; // weight: -0.250 + 1222->1215; // weight: 0.250 + 1222->54; // weight: -0.500 + 1222->60; // weight: 0.500 + 1222->30; // weight: -0.500 + 1222->42; // weight: 0.500 + 1222->71; // weight: 1.00 + 40->6; // weight: -0.500 + 40->636; // weight: 0.167 + 40->39; // weight: 1.33 + 41->6; // weight: -0.500 + 41->636; // weight: 0.500 + 41->39; // weight: 1.00 + 49->636; // weight: -0.500 + 49->1215; // weight: 0.167 + 49->48; // weight: 1.33 + 50->636; // weight: -0.500 + 50->1215; // weight: 0.500 + 50->48; // weight: 1.00 + 106->39; // weight: -0.500 + 106->42; // weight: 0.167 + 106->105; // weight: 1.33 + 107->39; // weight: -0.500 + 107->42; // weight: 0.500 + 107->105; // weight: 1.00 + 108->45; // weight: -0.500 + 108->48; // weight: 0.167 + 108->105; // weight: 1.33 + 109->6; // weight: 0.250 + 109->7; // weight: -0.0833 + 109->636; // weight: -0.0833 + 109->1215; // weight: 0.0278 + 109->39; // weight: -0.667 + 109->42; // weight: 0.222 + 109->45; // weight: -0.667 + 109->48; // weight: 0.222 + 109->105; // weight: 1.78 + 110->6; // weight: 0.250 + 110->7; // weight: -0.250 + 110->636; // weight: -0.0833 + 110->1215; // weight: 0.0833 + 110->39; // weight: -0.667 + 110->42; // weight: 0.667 + 110->45; // weight: -0.500 + 110->48; // weight: 0.167 + 110->105; // weight: 1.33 + 111->45; // weight: -0.500 + 111->48; // weight: 0.500 + 111->105; // weight: 1.00 + 112->6; // weight: 0.250 + 112->7; // weight: -0.0833 + 112->636; // weight: -0.250 + 112->1215; // weight: 0.0833 + 112->39; // weight: -0.500 + 112->42; // weight: 0.167 + 112->45; // weight: -0.667 + 112->48; // weight: 0.667 + 112->105; // weight: 1.33 + 113->6; // weight: 0.250 + 113->7; // weight: -0.250 + 113->636; // weight: -0.250 + 113->1215; // weight: 0.250 + 113->39; // weight: -0.500 + 113->42; // weight: 0.500 + 113->45; // weight: -0.500 + 113->48; // weight: 0.500 + 113->105; // weight: 1.00 + 1431->6; // weight: -0.500 + 1431->636; // weight: 0.167 + 1431->39; // weight: 1.33 + 1432->6; // weight: 0.250 + 1432->7; // weight: -0.0833 + 1432->636; // weight: -0.0833 + 1432->1215; // weight: 0.0278 + 1432->39; // weight: -0.667 + 1432->42; // weight: 0.222 + 1432->45; // weight: -0.667 + 1432->48; // weight: 0.222 + 1432->105; // weight: 1.78 + 1435->39; // weight: 1.00 + 1436->39; // weight: -0.500 + 1436->42; // weight: 0.167 + 1436->105; // weight: 1.33 + 1437->45; // weight: -0.500 + 1437->48; // weight: 0.167 + 1437->105; // weight: 1.33 + 1446->105; // weight: 1.00 + 1450->6; // weight: 0.250 + 1450->7; // weight: -0.250 + 1450->636; // weight: -0.0833 + 1450->1215; // weight: 0.0833 + 1450->39; // weight: -0.667 + 1450->42; // weight: 0.667 + 1450->45; // weight: -0.500 + 1450->48; // weight: 0.167 + 1450->105; // weight: 1.33 + 1456->39; // weight: -0.500 + 1456->42; // weight: 0.500 + 1456->105; // weight: 1.00 + 1459->636; // weight: -0.500 + 1459->1215; // weight: 0.167 + 1459->48; // weight: 1.33 + 1462->6; // weight: -0.500 + 1462->636; // weight: 0.500 + 1462->39; // weight: 1.00 + 1463->6; // weight: 0.250 + 1463->7; // weight: -0.0833 + 1463->636; // weight: -0.250 + 1463->1215; // weight: 0.0833 + 1463->39; // weight: -0.500 + 1463->42; // weight: 0.167 + 1463->45; // weight: -0.667 + 1463->48; // weight: 0.667 + 1463->105; // weight: 1.33 + 1464->48; // weight: 1.00 + 1473->45; // weight: -0.500 + 1473->48; // weight: 0.500 + 1473->105; // weight: 1.00 + 1477->636; // weight: -0.500 + 1477->1215; // weight: 0.500 + 1477->48; // weight: 1.00 + 1483->6; // weight: 0.250 + 1483->7; // weight: -0.250 + 1483->636; // weight: -0.250 + 1483->1215; // weight: 0.250 + 1483->39; // weight: -0.500 + 1483->42; // weight: 0.500 + 1483->45; // weight: -0.500 + 1483->48; // weight: 0.500 + 1483->105; // weight: 1.00 + 192->142; // weight: 0.375 + 192->146; // weight: -0.125 + 192->158; // weight: 0.750 + 193->158; // weight: 1.00 + 194->142; // weight: -0.125 + 194->146; // weight: 0.375 + 194->158; // weight: 0.750 + 195->144; // weight: 0.375 + 195->148; // weight: -0.125 + 195->160; // weight: 0.750 + 196->160; // weight: 1.00 + 197->144; // weight: -0.125 + 197->148; // weight: 0.375 + 197->160; // weight: 0.750 + 168->142; // weight: 0.375 + 168->144; // weight: -0.125 + 168->150; // weight: 0.750 + 169->150; // weight: 1.00 + 170->142; // weight: -0.125 + 170->144; // weight: 0.375 + 170->150; // weight: 0.750 + 180->146; // weight: 0.375 + 180->148; // weight: -0.125 + 180->154; // weight: 0.750 + 181->154; // weight: 1.00 + 182->146; // weight: -0.125 + 182->148; // weight: 0.375 + 182->154; // weight: 0.750 + 201->142; // weight: 0.141 + 201->144; // weight: -0.0469 + 201->146; // weight: -0.0469 + 201->148; // weight: 0.0156 + 201->158; // weight: 0.281 + 201->160; // weight: -0.0938 + 201->150; // weight: 0.281 + 201->154; // weight: -0.0938 + 201->162; // weight: 0.562 + 202->150; // weight: 0.375 + 202->154; // weight: -0.125 + 202->162; // weight: 0.750 + 203->142; // weight: -0.0469 + 203->144; // weight: 0.141 + 203->146; // weight: 0.0156 + 203->148; // weight: -0.0469 + 203->158; // weight: -0.0938 + 203->160; // weight: 0.281 + 203->150; // weight: 0.281 + 203->154; // weight: -0.0938 + 203->162; // weight: 0.562 + 204->158; // weight: 0.375 + 204->160; // weight: -0.125 + 204->162; // weight: 0.750 + 205->158; // weight: -0.125 + 205->160; // weight: 0.375 + 205->162; // weight: 0.750 + 206->142; // weight: -0.0469 + 206->144; // weight: 0.0156 + 206->146; // weight: 0.141 + 206->148; // weight: -0.0469 + 206->158; // weight: 0.281 + 206->160; // weight: -0.0938 + 206->150; // weight: -0.0938 + 206->154; // weight: 0.281 + 206->162; // weight: 0.562 + 207->150; // weight: -0.125 + 207->154; // weight: 0.375 + 207->162; // weight: 0.750 + 208->142; // weight: 0.0156 + 208->144; // weight: -0.0469 + 208->146; // weight: -0.0469 + 208->148; // weight: 0.141 + 208->158; // weight: -0.0938 + 208->160; // weight: 0.281 + 208->150; // weight: -0.0938 + 208->154; // weight: 0.281 + 208->162; // weight: 0.562 + 1592->159; // weight: 1.00 + 1589->152; // weight: 1.00 + 1593->164; // weight: 1.00 + 1598->143; // weight: 0.375 + 1598->144; // weight: -0.125 + 1598->152; // weight: 0.750 + 1602->159; // weight: 0.375 + 1602->160; // weight: -0.125 + 1602->164; // weight: 0.750 + 1604->143; // weight: 0.375 + 1604->147; // weight: -0.125 + 1604->159; // weight: 0.750 + 1605->152; // weight: 0.375 + 1605->156; // weight: -0.125 + 1605->164; // weight: 0.750 + 1610->143; // weight: 0.141 + 1610->147; // weight: -0.0469 + 1610->144; // weight: -0.0469 + 1610->148; // weight: 0.0156 + 1610->152; // weight: 0.281 + 1610->156; // weight: -0.0938 + 1610->159; // weight: 0.281 + 1610->160; // weight: -0.0938 + 1610->164; // weight: 0.562 + 1660->156; // weight: 1.00 + 1665->147; // weight: 0.375 + 1665->148; // weight: -0.125 + 1665->156; // weight: 0.750 + 1667->143; // weight: -0.125 + 1667->147; // weight: 0.375 + 1667->159; // weight: 0.750 + 1668->152; // weight: -0.125 + 1668->156; // weight: 0.375 + 1668->164; // weight: 0.750 + 1673->143; // weight: -0.0469 + 1673->147; // weight: 0.141 + 1673->144; // weight: 0.0156 + 1673->148; // weight: -0.0469 + 1673->152; // weight: -0.0938 + 1673->156; // weight: 0.281 + 1673->159; // weight: 0.281 + 1673->160; // weight: -0.0938 + 1673->164; // weight: 0.562 + 1616->160; // weight: 1.00 + 1619->143; // weight: -0.125 + 1619->144; // weight: 0.375 + 1619->152; // weight: 0.750 + 1622->159; // weight: -0.125 + 1622->160; // weight: 0.375 + 1622->164; // weight: 0.750 + 1624->144; // weight: 0.375 + 1624->148; // weight: -0.125 + 1624->160; // weight: 0.750 + 1627->143; // weight: -0.0469 + 1627->147; // weight: 0.0156 + 1627->144; // weight: 0.141 + 1627->148; // weight: -0.0469 + 1627->152; // weight: 0.281 + 1627->156; // weight: -0.0938 + 1627->159; // weight: -0.0938 + 1627->160; // weight: 0.281 + 1627->164; // weight: 0.562 + 1679->147; // weight: -0.125 + 1679->148; // weight: 0.375 + 1679->156; // weight: 0.750 + 1681->144; // weight: -0.125 + 1681->148; // weight: 0.375 + 1681->160; // weight: 0.750 + 1684->143; // weight: 0.0156 + 1684->147; // weight: -0.0469 + 1684->144; // weight: -0.0469 + 1684->148; // weight: 0.141 + 1684->152; // weight: -0.0938 + 1684->156; // weight: 0.281 + 1684->159; // weight: -0.0938 + 1684->160; // weight: 0.281 + 1684->164; // weight: 0.562 + 1806->155; // weight: 1.00 + 1807->153; // weight: 1.00 + 1808->166; // weight: 1.00 + 1813->145; // weight: 0.375 + 1813->147; // weight: -0.125 + 1813->153; // weight: 0.750 + 1814->155; // weight: 0.375 + 1814->156; // weight: -0.125 + 1814->166; // weight: 0.750 + 1815->145; // weight: 0.375 + 1815->146; // weight: -0.125 + 1815->155; // weight: 0.750 + 1816->153; // weight: 0.375 + 1816->154; // weight: -0.125 + 1816->166; // weight: 0.750 + 1829->145; // weight: 0.141 + 1829->146; // weight: -0.0469 + 1829->147; // weight: -0.0469 + 1829->148; // weight: 0.0156 + 1829->153; // weight: 0.281 + 1829->154; // weight: -0.0938 + 1829->155; // weight: 0.281 + 1829->156; // weight: -0.0938 + 1829->166; // weight: 0.562 + 1832->154; // weight: 1.00 + 1835->146; // weight: 0.375 + 1835->148; // weight: -0.125 + 1835->154; // weight: 0.750 + 1836->145; // weight: -0.125 + 1836->146; // weight: 0.375 + 1836->155; // weight: 0.750 + 1837->153; // weight: -0.125 + 1837->154; // weight: 0.375 + 1837->166; // weight: 0.750 + 1846->145; // weight: -0.0469 + 1846->146; // weight: 0.141 + 1846->147; // weight: 0.0156 + 1846->148; // weight: -0.0469 + 1846->153; // weight: -0.0938 + 1846->154; // weight: 0.281 + 1846->155; // weight: 0.281 + 1846->156; // weight: -0.0938 + 1846->166; // weight: 0.562 + 1851->145; // weight: -0.125 + 1851->147; // weight: 0.375 + 1851->153; // weight: 0.750 + 1852->155; // weight: -0.125 + 1852->156; // weight: 0.375 + 1852->166; // weight: 0.750 + 1861->145; // weight: -0.0469 + 1861->146; // weight: 0.0156 + 1861->147; // weight: 0.141 + 1861->148; // weight: -0.0469 + 1861->153; // weight: 0.281 + 1861->154; // weight: -0.0938 + 1861->155; // weight: -0.0938 + 1861->156; // weight: 0.281 + 1861->166; // weight: 0.562 + 1865->146; // weight: -0.125 + 1865->148; // weight: 0.375 + 1865->154; // weight: 0.750 + 1871->145; // weight: 0.0156 + 1871->146; // weight: -0.0469 + 1871->147; // weight: -0.0469 + 1871->148; // weight: 0.141 + 1871->153; // weight: -0.0938 + 1871->154; // weight: 0.281 + 1871->155; // weight: -0.0938 + 1871->156; // weight: 0.281 + 1871->166; // weight: 0.562 + 178->144; // weight: -0.500 + 178->558; // weight: 0.167 + 178->177; // weight: 1.33 + 179->144; // weight: -0.500 + 179->558; // weight: 0.500 + 179->177; // weight: 1.00 + 190->148; // weight: -0.500 + 190->1778; // weight: 0.167 + 190->189; // weight: 1.33 + 191->148; // weight: -0.500 + 191->1778; // weight: 0.500 + 191->189; // weight: 1.00 + 199->558; // weight: -0.500 + 199->1778; // weight: 0.167 + 199->198; // weight: 1.33 + 200->558; // weight: -0.500 + 200->1778; // weight: 0.500 + 200->198; // weight: 1.00 + 227->177; // weight: -0.500 + 227->189; // weight: 0.167 + 227->226; // weight: 1.33 + 228->177; // weight: -0.500 + 228->189; // weight: 0.500 + 228->226; // weight: 1.00 + 229->195; // weight: -0.500 + 229->198; // weight: 0.167 + 229->226; // weight: 1.33 + 230->144; // weight: 0.250 + 230->148; // weight: -0.0833 + 230->558; // weight: -0.0833 + 230->1778; // weight: 0.0278 + 230->177; // weight: -0.667 + 230->189; // weight: 0.222 + 230->195; // weight: -0.667 + 230->198; // weight: 0.222 + 230->226; // weight: 1.78 + 231->144; // weight: 0.250 + 231->148; // weight: -0.250 + 231->558; // weight: -0.0833 + 231->1778; // weight: 0.0833 + 231->177; // weight: -0.667 + 231->189; // weight: 0.667 + 231->195; // weight: -0.500 + 231->198; // weight: 0.167 + 231->226; // weight: 1.33 + 232->195; // weight: -0.500 + 232->198; // weight: 0.500 + 232->226; // weight: 1.00 + 233->144; // weight: 0.250 + 233->148; // weight: -0.0833 + 233->558; // weight: -0.250 + 233->1778; // weight: 0.0833 + 233->177; // weight: -0.500 + 233->189; // weight: 0.167 + 233->195; // weight: -0.667 + 233->198; // weight: 0.667 + 233->226; // weight: 1.33 + 234->144; // weight: 0.250 + 234->148; // weight: -0.250 + 234->558; // weight: -0.250 + 234->1778; // weight: 0.250 + 234->177; // weight: -0.500 + 234->189; // weight: 0.500 + 234->195; // weight: -0.500 + 234->198; // weight: 0.500 + 234->226; // weight: 1.00 + 1708->144; // weight: -0.500 + 1708->558; // weight: 0.167 + 1708->177; // weight: 1.33 + 1710->144; // weight: 0.250 + 1710->148; // weight: -0.0833 + 1710->558; // weight: -0.0833 + 1710->1778; // weight: 0.0278 + 1710->177; // weight: -0.667 + 1710->189; // weight: 0.222 + 1710->195; // weight: -0.667 + 1710->198; // weight: 0.222 + 1710->226; // weight: 1.78 + 1713->177; // weight: 1.00 + 1716->177; // weight: -0.500 + 1716->189; // weight: 0.167 + 1716->226; // weight: 1.33 + 1718->195; // weight: -0.500 + 1718->198; // weight: 0.167 + 1718->226; // weight: 1.33 + 1721->226; // weight: 1.00 + 1766->148; // weight: -0.500 + 1766->1778; // weight: 0.167 + 1766->189; // weight: 1.33 + 1769->189; // weight: 1.00 + 1771->144; // weight: 0.250 + 1771->148; // weight: -0.250 + 1771->558; // weight: -0.0833 + 1771->1778; // weight: 0.0833 + 1771->177; // weight: -0.667 + 1771->189; // weight: 0.667 + 1771->195; // weight: -0.500 + 1771->198; // weight: 0.167 + 1771->226; // weight: 1.33 + 1774->177; // weight: -0.500 + 1774->189; // weight: 0.500 + 1774->226; // weight: 1.00 + 1727->558; // weight: -0.500 + 1727->1778; // weight: 0.167 + 1727->198; // weight: 1.33 + 1730->144; // weight: -0.500 + 1730->558; // weight: 0.500 + 1730->177; // weight: 1.00 + 1733->144; // weight: 0.250 + 1733->148; // weight: -0.0833 + 1733->558; // weight: -0.250 + 1733->1778; // weight: 0.0833 + 1733->177; // weight: -0.500 + 1733->189; // weight: 0.167 + 1733->195; // weight: -0.667 + 1733->198; // weight: 0.667 + 1733->226; // weight: 1.33 + 1735->198; // weight: 1.00 + 1738->195; // weight: -0.500 + 1738->198; // weight: 0.500 + 1738->226; // weight: 1.00 + 1781->148; // weight: -0.500 + 1781->1778; // weight: 0.500 + 1781->189; // weight: 1.00 + 1783->558; // weight: -0.500 + 1783->1778; // weight: 0.500 + 1783->198; // weight: 1.00 + 1786->144; // weight: 0.250 + 1786->148; // weight: -0.250 + 1786->558; // weight: -0.250 + 1786->1778; // weight: 0.250 + 1786->177; // weight: -0.500 + 1786->189; // weight: 0.500 + 1786->195; // weight: -0.500 + 1786->198; // weight: 0.500 + 1786->226; // weight: 1.00 + 184->636; // weight: -0.500 + 184->1778; // weight: 0.167 + 184->183; // weight: 1.33 + 185->636; // weight: -0.500 + 185->1778; // weight: 0.500 + 185->183; // weight: 1.00 + 187->146; // weight: -0.500 + 187->636; // weight: 0.167 + 187->186; // weight: 1.33 + 188->146; // weight: -0.500 + 188->636; // weight: 0.500 + 188->186; // weight: 1.00 + 244->180; // weight: -0.500 + 244->183; // weight: 0.167 + 244->243; // weight: 1.33 + 245->180; // weight: -0.500 + 245->183; // weight: 0.500 + 245->243; // weight: 1.00 + 246->186; // weight: -0.500 + 246->189; // weight: 0.167 + 246->243; // weight: 1.33 + 247->146; // weight: 0.250 + 247->636; // weight: -0.0833 + 247->148; // weight: -0.0833 + 247->1778; // weight: 0.0278 + 247->180; // weight: -0.667 + 247->183; // weight: 0.222 + 247->186; // weight: -0.667 + 247->189; // weight: 0.222 + 247->243; // weight: 1.78 + 248->146; // weight: 0.250 + 248->636; // weight: -0.250 + 248->148; // weight: -0.0833 + 248->1778; // weight: 0.0833 + 248->180; // weight: -0.667 + 248->183; // weight: 0.667 + 248->186; // weight: -0.500 + 248->189; // weight: 0.167 + 248->243; // weight: 1.33 + 249->186; // weight: -0.500 + 249->189; // weight: 0.500 + 249->243; // weight: 1.00 + 250->146; // weight: 0.250 + 250->636; // weight: -0.0833 + 250->148; // weight: -0.250 + 250->1778; // weight: 0.0833 + 250->180; // weight: -0.500 + 250->183; // weight: 0.167 + 250->186; // weight: -0.667 + 250->189; // weight: 0.667 + 250->243; // weight: 1.33 + 251->146; // weight: 0.250 + 251->636; // weight: -0.250 + 251->148; // weight: -0.250 + 251->1778; // weight: 0.250 + 251->180; // weight: -0.500 + 251->183; // weight: 0.500 + 251->186; // weight: -0.500 + 251->189; // weight: 0.500 + 251->243; // weight: 1.00 + 1922->146; // weight: -0.500 + 1922->636; // weight: 0.167 + 1922->186; // weight: 1.33 + 1923->146; // weight: 0.250 + 1923->636; // weight: -0.0833 + 1923->148; // weight: -0.0833 + 1923->1778; // weight: 0.0278 + 1923->180; // weight: -0.667 + 1923->183; // weight: 0.222 + 1923->186; // weight: -0.667 + 1923->189; // weight: 0.222 + 1923->243; // weight: 1.78 + 1926->180; // weight: -0.500 + 1926->183; // weight: 0.167 + 1926->243; // weight: 1.33 + 1927->186; // weight: 1.00 + 1928->186; // weight: -0.500 + 1928->189; // weight: 0.167 + 1928->243; // weight: 1.33 + 1937->243; // weight: 1.00 + 1940->636; // weight: -0.500 + 1940->1778; // weight: 0.167 + 1940->183; // weight: 1.33 + 1942->183; // weight: 1.00 + 1943->146; // weight: -0.500 + 1943->636; // weight: 0.500 + 1943->186; // weight: 1.00 + 1944->146; // weight: 0.250 + 1944->636; // weight: -0.250 + 1944->148; // weight: -0.0833 + 1944->1778; // weight: 0.0833 + 1944->180; // weight: -0.667 + 1944->183; // weight: 0.667 + 1944->186; // weight: -0.500 + 1944->189; // weight: 0.167 + 1944->243; // weight: 1.33 + 1952->180; // weight: -0.500 + 1952->183; // weight: 0.500 + 1952->243; // weight: 1.00 + 1956->146; // weight: 0.250 + 1956->636; // weight: -0.0833 + 1956->148; // weight: -0.250 + 1956->1778; // weight: 0.0833 + 1956->180; // weight: -0.500 + 1956->183; // weight: 0.167 + 1956->186; // weight: -0.667 + 1956->189; // weight: 0.667 + 1956->243; // weight: 1.33 + 1962->186; // weight: -0.500 + 1962->189; // weight: 0.500 + 1962->243; // weight: 1.00 + 1966->636; // weight: -0.500 + 1966->1778; // weight: 0.500 + 1966->183; // weight: 1.00 + 1972->146; // weight: 0.250 + 1972->636; // weight: -0.250 + 1972->148; // weight: -0.250 + 1972->1778; // weight: 0.250 + 1972->180; // weight: -0.500 + 1972->183; // weight: 0.500 + 1972->186; // weight: -0.500 + 1972->189; // weight: 0.500 + 1972->243; // weight: 1.00 + 2160->440; // weight: 1.00 + 2157->449; // weight: 1.00 + 2161->454; // weight: 1.00 + 2166->434; // weight: 0.375 + 2166->446; // weight: -0.125 + 2166->449; // weight: 0.750 + 2170->440; // weight: 0.375 + 2170->452; // weight: -0.125 + 2170->454; // weight: 0.750 + 2172->434; // weight: 0.375 + 2172->435; // weight: -0.125 + 2172->440; // weight: 0.750 + 2173->449; // weight: 0.375 + 2173->451; // weight: -0.125 + 2173->454; // weight: 0.750 + 2178->434; // weight: 0.141 + 2178->435; // weight: -0.0469 + 2178->446; // weight: -0.0469 + 2178->447; // weight: 0.0156 + 2178->449; // weight: 0.281 + 2178->451; // weight: -0.0938 + 2178->440; // weight: 0.281 + 2178->452; // weight: -0.0938 + 2178->454; // weight: 0.562 + 2229->451; // weight: 1.00 + 2234->435; // weight: 0.375 + 2234->447; // weight: -0.125 + 2234->451; // weight: 0.750 + 2236->434; // weight: -0.125 + 2236->435; // weight: 0.375 + 2236->440; // weight: 0.750 + 2237->449; // weight: -0.125 + 2237->451; // weight: 0.375 + 2237->454; // weight: 0.750 + 2242->434; // weight: -0.0469 + 2242->435; // weight: 0.141 + 2242->446; // weight: 0.0156 + 2242->447; // weight: -0.0469 + 2242->449; // weight: -0.0938 + 2242->451; // weight: 0.281 + 2242->440; // weight: 0.281 + 2242->452; // weight: -0.0938 + 2242->454; // weight: 0.562 + 2184->452; // weight: 1.00 + 2187->434; // weight: -0.125 + 2187->446; // weight: 0.375 + 2187->449; // weight: 0.750 + 2190->440; // weight: -0.125 + 2190->452; // weight: 0.375 + 2190->454; // weight: 0.750 + 2192->446; // weight: 0.375 + 2192->447; // weight: -0.125 + 2192->452; // weight: 0.750 + 2195->434; // weight: -0.0469 + 2195->435; // weight: 0.0156 + 2195->446; // weight: 0.141 + 2195->447; // weight: -0.0469 + 2195->449; // weight: 0.281 + 2195->451; // weight: -0.0938 + 2195->440; // weight: -0.0938 + 2195->452; // weight: 0.281 + 2195->454; // weight: 0.562 + 2248->435; // weight: -0.125 + 2248->447; // weight: 0.375 + 2248->451; // weight: 0.750 + 2250->446; // weight: -0.125 + 2250->447; // weight: 0.375 + 2250->452; // weight: 0.750 + 2253->434; // weight: 0.0156 + 2253->435; // weight: -0.0469 + 2253->446; // weight: -0.0469 + 2253->447; // weight: 0.141 + 2253->449; // weight: -0.0938 + 2253->451; // weight: 0.281 + 2253->440; // weight: -0.0938 + 2253->452; // weight: 0.281 + 2253->454; // weight: 0.562 + 1018->467; // weight: 1.00 + 1020->474; // weight: 1.00 + 1026->467; // weight: 0.375 + 1026->468; // weight: -0.125 + 1026->474; // weight: 0.750 + 1027->1; // weight: 0.375 + 1027->464; // weight: -0.125 + 1027->467; // weight: 0.750 + 1028->9; // weight: 0.375 + 1028->466; // weight: -0.125 + 1028->474; // weight: 0.750 + 1041->1; // weight: 0.141 + 1041->464; // weight: -0.0469 + 1041->3; // weight: -0.0469 + 1041->465; // weight: 0.0156 + 1041->9; // weight: 0.281 + 1041->466; // weight: -0.0938 + 1041->467; // weight: 0.281 + 1041->468; // weight: -0.0938 + 1041->474; // weight: 0.562 + 1044->466; // weight: 1.00 + 1047->464; // weight: 0.375 + 1047->465; // weight: -0.125 + 1047->466; // weight: 0.750 + 1048->1; // weight: -0.125 + 1048->464; // weight: 0.375 + 1048->467; // weight: 0.750 + 1049->9; // weight: -0.125 + 1049->466; // weight: 0.375 + 1049->474; // weight: 0.750 + 1058->1; // weight: -0.0469 + 1058->464; // weight: 0.141 + 1058->3; // weight: 0.0156 + 1058->465; // weight: -0.0469 + 1058->9; // weight: -0.0938 + 1058->466; // weight: 0.281 + 1058->467; // weight: 0.281 + 1058->468; // weight: -0.0938 + 1058->474; // weight: 0.562 + 1061->468; // weight: 1.00 + 1065->467; // weight: -0.125 + 1065->468; // weight: 0.375 + 1065->474; // weight: 0.750 + 1066->3; // weight: 0.375 + 1066->465; // weight: -0.125 + 1066->468; // weight: 0.750 + 1075->1; // weight: -0.0469 + 1075->464; // weight: 0.0156 + 1075->3; // weight: 0.141 + 1075->465; // weight: -0.0469 + 1075->9; // weight: 0.281 + 1075->466; // weight: -0.0938 + 1075->467; // weight: -0.0938 + 1075->468; // weight: 0.281 + 1075->474; // weight: 0.562 + 1079->464; // weight: -0.125 + 1079->465; // weight: 0.375 + 1079->466; // weight: 0.750 + 1080->3; // weight: -0.125 + 1080->465; // weight: 0.375 + 1080->468; // weight: 0.750 + 1086->1; // weight: 0.0156 + 1086->464; // weight: -0.0469 + 1086->3; // weight: -0.0469 + 1086->465; // weight: 0.141 + 1086->9; // weight: -0.0938 + 1086->466; // weight: 0.281 + 1086->467; // weight: -0.0938 + 1086->468; // weight: 0.281 + 1086->474; // weight: 0.562 + 27->2; // weight: 0.375 + 27->390; // weight: -0.125 + 27->391; // weight: 0.750 + 28->391; // weight: 1.00 + 29->2; // weight: -0.125 + 29->390; // weight: 0.375 + 29->391; // weight: 0.750 + 30->3; // weight: 0.375 + 30->476; // weight: -0.125 + 30->477; // weight: 0.750 + 36->390; // weight: 0.375 + 36->476; // weight: -0.125 + 36->478; // weight: 0.750 + 37->478; // weight: 1.00 + 38->390; // weight: -0.125 + 38->476; // weight: 0.375 + 38->478; // weight: 0.750 + 97->2; // weight: 0.141 + 97->3; // weight: -0.0469 + 97->390; // weight: -0.0469 + 97->476; // weight: 0.0156 + 97->391; // weight: 0.281 + 97->477; // weight: -0.0938 + 97->11; // weight: 0.281 + 97->478; // weight: -0.0938 + 97->482; // weight: 0.562 + 98->11; // weight: 0.375 + 98->478; // weight: -0.125 + 98->482; // weight: 0.750 + 99->2; // weight: -0.0469 + 99->3; // weight: 0.141 + 99->390; // weight: 0.0156 + 99->476; // weight: -0.0469 + 99->391; // weight: -0.0938 + 99->477; // weight: 0.281 + 99->11; // weight: 0.281 + 99->478; // weight: -0.0938 + 99->482; // weight: 0.562 + 100->391; // weight: 0.375 + 100->477; // weight: -0.125 + 100->482; // weight: 0.750 + 101->391; // weight: -0.125 + 101->477; // weight: 0.375 + 101->482; // weight: 0.750 + 102->2; // weight: -0.0469 + 102->3; // weight: 0.0156 + 102->390; // weight: 0.141 + 102->476; // weight: -0.0469 + 102->391; // weight: 0.281 + 102->477; // weight: -0.0938 + 102->11; // weight: -0.0938 + 102->478; // weight: 0.281 + 102->482; // weight: 0.562 + 103->11; // weight: -0.125 + 103->478; // weight: 0.375 + 103->482; // weight: 0.750 + 104->2; // weight: 0.0156 + 104->3; // weight: -0.0469 + 104->390; // weight: -0.0469 + 104->476; // weight: 0.141 + 104->391; // weight: -0.0938 + 104->477; // weight: 0.281 + 104->11; // weight: -0.0938 + 104->478; // weight: 0.281 + 104->482; // weight: 0.562 + 2472->479; // weight: 1.00 + 2473->489; // weight: 1.00 + 2478->479; // weight: 0.375 + 2478->487; // weight: -0.125 + 2478->489; // weight: 0.750 + 2480->435; // weight: 0.375 + 2480->476; // weight: -0.125 + 2480->479; // weight: 0.750 + 2481->451; // weight: 0.375 + 2481->486; // weight: -0.125 + 2481->489; // weight: 0.750 + 2486->435; // weight: 0.141 + 2486->476; // weight: -0.0469 + 2486->447; // weight: -0.0469 + 2486->484; // weight: 0.0156 + 2486->451; // weight: 0.281 + 2486->486; // weight: -0.0938 + 2486->479; // weight: 0.281 + 2486->487; // weight: -0.0938 + 2486->489; // weight: 0.562 + 1167->486; // weight: 1.00 + 1172->476; // weight: 0.375 + 1172->484; // weight: -0.125 + 1172->486; // weight: 0.750 + 2527->435; // weight: -0.125 + 2527->476; // weight: 0.375 + 2527->479; // weight: 0.750 + 2528->451; // weight: -0.125 + 2528->486; // weight: 0.375 + 2528->489; // weight: 0.750 + 2533->435; // weight: -0.0469 + 2533->476; // weight: 0.141 + 2533->447; // weight: 0.0156 + 2533->484; // weight: -0.0469 + 2533->451; // weight: -0.0938 + 2533->486; // weight: 0.281 + 2533->479; // weight: 0.281 + 2533->487; // weight: -0.0938 + 2533->489; // weight: 0.562 + 2490->487; // weight: 1.00 + 2493->479; // weight: -0.125 + 2493->487; // weight: 0.375 + 2493->489; // weight: 0.750 + 2495->447; // weight: 0.375 + 2495->484; // weight: -0.125 + 2495->487; // weight: 0.750 + 2498->435; // weight: -0.0469 + 2498->476; // weight: 0.0156 + 2498->447; // weight: 0.141 + 2498->484; // weight: -0.0469 + 2498->451; // weight: 0.281 + 2498->486; // weight: -0.0938 + 2498->479; // weight: -0.0938 + 2498->487; // weight: 0.281 + 2498->489; // weight: 0.562 + 1186->476; // weight: -0.125 + 1186->484; // weight: 0.375 + 1186->486; // weight: 0.750 + 2540->447; // weight: -0.125 + 2540->484; // weight: 0.375 + 2540->487; // weight: 0.750 + 2543->435; // weight: 0.0156 + 2543->476; // weight: -0.0469 + 2543->447; // weight: -0.0469 + 2543->484; // weight: 0.141 + 2543->451; // weight: -0.0938 + 2543->486; // weight: 0.281 + 2543->479; // weight: -0.0938 + 2543->487; // weight: 0.281 + 2543->489; // weight: 0.562 + 1138->490; // weight: 1.00 + 1142->468; // weight: 0.375 + 1142->486; // weight: -0.125 + 1142->490; // weight: 0.750 + 1143->477; // weight: 0.375 + 1143->485; // weight: -0.125 + 1143->490; // weight: 0.750 + 1152->3; // weight: 0.141 + 1152->465; // weight: -0.0469 + 1152->476; // weight: -0.0469 + 1152->484; // weight: 0.0156 + 1152->477; // weight: 0.281 + 1152->485; // weight: -0.0938 + 1152->468; // weight: 0.281 + 1152->486; // weight: -0.0938 + 1152->490; // weight: 0.562 + 1155->485; // weight: 1.00 + 1157->465; // weight: 0.375 + 1157->484; // weight: -0.125 + 1157->485; // weight: 0.750 + 1158->477; // weight: -0.125 + 1158->485; // weight: 0.375 + 1158->490; // weight: 0.750 + 1164->3; // weight: -0.0469 + 1164->465; // weight: 0.141 + 1164->476; // weight: 0.0156 + 1164->484; // weight: -0.0469 + 1164->477; // weight: -0.0938 + 1164->485; // weight: 0.281 + 1164->468; // weight: 0.281 + 1164->486; // weight: -0.0938 + 1164->490; // weight: 0.562 + 1171->468; // weight: -0.125 + 1171->486; // weight: 0.375 + 1171->490; // weight: 0.750 + 1181->3; // weight: -0.0469 + 1181->465; // weight: 0.0156 + 1181->476; // weight: 0.141 + 1181->484; // weight: -0.0469 + 1181->477; // weight: 0.281 + 1181->485; // weight: -0.0938 + 1181->468; // weight: -0.0938 + 1181->486; // weight: 0.281 + 1181->490; // weight: 0.562 + 1185->465; // weight: -0.125 + 1185->484; // weight: 0.375 + 1185->485; // weight: 0.750 + 1192->3; // weight: 0.0156 + 1192->465; // weight: -0.0469 + 1192->476; // weight: -0.0469 + 1192->484; // weight: 0.141 + 1192->477; // weight: -0.0938 + 1192->485; // weight: 0.281 + 1192->468; // weight: -0.0938 + 1192->486; // weight: 0.281 + 1192->490; // weight: 0.562 + 2277->542; // weight: 1.00 + 2279->516; // weight: 1.00 + 2281->547; // weight: 1.00 + 2291->510; // weight: 0.375 + 2291->511; // weight: -0.125 + 2291->516; // weight: 0.750 + 2293->542; // weight: 0.375 + 2293->544; // weight: -0.125 + 2293->547; // weight: 0.750 + 2283->510; // weight: 0.375 + 2283->540; // weight: -0.125 + 2283->542; // weight: 0.750 + 2287->516; // weight: 0.375 + 2287->546; // weight: -0.125 + 2287->547; // weight: 0.750 + 2295->510; // weight: 0.141 + 2295->540; // weight: -0.0469 + 2295->511; // weight: -0.0469 + 2295->541; // weight: 0.0156 + 2295->516; // weight: 0.281 + 2295->546; // weight: -0.0938 + 2295->542; // weight: 0.281 + 2295->544; // weight: -0.0938 + 2295->547; // weight: 0.562 + 2318->546; // weight: 1.00 + 2326->540; // weight: 0.375 + 2326->541; // weight: -0.125 + 2326->546; // weight: 0.750 + 2320->510; // weight: -0.125 + 2320->540; // weight: 0.375 + 2320->542; // weight: 0.750 + 2323->516; // weight: -0.125 + 2323->546; // weight: 0.375 + 2323->547; // weight: 0.750 + 2328->510; // weight: -0.0469 + 2328->540; // weight: 0.141 + 2328->511; // weight: 0.0156 + 2328->541; // weight: -0.0469 + 2328->516; // weight: -0.0938 + 2328->546; // weight: 0.281 + 2328->542; // weight: 0.281 + 2328->544; // weight: -0.0938 + 2328->547; // weight: 0.562 + 2347->544; // weight: 1.00 + 2353->510; // weight: -0.125 + 2353->511; // weight: 0.375 + 2353->516; // weight: 0.750 + 2355->542; // weight: -0.125 + 2355->544; // weight: 0.375 + 2355->547; // weight: 0.750 + 2349->511; // weight: 0.375 + 2349->541; // weight: -0.125 + 2349->544; // weight: 0.750 + 2357->510; // weight: -0.0469 + 2357->540; // weight: 0.0156 + 2357->511; // weight: 0.141 + 2357->541; // weight: -0.0469 + 2357->516; // weight: 0.281 + 2357->546; // weight: -0.0938 + 2357->542; // weight: -0.0938 + 2357->544; // weight: 0.281 + 2357->547; // weight: 0.562 + 2377->540; // weight: -0.125 + 2377->541; // weight: 0.375 + 2377->546; // weight: 0.750 + 2374->511; // weight: -0.125 + 2374->541; // weight: 0.375 + 2374->544; // weight: 0.750 + 2379->510; // weight: 0.0156 + 2379->540; // weight: -0.0469 + 2379->511; // weight: -0.0469 + 2379->541; // weight: 0.141 + 2379->516; // weight: -0.0938 + 2379->546; // weight: 0.281 + 2379->542; // weight: -0.0938 + 2379->544; // weight: 0.281 + 2379->547; // weight: 0.562 + 171->390; // weight: 0.375 + 171->558; // weight: -0.125 + 171->559; // weight: 0.750 + 172->559; // weight: 1.00 + 173->390; // weight: -0.125 + 173->558; // weight: 0.375 + 173->559; // weight: 0.750 + 174->142; // weight: 0.375 + 174->390; // weight: -0.125 + 174->392; // weight: 0.750 + 175->392; // weight: 1.00 + 176->142; // weight: -0.125 + 176->390; // weight: 0.375 + 176->392; // weight: 0.750 + 177->144; // weight: 0.375 + 177->558; // weight: -0.125 + 177->560; // weight: 0.750 + 235->142; // weight: 0.141 + 235->390; // weight: -0.0469 + 235->144; // weight: -0.0469 + 235->558; // weight: 0.0156 + 235->150; // weight: 0.281 + 235->559; // weight: -0.0938 + 235->392; // weight: 0.281 + 235->560; // weight: -0.0938 + 235->564; // weight: 0.562 + 236->392; // weight: 0.375 + 236->560; // weight: -0.125 + 236->564; // weight: 0.750 + 237->142; // weight: -0.0469 + 237->390; // weight: 0.141 + 237->144; // weight: 0.0156 + 237->558; // weight: -0.0469 + 237->150; // weight: -0.0938 + 237->559; // weight: 0.281 + 237->392; // weight: 0.281 + 237->560; // weight: -0.0938 + 237->564; // weight: 0.562 + 238->150; // weight: 0.375 + 238->559; // weight: -0.125 + 238->564; // weight: 0.750 + 239->150; // weight: -0.125 + 239->559; // weight: 0.375 + 239->564; // weight: 0.750 + 240->142; // weight: -0.0469 + 240->390; // weight: 0.0156 + 240->144; // weight: 0.141 + 240->558; // weight: -0.0469 + 240->150; // weight: 0.281 + 240->559; // weight: -0.0938 + 240->392; // weight: -0.0938 + 240->560; // weight: 0.281 + 240->564; // weight: 0.562 + 241->392; // weight: -0.125 + 241->560; // weight: 0.375 + 241->564; // weight: 0.750 + 242->142; // weight: 0.0156 + 242->390; // weight: -0.0469 + 242->144; // weight: -0.0469 + 242->558; // weight: 0.141 + 242->150; // weight: -0.0938 + 242->559; // weight: 0.281 + 242->392; // weight: -0.0938 + 242->560; // weight: 0.281 + 242->564; // weight: 0.562 + 1590->568; // weight: 1.00 + 1591->576; // weight: 1.00 + 1596->143; // weight: 0.375 + 1596->566; // weight: -0.125 + 1596->568; // weight: 0.750 + 1597->152; // weight: 0.375 + 1597->570; // weight: -0.125 + 1597->576; // weight: 0.750 + 1599->568; // weight: 0.375 + 1599->569; // weight: -0.125 + 1599->576; // weight: 0.750 + 1612->143; // weight: 0.141 + 1612->144; // weight: -0.0469 + 1612->566; // weight: -0.0469 + 1612->567; // weight: 0.0156 + 1612->568; // weight: 0.281 + 1612->569; // weight: -0.0938 + 1612->152; // weight: 0.281 + 1612->570; // weight: -0.0938 + 1612->576; // weight: 0.562 + 1615->569; // weight: 1.00 + 1618->144; // weight: 0.375 + 1618->567; // weight: -0.125 + 1618->569; // weight: 0.750 + 1620->568; // weight: -0.125 + 1620->569; // weight: 0.375 + 1620->576; // weight: 0.750 + 1629->143; // weight: -0.0469 + 1629->144; // weight: 0.141 + 1629->566; // weight: 0.0156 + 1629->567; // weight: -0.0469 + 1629->568; // weight: -0.0938 + 1629->569; // weight: 0.281 + 1629->152; // weight: 0.281 + 1629->570; // weight: -0.0938 + 1629->576; // weight: 0.562 + 1632->570; // weight: 1.00 + 1635->143; // weight: -0.125 + 1635->566; // weight: 0.375 + 1635->568; // weight: 0.750 + 1636->152; // weight: -0.125 + 1636->570; // weight: 0.375 + 1636->576; // weight: 0.750 + 1637->566; // weight: 0.375 + 1637->567; // weight: -0.125 + 1637->570; // weight: 0.750 + 1646->143; // weight: -0.0469 + 1646->144; // weight: 0.0156 + 1646->566; // weight: 0.141 + 1646->567; // weight: -0.0469 + 1646->568; // weight: 0.281 + 1646->569; // weight: -0.0938 + 1646->152; // weight: -0.0938 + 1646->570; // weight: 0.281 + 1646->576; // weight: 0.562 + 1650->144; // weight: -0.125 + 1650->567; // weight: 0.375 + 1650->569; // weight: 0.750 + 1651->566; // weight: -0.125 + 1651->567; // weight: 0.375 + 1651->570; // weight: 0.750 + 1657->143; // weight: 0.0156 + 1657->144; // weight: -0.0469 + 1657->566; // weight: -0.0469 + 1657->567; // weight: 0.141 + 1657->568; // weight: -0.0938 + 1657->569; // weight: 0.281 + 1657->152; // weight: -0.0938 + 1657->570; // weight: 0.281 + 1657->576; // weight: 0.562 + 2566->561; // weight: 1.00 + 2568->582; // weight: 1.00 + 2574->511; // weight: 0.375 + 2574->558; // weight: -0.125 + 2574->561; // weight: 0.750 + 2576->544; // weight: 0.375 + 2576->579; // weight: -0.125 + 2576->582; // weight: 0.750 + 2570->561; // weight: 0.375 + 2570->581; // weight: -0.125 + 2570->582; // weight: 0.750 + 2578->511; // weight: 0.141 + 2578->541; // weight: -0.0469 + 2578->558; // weight: -0.0469 + 2578->578; // weight: 0.0156 + 2578->561; // weight: 0.281 + 2578->581; // weight: -0.0938 + 2578->544; // weight: 0.281 + 2578->579; // weight: -0.0938 + 2578->582; // weight: 0.562 + 2594->581; // weight: 1.00 + 2599->541; // weight: 0.375 + 2599->578; // weight: -0.125 + 2599->581; // weight: 0.750 + 2596->561; // weight: -0.125 + 2596->581; // weight: 0.375 + 2596->582; // weight: 0.750 + 2601->511; // weight: -0.0469 + 2601->541; // weight: 0.141 + 2601->558; // weight: 0.0156 + 2601->578; // weight: -0.0469 + 2601->561; // weight: -0.0938 + 2601->581; // weight: 0.281 + 2601->544; // weight: 0.281 + 2601->579; // weight: -0.0938 + 2601->582; // weight: 0.562 + 1726->579; // weight: 1.00 + 2619->511; // weight: -0.125 + 2619->558; // weight: 0.375 + 2619->561; // weight: 0.750 + 2621->544; // weight: -0.125 + 2621->579; // weight: 0.375 + 2621->582; // weight: 0.750 + 1729->558; // weight: 0.375 + 1729->578; // weight: -0.125 + 1729->579; // weight: 0.750 + 2623->511; // weight: -0.0469 + 2623->541; // weight: 0.0156 + 2623->558; // weight: 0.141 + 2623->578; // weight: -0.0469 + 2623->561; // weight: 0.281 + 2623->581; // weight: -0.0938 + 2623->544; // weight: -0.0938 + 2623->579; // weight: 0.281 + 2623->582; // weight: 0.562 + 2642->541; // weight: -0.125 + 2642->578; // weight: 0.375 + 2642->581; // weight: 0.750 + 1756->558; // weight: -0.125 + 1756->578; // weight: 0.375 + 1756->579; // weight: 0.750 + 2644->511; // weight: 0.0156 + 2644->541; // weight: -0.0469 + 2644->558; // weight: -0.0469 + 2644->578; // weight: 0.141 + 2644->561; // weight: -0.0938 + 2644->581; // weight: 0.281 + 2644->544; // weight: -0.0938 + 2644->579; // weight: 0.281 + 2644->582; // weight: 0.562 + 1709->584; // weight: 1.00 + 1712->560; // weight: 0.375 + 1712->580; // weight: -0.125 + 1712->584; // weight: 0.750 + 1714->569; // weight: 0.375 + 1714->579; // weight: -0.125 + 1714->584; // weight: 0.750 + 1723->144; // weight: 0.141 + 1723->558; // weight: -0.0469 + 1723->567; // weight: -0.0469 + 1723->578; // weight: 0.0156 + 1723->569; // weight: 0.281 + 1723->579; // weight: -0.0938 + 1723->560; // weight: 0.281 + 1723->580; // weight: -0.0938 + 1723->584; // weight: 0.562 + 1731->569; // weight: -0.125 + 1731->579; // weight: 0.375 + 1731->584; // weight: 0.750 + 1740->144; // weight: -0.0469 + 1740->558; // weight: 0.141 + 1740->567; // weight: 0.0156 + 1740->578; // weight: -0.0469 + 1740->569; // weight: -0.0938 + 1740->579; // weight: 0.281 + 1740->560; // weight: 0.281 + 1740->580; // weight: -0.0938 + 1740->584; // weight: 0.562 + 1743->580; // weight: 1.00 + 1745->560; // weight: -0.125 + 1745->580; // weight: 0.375 + 1745->584; // weight: 0.750 + 1746->567; // weight: 0.375 + 1746->578; // weight: -0.125 + 1746->580; // weight: 0.750 + 1752->144; // weight: -0.0469 + 1752->558; // weight: 0.0156 + 1752->567; // weight: 0.141 + 1752->578; // weight: -0.0469 + 1752->569; // weight: 0.281 + 1752->579; // weight: -0.0938 + 1752->560; // weight: -0.0938 + 1752->580; // weight: 0.281 + 1752->584; // weight: 0.562 + 1757->567; // weight: -0.125 + 1757->578; // weight: 0.375 + 1757->580; // weight: 0.750 + 1763->144; // weight: 0.0156 + 1763->558; // weight: -0.0469 + 1763->567; // weight: -0.0469 + 1763->578; // weight: 0.141 + 1763->569; // weight: -0.0938 + 1763->579; // weight: 0.281 + 1763->560; // weight: -0.0938 + 1763->580; // weight: 0.281 + 1763->584; // weight: 0.562 + 2158->588; // weight: 1.00 + 2162->593; // weight: 1.00 + 2174->588; // weight: 0.375 + 2174->590; // weight: -0.125 + 2174->593; // weight: 0.750 + 2164->434; // weight: 0.375 + 2164->586; // weight: -0.125 + 2164->588; // weight: 0.750 + 2168->440; // weight: 0.375 + 2168->592; // weight: -0.125 + 2168->593; // weight: 0.750 + 2176->434; // weight: 0.141 + 2176->586; // weight: -0.0469 + 2176->435; // weight: -0.0469 + 2176->587; // weight: 0.0156 + 2176->440; // weight: 0.281 + 2176->592; // weight: -0.0938 + 2176->588; // weight: 0.281 + 2176->590; // weight: -0.0938 + 2176->593; // weight: 0.562 + 2201->592; // weight: 1.00 + 2209->586; // weight: 0.375 + 2209->587; // weight: -0.125 + 2209->592; // weight: 0.750 + 2203->434; // weight: -0.125 + 2203->586; // weight: 0.375 + 2203->588; // weight: 0.750 + 2206->440; // weight: -0.125 + 2206->592; // weight: 0.375 + 2206->593; // weight: 0.750 + 2211->434; // weight: -0.0469 + 2211->586; // weight: 0.141 + 2211->435; // weight: 0.0156 + 2211->587; // weight: -0.0469 + 2211->440; // weight: -0.0938 + 2211->592; // weight: 0.281 + 2211->588; // weight: 0.281 + 2211->590; // weight: -0.0938 + 2211->593; // weight: 0.562 + 2230->590; // weight: 1.00 + 2238->588; // weight: -0.125 + 2238->590; // weight: 0.375 + 2238->593; // weight: 0.750 + 2232->435; // weight: 0.375 + 2232->587; // weight: -0.125 + 2232->590; // weight: 0.750 + 2240->434; // weight: -0.0469 + 2240->586; // weight: 0.0156 + 2240->435; // weight: 0.141 + 2240->587; // weight: -0.0469 + 2240->440; // weight: 0.281 + 2240->592; // weight: -0.0938 + 2240->588; // weight: -0.0938 + 2240->590; // weight: 0.281 + 2240->593; // weight: 0.562 + 2261->586; // weight: -0.125 + 2261->587; // weight: 0.375 + 2261->592; // weight: 0.750 + 2258->435; // weight: -0.125 + 2258->587; // weight: 0.375 + 2258->590; // weight: 0.750 + 2263->434; // weight: 0.0156 + 2263->586; // weight: -0.0469 + 2263->435; // weight: -0.0469 + 2263->587; // weight: 0.141 + 2263->440; // weight: -0.0938 + 2263->592; // weight: 0.281 + 2263->588; // weight: -0.0938 + 2263->590; // weight: 0.281 + 2263->593; // weight: 0.562 + 2276->589; // weight: 1.00 + 2280->594; // weight: 1.00 + 2285->510; // weight: 0.375 + 2285->586; // weight: -0.125 + 2285->589; // weight: 0.750 + 2289->516; // weight: 0.375 + 2289->592; // weight: -0.125 + 2289->594; // weight: 0.750 + 2292->589; // weight: 0.375 + 2292->591; // weight: -0.125 + 2292->594; // weight: 0.750 + 2297->510; // weight: 0.141 + 2297->511; // weight: -0.0469 + 2297->586; // weight: -0.0469 + 2297->587; // weight: 0.0156 + 2297->589; // weight: 0.281 + 2297->591; // weight: -0.0938 + 2297->516; // weight: 0.281 + 2297->592; // weight: -0.0938 + 2297->594; // weight: 0.562 + 2346->591; // weight: 1.00 + 2351->511; // weight: 0.375 + 2351->587; // weight: -0.125 + 2351->591; // weight: 0.750 + 2354->589; // weight: -0.125 + 2354->591; // weight: 0.375 + 2354->594; // weight: 0.750 + 2359->510; // weight: -0.0469 + 2359->511; // weight: 0.141 + 2359->586; // weight: 0.0156 + 2359->587; // weight: -0.0469 + 2359->589; // weight: -0.0938 + 2359->591; // weight: 0.281 + 2359->516; // weight: 0.281 + 2359->592; // weight: -0.0938 + 2359->594; // weight: 0.562 + 2305->510; // weight: -0.125 + 2305->586; // weight: 0.375 + 2305->589; // weight: 0.750 + 2308->516; // weight: -0.125 + 2308->592; // weight: 0.375 + 2308->594; // weight: 0.750 + 2312->510; // weight: -0.0469 + 2312->511; // weight: 0.0156 + 2312->586; // weight: 0.141 + 2312->587; // weight: -0.0469 + 2312->589; // weight: 0.281 + 2312->591; // weight: -0.0938 + 2312->516; // weight: -0.0938 + 2312->592; // weight: 0.281 + 2312->594; // weight: 0.562 + 2365->511; // weight: -0.125 + 2365->587; // weight: 0.375 + 2365->591; // weight: 0.750 + 2369->510; // weight: 0.0156 + 2369->511; // weight: -0.0469 + 2369->586; // weight: -0.0469 + 2369->587; // weight: 0.141 + 2369->589; // weight: -0.0938 + 2369->591; // weight: 0.281 + 2369->516; // weight: -0.0938 + 2369->592; // weight: 0.281 + 2369->594; // weight: 0.562 + 2474->602; // weight: 1.00 + 2482->590; // weight: 0.375 + 2482->599; // weight: -0.125 + 2482->602; // weight: 0.750 + 2476->479; // weight: 0.375 + 2476->601; // weight: -0.125 + 2476->602; // weight: 0.750 + 2484->435; // weight: 0.141 + 2484->587; // weight: -0.0469 + 2484->476; // weight: -0.0469 + 2484->598; // weight: 0.0156 + 2484->479; // weight: 0.281 + 2484->601; // weight: -0.0938 + 2484->590; // weight: 0.281 + 2484->599; // weight: -0.0938 + 2484->602; // weight: 0.562 + 2502->601; // weight: 1.00 + 2507->587; // weight: 0.375 + 2507->598; // weight: -0.125 + 2507->601; // weight: 0.750 + 2504->479; // weight: -0.125 + 2504->601; // weight: 0.375 + 2504->602; // weight: 0.750 + 2509->435; // weight: -0.0469 + 2509->587; // weight: 0.141 + 2509->476; // weight: 0.0156 + 2509->598; // weight: -0.0469 + 2509->479; // weight: -0.0938 + 2509->601; // weight: 0.281 + 2509->590; // weight: 0.281 + 2509->599; // weight: -0.0938 + 2509->602; // weight: 0.562 + 2522->599; // weight: 1.00 + 2529->590; // weight: -0.125 + 2529->599; // weight: 0.375 + 2529->602; // weight: 0.750 + 2524->476; // weight: 0.375 + 2524->598; // weight: -0.125 + 2524->599; // weight: 0.750 + 2531->435; // weight: -0.0469 + 2531->587; // weight: 0.0156 + 2531->476; // weight: 0.141 + 2531->598; // weight: -0.0469 + 2531->479; // weight: 0.281 + 2531->601; // weight: -0.0938 + 2531->590; // weight: -0.0938 + 2531->599; // weight: 0.281 + 2531->602; // weight: 0.562 + 2551->587; // weight: -0.125 + 2551->598; // weight: 0.375 + 2551->601; // weight: 0.750 + 2548->476; // weight: -0.125 + 2548->598; // weight: 0.375 + 2548->599; // weight: 0.750 + 2553->435; // weight: 0.0156 + 2553->587; // weight: -0.0469 + 2553->476; // weight: -0.0469 + 2553->598; // weight: 0.141 + 2553->479; // weight: -0.0938 + 2553->601; // weight: 0.281 + 2553->590; // weight: -0.0938 + 2553->599; // weight: 0.281 + 2553->602; // weight: 0.562 + 2567->603; // weight: 1.00 + 2572->561; // weight: 0.375 + 2572->601; // weight: -0.125 + 2572->603; // weight: 0.750 + 2575->591; // weight: 0.375 + 2575->600; // weight: -0.125 + 2575->603; // weight: 0.750 + 2580->511; // weight: 0.141 + 2580->558; // weight: -0.0469 + 2580->587; // weight: -0.0469 + 2580->598; // weight: 0.0156 + 2580->591; // weight: 0.281 + 2580->600; // weight: -0.0938 + 2580->561; // weight: 0.281 + 2580->601; // weight: -0.0938 + 2580->603; // weight: 0.562 + 2614->600; // weight: 1.00 + 2617->558; // weight: 0.375 + 2617->598; // weight: -0.125 + 2617->600; // weight: 0.750 + 2620->591; // weight: -0.125 + 2620->600; // weight: 0.375 + 2620->603; // weight: 0.750 + 2625->511; // weight: -0.0469 + 2625->558; // weight: 0.141 + 2625->587; // weight: 0.0156 + 2625->598; // weight: -0.0469 + 2625->591; // weight: -0.0938 + 2625->600; // weight: 0.281 + 2625->561; // weight: 0.281 + 2625->601; // weight: -0.0938 + 2625->603; // weight: 0.562 + 2586->561; // weight: -0.125 + 2586->601; // weight: 0.375 + 2586->603; // weight: 0.750 + 2590->511; // weight: -0.0469 + 2590->558; // weight: 0.0156 + 2590->587; // weight: 0.141 + 2590->598; // weight: -0.0469 + 2590->591; // weight: 0.281 + 2590->600; // weight: -0.0938 + 2590->561; // weight: -0.0938 + 2590->601; // weight: 0.281 + 2590->603; // weight: 0.562 + 2631->558; // weight: -0.125 + 2631->598; // weight: 0.375 + 2631->600; // weight: 0.750 + 2635->511; // weight: 0.0156 + 2635->558; // weight: -0.0469 + 2635->587; // weight: -0.0469 + 2635->598; // weight: 0.141 + 2635->591; // weight: -0.0938 + 2635->600; // weight: 0.281 + 2635->561; // weight: -0.0938 + 2635->601; // weight: 0.281 + 2635->603; // weight: 0.562 + 695->390; // weight: 0.222 + 695->558; // weight: -0.111 + 695->559; // weight: 0.889 + 696->390; // weight: -0.111 + 696->558; // weight: 0.222 + 696->559; // weight: 0.889 + 697->476; // weight: 0.222 + 697->598; // weight: -0.111 + 697->599; // weight: 0.889 + 698->476; // weight: -0.111 + 698->598; // weight: 0.222 + 698->599; // weight: 0.889 + 699->390; // weight: 0.222 + 699->476; // weight: -0.111 + 699->478; // weight: 0.889 + 700->390; // weight: -0.111 + 700->476; // weight: 0.222 + 700->478; // weight: 0.889 + 701->558; // weight: 0.222 + 701->598; // weight: -0.111 + 701->600; // weight: 0.889 + 702->558; // weight: -0.111 + 702->598; // weight: 0.222 + 702->600; // weight: 0.889 + 735->390; // weight: 0.0494 + 735->476; // weight: -0.0247 + 735->558; // weight: -0.0247 + 735->598; // weight: 0.0123 + 735->559; // weight: 0.198 + 735->599; // weight: -0.0988 + 735->478; // weight: 0.198 + 735->600; // weight: -0.0988 + 735->604; // weight: 0.790 + 736->390; // weight: -0.0247 + 736->476; // weight: 0.0494 + 736->558; // weight: 0.0123 + 736->598; // weight: -0.0247 + 736->559; // weight: -0.0988 + 736->599; // weight: 0.198 + 736->478; // weight: 0.198 + 736->600; // weight: -0.0988 + 736->604; // weight: 0.790 + 737->390; // weight: -0.0247 + 737->476; // weight: 0.0123 + 737->558; // weight: 0.0494 + 737->598; // weight: -0.0247 + 737->559; // weight: 0.198 + 737->599; // weight: -0.0988 + 737->478; // weight: -0.0988 + 737->600; // weight: 0.198 + 737->604; // weight: 0.790 + 738->390; // weight: 0.0123 + 738->476; // weight: -0.0247 + 738->558; // weight: -0.0247 + 738->598; // weight: 0.0494 + 738->559; // weight: -0.0988 + 738->599; // weight: 0.198 + 738->478; // weight: -0.0988 + 738->600; // weight: 0.198 + 738->604; // weight: 0.790 + 57->390; // weight: 0.375 + 57->636; // weight: -0.125 + 57->639; // weight: 0.750 + 58->639; // weight: 1.00 + 59->390; // weight: -0.125 + 59->636; // weight: 0.375 + 59->639; // weight: 0.750 + 39->6; // weight: 0.375 + 39->636; // weight: -0.125 + 39->637; // weight: 0.750 + 63->2; // weight: 0.141 + 63->390; // weight: -0.0469 + 63->6; // weight: -0.0469 + 63->636; // weight: 0.0156 + 63->18; // weight: 0.281 + 63->639; // weight: -0.0938 + 63->391; // weight: 0.281 + 63->637; // weight: -0.0938 + 63->640; // weight: 0.562 + 64->391; // weight: 0.375 + 64->637; // weight: -0.125 + 64->640; // weight: 0.750 + 65->2; // weight: -0.0469 + 65->390; // weight: 0.141 + 65->6; // weight: 0.0156 + 65->636; // weight: -0.0469 + 65->18; // weight: -0.0938 + 65->639; // weight: 0.281 + 65->391; // weight: 0.281 + 65->637; // weight: -0.0938 + 65->640; // weight: 0.562 + 66->18; // weight: 0.375 + 66->639; // weight: -0.125 + 66->640; // weight: 0.750 + 67->18; // weight: -0.125 + 67->639; // weight: 0.375 + 67->640; // weight: 0.750 + 68->2; // weight: -0.0469 + 68->390; // weight: 0.0156 + 68->6; // weight: 0.141 + 68->636; // weight: -0.0469 + 68->18; // weight: 0.281 + 68->639; // weight: -0.0938 + 68->391; // weight: -0.0938 + 68->637; // weight: 0.281 + 68->640; // weight: 0.562 + 69->391; // weight: -0.125 + 69->637; // weight: 0.375 + 69->640; // weight: 0.750 + 70->2; // weight: 0.0156 + 70->390; // weight: -0.0469 + 70->6; // weight: -0.0469 + 70->636; // weight: 0.141 + 70->18; // weight: -0.0938 + 70->639; // weight: 0.281 + 70->391; // weight: -0.0938 + 70->637; // weight: 0.281 + 70->640; // weight: 0.562 + 186->146; // weight: 0.375 + 186->636; // weight: -0.125 + 186->638; // weight: 0.750 + 218->142; // weight: 0.141 + 218->146; // weight: -0.0469 + 218->390; // weight: -0.0469 + 218->636; // weight: 0.0156 + 218->392; // weight: 0.281 + 218->638; // weight: -0.0938 + 218->158; // weight: 0.281 + 218->639; // weight: -0.0938 + 218->641; // weight: 0.562 + 219->158; // weight: 0.375 + 219->639; // weight: -0.125 + 219->641; // weight: 0.750 + 220->142; // weight: -0.0469 + 220->146; // weight: 0.141 + 220->390; // weight: 0.0156 + 220->636; // weight: -0.0469 + 220->392; // weight: -0.0938 + 220->638; // weight: 0.281 + 220->158; // weight: 0.281 + 220->639; // weight: -0.0938 + 220->641; // weight: 0.562 + 221->392; // weight: 0.375 + 221->638; // weight: -0.125 + 221->641; // weight: 0.750 + 222->392; // weight: -0.125 + 222->638; // weight: 0.375 + 222->641; // weight: 0.750 + 223->142; // weight: -0.0469 + 223->146; // weight: 0.0156 + 223->390; // weight: 0.141 + 223->636; // weight: -0.0469 + 223->392; // weight: 0.281 + 223->638; // weight: -0.0938 + 223->158; // weight: -0.0938 + 223->639; // weight: 0.281 + 223->641; // weight: 0.562 + 224->158; // weight: -0.125 + 224->639; // weight: 0.375 + 224->641; // weight: 0.750 + 225->142; // weight: 0.0156 + 225->146; // weight: -0.0469 + 225->390; // weight: -0.0469 + 225->636; // weight: 0.141 + 225->392; // weight: -0.0938 + 225->638; // weight: 0.281 + 225->158; // weight: -0.0938 + 225->639; // weight: 0.281 + 225->641; // weight: 0.562 + 1238->667; // weight: 1.00 + 1240->669; // weight: 1.00 + 1250->4; // weight: 0.375 + 1250->662; // weight: -0.125 + 1250->667; // weight: 0.750 + 1252->12; // weight: 0.375 + 1252->664; // weight: -0.125 + 1252->669; // weight: 0.750 + 1246->667; // weight: 0.375 + 1246->668; // weight: -0.125 + 1246->669; // weight: 0.750 + 1254->4; // weight: 0.141 + 1254->6; // weight: -0.0469 + 1254->662; // weight: -0.0469 + 1254->663; // weight: 0.0156 + 1254->667; // weight: 0.281 + 1254->668; // weight: -0.0938 + 1254->12; // weight: 0.281 + 1254->664; // weight: -0.0938 + 1254->669; // weight: 0.562 + 1277->668; // weight: 1.00 + 1285->6; // weight: 0.375 + 1285->663; // weight: -0.125 + 1285->668; // weight: 0.750 + 1282->667; // weight: -0.125 + 1282->668; // weight: 0.375 + 1282->669; // weight: 0.750 + 1287->4; // weight: -0.0469 + 1287->6; // weight: 0.141 + 1287->662; // weight: 0.0156 + 1287->663; // weight: -0.0469 + 1287->667; // weight: -0.0938 + 1287->668; // weight: 0.281 + 1287->12; // weight: 0.281 + 1287->664; // weight: -0.0938 + 1287->669; // weight: 0.562 + 1304->664; // weight: 1.00 + 1310->4; // weight: -0.125 + 1310->662; // weight: 0.375 + 1310->667; // weight: 0.750 + 1312->12; // weight: -0.125 + 1312->664; // weight: 0.375 + 1312->669; // weight: 0.750 + 1306->662; // weight: 0.375 + 1306->663; // weight: -0.125 + 1306->664; // weight: 0.750 + 1314->4; // weight: -0.0469 + 1314->6; // weight: 0.0156 + 1314->662; // weight: 0.141 + 1314->663; // weight: -0.0469 + 1314->667; // weight: 0.281 + 1314->668; // weight: -0.0938 + 1314->12; // weight: -0.0938 + 1314->664; // weight: 0.281 + 1314->669; // weight: 0.562 + 1336->6; // weight: -0.125 + 1336->663; // weight: 0.375 + 1336->668; // weight: 0.750 + 1333->662; // weight: -0.125 + 1333->663; // weight: 0.375 + 1333->664; // weight: 0.750 + 1338->4; // weight: 0.0156 + 1338->6; // weight: -0.0469 + 1338->662; // weight: -0.0469 + 1338->663; // weight: 0.141 + 1338->667; // weight: -0.0938 + 1338->668; // weight: 0.281 + 1338->12; // weight: -0.0938 + 1338->664; // weight: 0.281 + 1338->669; // weight: 0.562 + 1809->679; // weight: 1.00 + 1810->683; // weight: 1.00 + 1819->679; // weight: 0.375 + 1819->680; // weight: -0.125 + 1819->683; // weight: 0.750 + 1821->145; // weight: 0.375 + 1821->674; // weight: -0.125 + 1821->679; // weight: 0.750 + 1822->155; // weight: 0.375 + 1822->678; // weight: -0.125 + 1822->683; // weight: 0.750 + 1827->145; // weight: 0.141 + 1827->674; // weight: -0.0469 + 1827->146; // weight: -0.0469 + 1827->675; // weight: 0.0156 + 1827->155; // weight: 0.281 + 1827->678; // weight: -0.0938 + 1827->679; // weight: 0.281 + 1827->680; // weight: -0.0938 + 1827->683; // weight: 0.562 + 1874->678; // weight: 1.00 + 1879->674; // weight: 0.375 + 1879->675; // weight: -0.125 + 1879->678; // weight: 0.750 + 1881->145; // weight: -0.125 + 1881->674; // weight: 0.375 + 1881->679; // weight: 0.750 + 1882->155; // weight: -0.125 + 1882->678; // weight: 0.375 + 1882->683; // weight: 0.750 + 1887->145; // weight: -0.0469 + 1887->674; // weight: 0.141 + 1887->146; // weight: 0.0156 + 1887->675; // weight: -0.0469 + 1887->155; // weight: -0.0938 + 1887->678; // weight: 0.281 + 1887->679; // weight: 0.281 + 1887->680; // weight: -0.0938 + 1887->683; // weight: 0.562 + 1833->680; // weight: 1.00 + 1839->679; // weight: -0.125 + 1839->680; // weight: 0.375 + 1839->683; // weight: 0.750 + 1841->146; // weight: 0.375 + 1841->675; // weight: -0.125 + 1841->680; // weight: 0.750 + 1844->145; // weight: -0.0469 + 1844->674; // weight: 0.0156 + 1844->146; // weight: 0.141 + 1844->675; // weight: -0.0469 + 1844->155; // weight: 0.281 + 1844->678; // weight: -0.0938 + 1844->679; // weight: -0.0938 + 1844->680; // weight: 0.281 + 1844->683; // weight: 0.562 + 1893->674; // weight: -0.125 + 1893->675; // weight: 0.375 + 1893->678; // weight: 0.750 + 1895->146; // weight: -0.125 + 1895->675; // weight: 0.375 + 1895->680; // weight: 0.750 + 1898->145; // weight: 0.0156 + 1898->674; // weight: -0.0469 + 1898->146; // weight: -0.0469 + 1898->675; // weight: 0.141 + 1898->155; // weight: -0.0938 + 1898->678; // weight: 0.281 + 1898->679; // weight: -0.0938 + 1898->680; // weight: 0.281 + 1898->683; // weight: 0.562 + 1433->690; // weight: 1.00 + 1441->637; // weight: 0.375 + 1441->687; // weight: -0.125 + 1441->690; // weight: 0.750 + 1438->668; // weight: 0.375 + 1438->689; // weight: -0.125 + 1438->690; // weight: 0.750 + 1443->6; // weight: 0.141 + 1443->636; // weight: -0.0469 + 1443->663; // weight: -0.0469 + 1443->686; // weight: 0.0156 + 1443->668; // weight: 0.281 + 1443->689; // weight: -0.0938 + 1443->637; // weight: 0.281 + 1443->687; // weight: -0.0938 + 1443->690; // weight: 0.562 + 1460->689; // weight: 1.00 + 1468->636; // weight: 0.375 + 1468->686; // weight: -0.125 + 1468->689; // weight: 0.750 + 1465->668; // weight: -0.125 + 1465->689; // weight: 0.375 + 1465->690; // weight: 0.750 + 1470->6; // weight: -0.0469 + 1470->636; // weight: 0.141 + 1470->663; // weight: 0.0156 + 1470->686; // weight: -0.0469 + 1470->668; // weight: -0.0938 + 1470->689; // weight: 0.281 + 1470->637; // weight: 0.281 + 1470->687; // weight: -0.0938 + 1470->690; // weight: 0.562 + 1486->687; // weight: 1.00 + 1491->637; // weight: -0.125 + 1491->687; // weight: 0.375 + 1491->690; // weight: 0.750 + 1488->663; // weight: 0.375 + 1488->686; // weight: -0.125 + 1488->687; // weight: 0.750 + 1493->6; // weight: -0.0469 + 1493->636; // weight: 0.0156 + 1493->663; // weight: 0.141 + 1493->686; // weight: -0.0469 + 1493->668; // weight: 0.281 + 1493->689; // weight: -0.0938 + 1493->637; // weight: -0.0938 + 1493->687; // weight: 0.281 + 1493->690; // weight: 0.562 + 1510->636; // weight: -0.125 + 1510->686; // weight: 0.375 + 1510->689; // weight: 0.750 + 1507->663; // weight: -0.125 + 1507->686; // weight: 0.375 + 1507->687; // weight: 0.750 + 1512->6; // weight: 0.0156 + 1512->636; // weight: -0.0469 + 1512->663; // weight: -0.0469 + 1512->686; // weight: 0.141 + 1512->668; // weight: -0.0938 + 1512->689; // weight: 0.281 + 1512->637; // weight: -0.0938 + 1512->687; // weight: 0.281 + 1512->690; // weight: 0.562 + 1924->691; // weight: 1.00 + 1930->680; // weight: 0.375 + 1930->689; // weight: -0.125 + 1930->691; // weight: 0.750 + 1932->638; // weight: 0.375 + 1932->688; // weight: -0.125 + 1932->691; // weight: 0.750 + 1935->146; // weight: 0.141 + 1935->675; // weight: -0.0469 + 1935->636; // weight: -0.0469 + 1935->686; // weight: 0.0156 + 1935->638; // weight: 0.281 + 1935->688; // weight: -0.0938 + 1935->680; // weight: 0.281 + 1935->689; // weight: -0.0938 + 1935->691; // weight: 0.562 + 1975->688; // weight: 1.00 + 1978->675; // weight: 0.375 + 1978->686; // weight: -0.125 + 1978->688; // weight: 0.750 + 1980->638; // weight: -0.125 + 1980->688; // weight: 0.375 + 1980->691; // weight: 0.750 + 1983->146; // weight: -0.0469 + 1983->675; // weight: 0.141 + 1983->636; // weight: 0.0156 + 1983->686; // weight: -0.0469 + 1983->638; // weight: -0.0938 + 1983->688; // weight: 0.281 + 1983->680; // weight: 0.281 + 1983->689; // weight: -0.0938 + 1983->691; // weight: 0.562 + 1946->680; // weight: -0.125 + 1946->689; // weight: 0.375 + 1946->691; // weight: 0.750 + 1950->146; // weight: -0.0469 + 1950->675; // weight: 0.0156 + 1950->636; // weight: 0.141 + 1950->686; // weight: -0.0469 + 1950->638; // weight: 0.281 + 1950->688; // weight: -0.0938 + 1950->680; // weight: -0.0938 + 1950->689; // weight: 0.281 + 1950->691; // weight: 0.562 + 1989->675; // weight: -0.125 + 1989->686; // weight: 0.375 + 1989->688; // weight: 0.750 + 1993->146; // weight: 0.0156 + 1993->675; // weight: -0.0469 + 1993->636; // weight: -0.0469 + 1993->686; // weight: 0.141 + 1993->638; // weight: -0.0938 + 1993->688; // weight: 0.281 + 1993->680; // weight: -0.0938 + 1993->689; // weight: 0.281 + 1993->691; // weight: 0.562 + 198->558; // weight: 0.117 + 198->1778; // weight: 0.0391 + 198->715; // weight: 1.05 + 198->716; // weight: -0.211 + 183->636; // weight: 0.117 + 183->1778; // weight: 0.0391 + 183->703; // weight: 1.05 + 183->704; // weight: -0.211 + 209->390; // weight: 0.0137 + 209->558; // weight: 0.00458 + 209->636; // weight: 0.00458 + 209->1778; // weight: 0.00153 + 209->711; // weight: 0.124 + 209->712; // weight: -0.0247 + 209->715; // weight: 0.0412 + 209->716; // weight: 0.00824 + 209->695; // weight: 0.124 + 209->696; // weight: -0.0247 + 209->703; // weight: 0.0412 + 209->704; // weight: 0.00824 + 209->719; // weight: 1.11 + 209->720; // weight: -0.222 + 209->721; // weight: -0.222 + 209->722; // weight: 0.0445 + 210->390; // weight: 0.00732 + 210->558; // weight: 0.00732 + 210->636; // weight: 0.00244 + 210->1778; // weight: 0.00244 + 210->711; // weight: -0.0659 + 210->712; // weight: 0.0132 + 210->715; // weight: -0.0659 + 210->716; // weight: 0.0132 + 210->695; // weight: 0.0659 + 210->696; // weight: 0.0659 + 210->703; // weight: 0.0220 + 210->704; // weight: 0.0220 + 210->719; // weight: 0.593 + 210->720; // weight: 0.593 + 210->721; // weight: -0.119 + 210->722; // weight: -0.119 + 211->390; // weight: 0.00458 + 211->558; // weight: 0.0137 + 211->636; // weight: 0.00153 + 211->1778; // weight: 0.00458 + 211->711; // weight: 0.0412 + 211->712; // weight: 0.00824 + 211->715; // weight: 0.124 + 211->716; // weight: -0.0247 + 211->695; // weight: -0.0247 + 211->696; // weight: 0.124 + 211->703; // weight: 0.00824 + 211->704; // weight: 0.0412 + 211->719; // weight: -0.222 + 211->720; // weight: 1.11 + 211->721; // weight: 0.0445 + 211->722; // weight: -0.222 + 212->390; // weight: 0.00732 + 212->558; // weight: 0.00244 + 212->636; // weight: 0.00732 + 212->1778; // weight: 0.00244 + 212->711; // weight: 0.0659 + 212->712; // weight: 0.0659 + 212->715; // weight: 0.0220 + 212->716; // weight: 0.0220 + 212->695; // weight: -0.0659 + 212->696; // weight: 0.0132 + 212->703; // weight: -0.0659 + 212->704; // weight: 0.0132 + 212->719; // weight: 0.593 + 212->720; // weight: -0.119 + 212->721; // weight: 0.593 + 212->722; // weight: -0.119 + 213->390; // weight: 0.00391 + 213->558; // weight: 0.00391 + 213->636; // weight: 0.00391 + 213->1778; // weight: 0.00391 + 213->711; // weight: -0.0352 + 213->712; // weight: -0.0352 + 213->715; // weight: -0.0352 + 213->716; // weight: -0.0352 + 213->695; // weight: -0.0352 + 213->696; // weight: -0.0352 + 213->703; // weight: -0.0352 + 213->704; // weight: -0.0352 + 213->719; // weight: 0.316 + 213->720; // weight: 0.316 + 213->721; // weight: 0.316 + 213->722; // weight: 0.316 + 214->390; // weight: 0.00244 + 214->558; // weight: 0.00732 + 214->636; // weight: 0.00244 + 214->1778; // weight: 0.00732 + 214->711; // weight: 0.0220 + 214->712; // weight: 0.0220 + 214->715; // weight: 0.0659 + 214->716; // weight: 0.0659 + 214->695; // weight: 0.0132 + 214->696; // weight: -0.0659 + 214->703; // weight: 0.0132 + 214->704; // weight: -0.0659 + 214->719; // weight: -0.119 + 214->720; // weight: 0.593 + 214->721; // weight: -0.119 + 214->722; // weight: 0.593 + 215->390; // weight: 0.00458 + 215->558; // weight: 0.00153 + 215->636; // weight: 0.0137 + 215->1778; // weight: 0.00458 + 215->711; // weight: -0.0247 + 215->712; // weight: 0.124 + 215->715; // weight: 0.00824 + 215->716; // weight: 0.0412 + 215->695; // weight: 0.0412 + 215->696; // weight: 0.00824 + 215->703; // weight: 0.124 + 215->704; // weight: -0.0247 + 215->719; // weight: -0.222 + 215->720; // weight: 0.0445 + 215->721; // weight: 1.11 + 215->722; // weight: -0.222 + 216->390; // weight: 0.00244 + 216->558; // weight: 0.00244 + 216->636; // weight: 0.00732 + 216->1778; // weight: 0.00732 + 216->711; // weight: 0.0132 + 216->712; // weight: -0.0659 + 216->715; // weight: 0.0132 + 216->716; // weight: -0.0659 + 216->695; // weight: 0.0220 + 216->696; // weight: 0.0220 + 216->703; // weight: 0.0659 + 216->704; // weight: 0.0659 + 216->719; // weight: -0.119 + 216->720; // weight: -0.119 + 216->721; // weight: 0.593 + 216->722; // weight: 0.593 + 217->390; // weight: 0.00153 + 217->558; // weight: 0.00458 + 217->636; // weight: 0.00458 + 217->1778; // weight: 0.0137 + 217->711; // weight: 0.00824 + 217->712; // weight: 0.0412 + 217->715; // weight: -0.0247 + 217->716; // weight: 0.124 + 217->695; // weight: 0.00824 + 217->696; // weight: 0.0412 + 217->703; // weight: -0.0247 + 217->704; // weight: 0.124 + 217->719; // weight: 0.0445 + 217->720; // weight: -0.222 + 217->721; // weight: -0.222 + 217->722; // weight: 1.11 + 48->636; // weight: 0.117 + 48->1215; // weight: 0.0391 + 48->707; // weight: 1.05 + 48->708; // weight: -0.211 + 60->476; // weight: 0.117 + 60->1215; // weight: 0.0391 + 60->713; // weight: 1.05 + 60->714; // weight: -0.211 + 88->390; // weight: 0.0137 + 88->636; // weight: 0.00458 + 88->476; // weight: 0.00458 + 88->1215; // weight: 0.00153 + 88->699; // weight: 0.124 + 88->700; // weight: -0.0247 + 88->707; // weight: 0.0412 + 88->708; // weight: 0.00824 + 88->711; // weight: 0.124 + 88->712; // weight: -0.0247 + 88->713; // weight: 0.0412 + 88->714; // weight: 0.00824 + 88->727; // weight: 1.11 + 88->728; // weight: -0.222 + 88->729; // weight: -0.222 + 88->730; // weight: 0.0445 + 89->390; // weight: 0.00732 + 89->636; // weight: 0.00732 + 89->476; // weight: 0.00244 + 89->1215; // weight: 0.00244 + 89->699; // weight: -0.0659 + 89->700; // weight: 0.0132 + 89->707; // weight: -0.0659 + 89->708; // weight: 0.0132 + 89->711; // weight: 0.0659 + 89->712; // weight: 0.0659 + 89->713; // weight: 0.0220 + 89->714; // weight: 0.0220 + 89->727; // weight: 0.593 + 89->728; // weight: 0.593 + 89->729; // weight: -0.119 + 89->730; // weight: -0.119 + 90->390; // weight: 0.00458 + 90->636; // weight: 0.0137 + 90->476; // weight: 0.00153 + 90->1215; // weight: 0.00458 + 90->699; // weight: 0.0412 + 90->700; // weight: 0.00824 + 90->707; // weight: 0.124 + 90->708; // weight: -0.0247 + 90->711; // weight: -0.0247 + 90->712; // weight: 0.124 + 90->713; // weight: 0.00824 + 90->714; // weight: 0.0412 + 90->727; // weight: -0.222 + 90->728; // weight: 1.11 + 90->729; // weight: 0.0445 + 90->730; // weight: -0.222 + 91->390; // weight: 0.00732 + 91->636; // weight: 0.00244 + 91->476; // weight: 0.00732 + 91->1215; // weight: 0.00244 + 91->699; // weight: 0.0659 + 91->700; // weight: 0.0659 + 91->707; // weight: 0.0220 + 91->708; // weight: 0.0220 + 91->711; // weight: -0.0659 + 91->712; // weight: 0.0132 + 91->713; // weight: -0.0659 + 91->714; // weight: 0.0132 + 91->727; // weight: 0.593 + 91->728; // weight: -0.119 + 91->729; // weight: 0.593 + 91->730; // weight: -0.119 + 92->390; // weight: 0.00391 + 92->636; // weight: 0.00391 + 92->476; // weight: 0.00391 + 92->1215; // weight: 0.00391 + 92->699; // weight: -0.0352 + 92->700; // weight: -0.0352 + 92->707; // weight: -0.0352 + 92->708; // weight: -0.0352 + 92->711; // weight: -0.0352 + 92->712; // weight: -0.0352 + 92->713; // weight: -0.0352 + 92->714; // weight: -0.0352 + 92->727; // weight: 0.316 + 92->728; // weight: 0.316 + 92->729; // weight: 0.316 + 92->730; // weight: 0.316 + 93->390; // weight: 0.00244 + 93->636; // weight: 0.00732 + 93->476; // weight: 0.00244 + 93->1215; // weight: 0.00732 + 93->699; // weight: 0.0220 + 93->700; // weight: 0.0220 + 93->707; // weight: 0.0659 + 93->708; // weight: 0.0659 + 93->711; // weight: 0.0132 + 93->712; // weight: -0.0659 + 93->713; // weight: 0.0132 + 93->714; // weight: -0.0659 + 93->727; // weight: -0.119 + 93->728; // weight: 0.593 + 93->729; // weight: -0.119 + 93->730; // weight: 0.593 + 94->390; // weight: 0.00458 + 94->636; // weight: 0.00153 + 94->476; // weight: 0.0137 + 94->1215; // weight: 0.00458 + 94->699; // weight: -0.0247 + 94->700; // weight: 0.124 + 94->707; // weight: 0.00824 + 94->708; // weight: 0.0412 + 94->711; // weight: 0.0412 + 94->712; // weight: 0.00824 + 94->713; // weight: 0.124 + 94->714; // weight: -0.0247 + 94->727; // weight: -0.222 + 94->728; // weight: 0.0445 + 94->729; // weight: 1.11 + 94->730; // weight: -0.222 + 95->390; // weight: 0.00244 + 95->636; // weight: 0.00244 + 95->476; // weight: 0.00732 + 95->1215; // weight: 0.00732 + 95->699; // weight: 0.0132 + 95->700; // weight: -0.0659 + 95->707; // weight: 0.0132 + 95->708; // weight: -0.0659 + 95->711; // weight: 0.0220 + 95->712; // weight: 0.0220 + 95->713; // weight: 0.0659 + 95->714; // weight: 0.0659 + 95->727; // weight: -0.119 + 95->728; // weight: -0.119 + 95->729; // weight: 0.593 + 95->730; // weight: 0.593 + 96->390; // weight: 0.00153 + 96->636; // weight: 0.00458 + 96->476; // weight: 0.00458 + 96->1215; // weight: 0.0137 + 96->699; // weight: 0.00824 + 96->700; // weight: 0.0412 + 96->707; // weight: -0.0247 + 96->708; // weight: 0.124 + 96->711; // weight: 0.00824 + 96->712; // weight: 0.0412 + 96->713; // weight: -0.0247 + 96->714; // weight: 0.124 + 96->727; // weight: 0.0445 + 96->728; // weight: -0.222 + 96->729; // weight: -0.222 + 96->730; // weight: 1.11 + 755->476; // weight: -0.333 + 755->484; // weight: 0.333 + 755->754; // weight: 1.00 + 761->1215; // weight: -0.333 + 761->1227; // weight: 0.333 + 761->760; // weight: 1.00 + 714->476; // weight: -0.333 + 714->1215; // weight: 0.333 + 714->713; // weight: 1.00 + 765->484; // weight: -0.333 + 765->1227; // weight: 0.333 + 765->764; // weight: 1.00 + 773->754; // weight: -0.333 + 773->760; // weight: 0.333 + 773->772; // weight: 1.00 + 774->713; // weight: -0.333 + 774->764; // weight: 0.333 + 774->772; // weight: 1.00 + 775->476; // weight: 0.111 + 775->1215; // weight: -0.111 + 775->484; // weight: -0.111 + 775->1227; // weight: 0.111 + 775->754; // weight: -0.333 + 775->760; // weight: 0.333 + 775->713; // weight: -0.333 + 775->764; // weight: 0.333 + 775->772; // weight: 1.00 + 1169->476; // weight: 0.0625 + 1169->1215; // weight: -0.0312 + 1169->484; // weight: -0.0312 + 1169->1227; // weight: 0.0156 + 1169->754; // weight: -0.281 + 1169->760; // weight: 0.141 + 1169->713; // weight: -0.281 + 1169->764; // weight: 0.141 + 1169->772; // weight: 1.27 + 1175->476; // weight: -0.0469 + 1175->1215; // weight: 0.0234 + 1175->484; // weight: 0.00781 + 1175->1227; // weight: 0.00391 + 1175->754; // weight: -0.211 + 1175->760; // weight: 0.105 + 1175->713; // weight: 0.211 + 1175->764; // weight: -0.0352 + 1175->772; // weight: 0.949 + 1177->476; // weight: -0.0469 + 1177->1215; // weight: 0.00781 + 1177->484; // weight: 0.0234 + 1177->1227; // weight: 0.00391 + 1177->754; // weight: 0.211 + 1177->760; // weight: -0.0352 + 1177->713; // weight: -0.211 + 1177->764; // weight: 0.105 + 1177->772; // weight: 0.949 + 1180->476; // weight: 0.0352 + 1180->1215; // weight: 0.00586 + 1180->484; // weight: 0.00586 + 1180->1227; // weight: 0.000977 + 1180->754; // weight: 0.158 + 1180->760; // weight: -0.0264 + 1180->713; // weight: 0.158 + 1180->764; // weight: -0.0264 + 1180->772; // weight: 0.712 + 1216->1215; // weight: -0.250 + 1216->1227; // weight: 0.125 + 1216->760; // weight: 1.12 + 1219->1215; // weight: 0.188 + 1219->1227; // weight: -0.0312 + 1219->760; // weight: 0.844 + 1221->476; // weight: 0.0781 + 1221->1215; // weight: -0.117 + 1221->484; // weight: -0.0391 + 1221->1227; // weight: 0.0586 + 1221->754; // weight: -0.352 + 1221->760; // weight: 0.527 + 1221->713; // weight: -0.211 + 1221->764; // weight: 0.105 + 1221->772; // weight: 0.949 + 1224->476; // weight: -0.0586 + 1224->1215; // weight: 0.0879 + 1224->484; // weight: 0.00977 + 1224->1227; // weight: -0.0146 + 1224->754; // weight: -0.264 + 1224->760; // weight: 0.396 + 1224->713; // weight: 0.158 + 1224->764; // weight: -0.0264 + 1224->772; // weight: 0.712 + 1184->484; // weight: -0.250 + 1184->1227; // weight: 0.125 + 1184->764; // weight: 1.12 + 1188->476; // weight: 0.0781 + 1188->1215; // weight: -0.0391 + 1188->484; // weight: -0.117 + 1188->1227; // weight: 0.0586 + 1188->754; // weight: -0.211 + 1188->760; // weight: 0.105 + 1188->713; // weight: -0.352 + 1188->764; // weight: 0.527 + 1188->772; // weight: 0.949 + 1189->484; // weight: 0.188 + 1189->1227; // weight: -0.0312 + 1189->764; // weight: 0.844 + 1191->476; // weight: -0.0586 + 1191->1215; // weight: 0.00977 + 1191->484; // weight: 0.0879 + 1191->1227; // weight: -0.0146 + 1191->754; // weight: 0.158 + 1191->760; // weight: -0.0264 + 1191->713; // weight: -0.264 + 1191->764; // weight: 0.396 + 1191->772; // weight: 0.712 + 1229->1215; // weight: -0.312 + 1229->1227; // weight: 0.469 + 1229->760; // weight: 0.844 + 1230->484; // weight: -0.312 + 1230->1227; // weight: 0.469 + 1230->764; // weight: 0.844 + 1232->476; // weight: 0.0977 + 1232->1215; // weight: -0.146 + 1232->484; // weight: -0.146 + 1232->1227; // weight: 0.220 + 1232->754; // weight: -0.264 + 1232->760; // weight: 0.396 + 1232->713; // weight: -0.264 + 1232->764; // weight: 0.396 + 1232->772; // weight: 0.712 + 753->484; // weight: -0.333 + 753->2558; // weight: 0.333 + 753->752; // weight: 1.00 + 757->598; // weight: -0.333 + 757->2558; // weight: 0.333 + 757->756; // weight: 1.00 + 781->697; // weight: -0.333 + 781->752; // weight: 0.333 + 781->780; // weight: 1.00 + 782->754; // weight: -0.333 + 782->756; // weight: 0.333 + 782->780; // weight: 1.00 + 783->476; // weight: 0.111 + 783->484; // weight: -0.111 + 783->598; // weight: -0.111 + 783->2558; // weight: 0.111 + 783->697; // weight: -0.333 + 783->752; // weight: 0.333 + 783->754; // weight: -0.333 + 783->756; // weight: 0.333 + 783->780; // weight: 1.00 + 2523->476; // weight: 0.0625 + 2523->484; // weight: -0.0312 + 2523->598; // weight: -0.0312 + 2523->2558; // weight: 0.0156 + 2523->697; // weight: -0.281 + 2523->752; // weight: 0.141 + 2523->754; // weight: -0.281 + 2523->756; // weight: 0.141 + 2523->780; // weight: 1.27 + 2525->476; // weight: -0.0469 + 2525->484; // weight: 0.0234 + 2525->598; // weight: 0.00781 + 2525->2558; // weight: 0.00391 + 2525->697; // weight: -0.211 + 2525->752; // weight: 0.105 + 2525->754; // weight: 0.211 + 2525->756; // weight: -0.0352 + 2525->780; // weight: 0.949 + 2526->476; // weight: -0.0469 + 2526->484; // weight: 0.00781 + 2526->598; // weight: 0.0234 + 2526->2558; // weight: 0.00391 + 2526->697; // weight: 0.211 + 2526->752; // weight: -0.0352 + 2526->754; // weight: -0.211 + 2526->756; // weight: 0.105 + 2526->780; // weight: 0.949 + 2535->476; // weight: 0.0352 + 2535->484; // weight: 0.00586 + 2535->598; // weight: 0.00586 + 2535->2558; // weight: 0.000977 + 2535->697; // weight: 0.158 + 2535->752; // weight: -0.0264 + 2535->754; // weight: 0.158 + 2535->756; // weight: -0.0264 + 2535->780; // weight: 0.712 + 2537->484; // weight: -0.250 + 2537->2558; // weight: 0.125 + 2537->752; // weight: 1.12 + 2538->484; // weight: 0.188 + 2538->2558; // weight: -0.0312 + 2538->752; // weight: 0.844 + 2539->476; // weight: 0.0781 + 2539->484; // weight: -0.117 + 2539->598; // weight: -0.0391 + 2539->2558; // weight: 0.0586 + 2539->697; // weight: -0.352 + 2539->752; // weight: 0.527 + 2539->754; // weight: -0.211 + 2539->756; // weight: 0.105 + 2539->780; // weight: 0.949 + 2545->476; // weight: -0.0586 + 2545->484; // weight: 0.0879 + 2545->598; // weight: 0.00977 + 2545->2558; // weight: -0.0146 + 2545->697; // weight: -0.264 + 2545->752; // weight: 0.396 + 2545->754; // weight: 0.158 + 2545->756; // weight: -0.0264 + 2545->780; // weight: 0.712 + 2547->598; // weight: -0.250 + 2547->2558; // weight: 0.125 + 2547->756; // weight: 1.12 + 2549->476; // weight: 0.0781 + 2549->484; // weight: -0.0391 + 2549->598; // weight: -0.117 + 2549->2558; // weight: 0.0586 + 2549->697; // weight: -0.211 + 2549->752; // weight: 0.105 + 2549->754; // weight: -0.352 + 2549->756; // weight: 0.527 + 2549->780; // weight: 0.949 + 2550->598; // weight: 0.188 + 2550->2558; // weight: -0.0312 + 2550->756; // weight: 0.844 + 2556->476; // weight: -0.0586 + 2556->484; // weight: 0.00977 + 2556->598; // weight: 0.0879 + 2556->2558; // weight: -0.0146 + 2556->697; // weight: 0.158 + 2556->752; // weight: -0.0264 + 2556->754; // weight: -0.264 + 2556->756; // weight: 0.396 + 2556->780; // weight: 0.712 + 2559->484; // weight: -0.312 + 2559->2558; // weight: 0.469 + 2559->752; // weight: 0.844 + 2560->598; // weight: -0.312 + 2560->2558; // weight: 0.469 + 2560->756; // weight: 0.844 + 2564->476; // weight: 0.0977 + 2564->484; // weight: -0.146 + 2564->598; // weight: -0.146 + 2564->2558; // weight: 0.220 + 2564->697; // weight: -0.264 + 2564->752; // weight: 0.396 + 2564->754; // weight: -0.264 + 2564->756; // weight: 0.396 + 2564->780; // weight: 0.712 + 716->558; // weight: -0.333 + 716->1778; // weight: 0.333 + 716->715; // weight: 1.00 + 810->578; // weight: -0.333 + 810->1798; // weight: 0.333 + 810->809; // weight: 1.00 + 798->558; // weight: -0.333 + 798->578; // weight: 0.333 + 798->797; // weight: 1.00 + 804->1778; // weight: -0.333 + 804->1798; // weight: 0.333 + 804->803; // weight: 1.00 + 814->715; // weight: -0.333 + 814->809; // weight: 0.333 + 814->813; // weight: 1.00 + 815->797; // weight: -0.333 + 815->803; // weight: 0.333 + 815->813; // weight: 1.00 + 816->558; // weight: 0.111 + 816->578; // weight: -0.111 + 816->1778; // weight: -0.111 + 816->1798; // weight: 0.111 + 816->715; // weight: -0.333 + 816->809; // weight: 0.333 + 816->797; // weight: -0.333 + 816->803; // weight: 0.333 + 816->813; // weight: 1.00 + 1728->558; // weight: 0.0625 + 1728->578; // weight: -0.0312 + 1728->1778; // weight: -0.0312 + 1728->1798; // weight: 0.0156 + 1728->715; // weight: -0.281 + 1728->809; // weight: 0.141 + 1728->797; // weight: -0.281 + 1728->803; // weight: 0.141 + 1728->813; // weight: 1.27 + 1736->558; // weight: -0.0469 + 1736->578; // weight: 0.0234 + 1736->1778; // weight: 0.00781 + 1736->1798; // weight: 0.00391 + 1736->715; // weight: -0.211 + 1736->809; // weight: 0.105 + 1736->797; // weight: 0.211 + 1736->803; // weight: -0.0352 + 1736->813; // weight: 0.949 + 1732->558; // weight: -0.0469 + 1732->578; // weight: 0.00781 + 1732->1778; // weight: 0.0234 + 1732->1798; // weight: 0.00391 + 1732->715; // weight: 0.211 + 1732->809; // weight: -0.0352 + 1732->797; // weight: -0.211 + 1732->803; // weight: 0.105 + 1732->813; // weight: 0.949 + 1737->558; // weight: 0.0352 + 1737->578; // weight: 0.00586 + 1737->1778; // weight: 0.00586 + 1737->1798; // weight: 0.000977 + 1737->715; // weight: 0.158 + 1737->809; // weight: -0.0264 + 1737->797; // weight: 0.158 + 1737->803; // weight: -0.0264 + 1737->813; // weight: 0.712 + 1755->578; // weight: -0.250 + 1755->1798; // weight: 0.125 + 1755->809; // weight: 1.12 + 1760->578; // weight: 0.188 + 1760->1798; // weight: -0.0312 + 1760->809; // weight: 0.844 + 1758->558; // weight: 0.0781 + 1758->578; // weight: -0.117 + 1758->1778; // weight: -0.0391 + 1758->1798; // weight: 0.0586 + 1758->715; // weight: -0.352 + 1758->809; // weight: 0.527 + 1758->797; // weight: -0.211 + 1758->803; // weight: 0.105 + 1758->813; // weight: 0.949 + 1761->558; // weight: -0.0586 + 1761->578; // weight: 0.0879 + 1761->1778; // weight: 0.00977 + 1761->1798; // weight: -0.0146 + 1761->715; // weight: -0.264 + 1761->809; // weight: 0.396 + 1761->797; // weight: 0.158 + 1761->803; // weight: -0.0264 + 1761->813; // weight: 0.712 + 1779->1778; // weight: -0.250 + 1779->1798; // weight: 0.125 + 1779->803; // weight: 1.12 + 1784->558; // weight: 0.0781 + 1784->578; // weight: -0.0391 + 1784->1778; // weight: -0.117 + 1784->1798; // weight: 0.0586 + 1784->715; // weight: -0.211 + 1784->809; // weight: 0.105 + 1784->797; // weight: -0.352 + 1784->803; // weight: 0.527 + 1784->813; // weight: 0.949 + 1780->1778; // weight: 0.188 + 1780->1798; // weight: -0.0312 + 1780->803; // weight: 0.844 + 1785->558; // weight: -0.0586 + 1785->578; // weight: 0.00977 + 1785->1778; // weight: 0.0879 + 1785->1798; // weight: -0.0146 + 1785->715; // weight: 0.158 + 1785->809; // weight: -0.0264 + 1785->797; // weight: -0.264 + 1785->803; // weight: 0.396 + 1785->813; // weight: 0.712 + 1801->578; // weight: -0.312 + 1801->1798; // weight: 0.469 + 1801->809; // weight: 0.844 + 1799->1778; // weight: -0.312 + 1799->1798; // weight: 0.469 + 1799->803; // weight: 0.844 + 1802->558; // weight: 0.0977 + 1802->578; // weight: -0.146 + 1802->1778; // weight: -0.146 + 1802->1798; // weight: 0.220 + 1802->715; // weight: -0.264 + 1802->809; // weight: 0.396 + 1802->797; // weight: -0.264 + 1802->803; // weight: 0.396 + 1802->813; // weight: 0.712 + 800->598; // weight: -0.333 + 800->2649; // weight: 0.333 + 800->799; // weight: 1.00 + 802->578; // weight: -0.333 + 802->2649; // weight: 0.333 + 802->801; // weight: 1.00 + 826->797; // weight: -0.333 + 826->799; // weight: 0.333 + 826->825; // weight: 1.00 + 827->701; // weight: -0.333 + 827->801; // weight: 0.333 + 827->825; // weight: 1.00 + 828->558; // weight: 0.111 + 828->598; // weight: -0.111 + 828->578; // weight: -0.111 + 828->2649; // weight: 0.111 + 828->797; // weight: -0.333 + 828->799; // weight: 0.333 + 828->701; // weight: -0.333 + 828->801; // weight: 0.333 + 828->825; // weight: 1.00 + 2615->558; // weight: 0.0625 + 2615->598; // weight: -0.0312 + 2615->578; // weight: -0.0312 + 2615->2649; // weight: 0.0156 + 2615->797; // weight: -0.281 + 2615->799; // weight: 0.141 + 2615->701; // weight: -0.281 + 2615->801; // weight: 0.141 + 2615->825; // weight: 1.27 + 2616->558; // weight: -0.0469 + 2616->598; // weight: 0.0234 + 2616->578; // weight: 0.00781 + 2616->2649; // weight: 0.00391 + 2616->797; // weight: -0.211 + 2616->799; // weight: 0.105 + 2616->701; // weight: 0.211 + 2616->801; // weight: -0.0352 + 2616->825; // weight: 0.949 + 2618->558; // weight: -0.0469 + 2618->598; // weight: 0.00781 + 2618->578; // weight: 0.0234 + 2618->2649; // weight: 0.00391 + 2618->797; // weight: 0.211 + 2618->799; // weight: -0.0352 + 2618->701; // weight: -0.211 + 2618->801; // weight: 0.105 + 2618->825; // weight: 0.949 + 2627->558; // weight: 0.0352 + 2627->598; // weight: 0.00586 + 2627->578; // weight: 0.00586 + 2627->2649; // weight: 0.000977 + 2627->797; // weight: 0.158 + 2627->799; // weight: -0.0264 + 2627->701; // weight: 0.158 + 2627->801; // weight: -0.0264 + 2627->825; // weight: 0.712 + 2629->598; // weight: -0.250 + 2629->2649; // weight: 0.125 + 2629->799; // weight: 1.12 + 2630->598; // weight: 0.188 + 2630->2649; // weight: -0.0312 + 2630->799; // weight: 0.844 + 2632->558; // weight: 0.0781 + 2632->598; // weight: -0.117 + 2632->578; // weight: -0.0391 + 2632->2649; // weight: 0.0586 + 2632->797; // weight: -0.352 + 2632->799; // weight: 0.527 + 2632->701; // weight: -0.211 + 2632->801; // weight: 0.105 + 2632->825; // weight: 0.949 + 2637->558; // weight: -0.0586 + 2637->598; // weight: 0.0879 + 2637->578; // weight: 0.00977 + 2637->2649; // weight: -0.0146 + 2637->797; // weight: -0.264 + 2637->799; // weight: 0.396 + 2637->701; // weight: 0.158 + 2637->801; // weight: -0.0264 + 2637->825; // weight: 0.712 + 2639->578; // weight: -0.250 + 2639->2649; // weight: 0.125 + 2639->801; // weight: 1.12 + 2640->558; // weight: 0.0781 + 2640->598; // weight: -0.0391 + 2640->578; // weight: -0.117 + 2640->2649; // weight: 0.0586 + 2640->797; // weight: -0.211 + 2640->799; // weight: 0.105 + 2640->701; // weight: -0.352 + 2640->801; // weight: 0.527 + 2640->825; // weight: 0.949 + 2641->578; // weight: 0.188 + 2641->2649; // weight: -0.0312 + 2641->801; // weight: 0.844 + 2647->558; // weight: -0.0586 + 2647->598; // weight: 0.00977 + 2647->578; // weight: 0.0879 + 2647->2649; // weight: -0.0146 + 2647->797; // weight: 0.158 + 2647->799; // weight: -0.0264 + 2647->701; // weight: -0.264 + 2647->801; // weight: 0.396 + 2647->825; // weight: 0.712 + 2650->598; // weight: -0.312 + 2650->2649; // weight: 0.469 + 2650->799; // weight: 0.844 + 2651->578; // weight: -0.312 + 2651->2649; // weight: 0.469 + 2651->801; // weight: 0.844 + 2655->558; // weight: 0.0977 + 2655->598; // weight: -0.146 + 2655->578; // weight: -0.146 + 2655->2649; // weight: 0.220 + 2655->797; // weight: -0.264 + 2655->799; // weight: 0.396 + 2655->701; // weight: -0.264 + 2655->801; // weight: 0.396 + 2655->825; // weight: 0.712 + 843->2558; // weight: -0.333 + 843->2713; // weight: 0.333 + 843->842; // weight: 1.00 + 845->2649; // weight: -0.333 + 845->2713; // weight: 0.333 + 845->844; // weight: 1.00 + 861->799; // weight: -0.333 + 861->842; // weight: 0.333 + 861->860; // weight: 1.00 + 862->756; // weight: -0.333 + 862->844; // weight: 0.333 + 862->860; // weight: 1.00 + 863->598; // weight: 0.111 + 863->2558; // weight: -0.111 + 863->2649; // weight: -0.111 + 863->2713; // weight: 0.111 + 863->799; // weight: -0.333 + 863->842; // weight: 0.333 + 863->756; // weight: -0.333 + 863->844; // weight: 0.333 + 863->860; // weight: 1.00 + 2689->598; // weight: 0.0625 + 2689->2558; // weight: -0.0312 + 2689->2649; // weight: -0.0312 + 2689->2713; // weight: 0.0156 + 2689->799; // weight: -0.281 + 2689->842; // weight: 0.141 + 2689->756; // weight: -0.281 + 2689->844; // weight: 0.141 + 2689->860; // weight: 1.27 + 2690->598; // weight: -0.0469 + 2690->2558; // weight: 0.0234 + 2690->2649; // weight: 0.00781 + 2690->2713; // weight: 0.00391 + 2690->799; // weight: -0.211 + 2690->842; // weight: 0.105 + 2690->756; // weight: 0.211 + 2690->844; // weight: -0.0352 + 2690->860; // weight: 0.949 + 2691->598; // weight: -0.0469 + 2691->2558; // weight: 0.00781 + 2691->2649; // weight: 0.0234 + 2691->2713; // weight: 0.00391 + 2691->799; // weight: 0.211 + 2691->842; // weight: -0.0352 + 2691->756; // weight: -0.211 + 2691->844; // weight: 0.105 + 2691->860; // weight: 0.949 + 2695->598; // weight: 0.0352 + 2695->2558; // weight: 0.00586 + 2695->2649; // weight: 0.00586 + 2695->2713; // weight: 0.000977 + 2695->799; // weight: 0.158 + 2695->842; // weight: -0.0264 + 2695->756; // weight: 0.158 + 2695->844; // weight: -0.0264 + 2695->860; // weight: 0.712 + 2697->2558; // weight: -0.250 + 2697->2713; // weight: 0.125 + 2697->842; // weight: 1.12 + 2698->2558; // weight: 0.188 + 2698->2713; // weight: -0.0312 + 2698->842; // weight: 0.844 + 2699->598; // weight: 0.0781 + 2699->2558; // weight: -0.117 + 2699->2649; // weight: -0.0391 + 2699->2713; // weight: 0.0586 + 2699->799; // weight: -0.352 + 2699->842; // weight: 0.527 + 2699->756; // weight: -0.211 + 2699->844; // weight: 0.105 + 2699->860; // weight: 0.949 + 2703->598; // weight: -0.0586 + 2703->2558; // weight: 0.0879 + 2703->2649; // weight: 0.00977 + 2703->2713; // weight: -0.0146 + 2703->799; // weight: -0.264 + 2703->842; // weight: 0.396 + 2703->756; // weight: 0.158 + 2703->844; // weight: -0.0264 + 2703->860; // weight: 0.712 + 2705->2649; // weight: -0.250 + 2705->2713; // weight: 0.125 + 2705->844; // weight: 1.12 + 2706->598; // weight: 0.0781 + 2706->2558; // weight: -0.0391 + 2706->2649; // weight: -0.117 + 2706->2713; // weight: 0.0586 + 2706->799; // weight: -0.211 + 2706->842; // weight: 0.105 + 2706->756; // weight: -0.352 + 2706->844; // weight: 0.527 + 2706->860; // weight: 0.949 + 2707->2649; // weight: 0.188 + 2707->2713; // weight: -0.0312 + 2707->844; // weight: 0.844 + 2711->598; // weight: -0.0586 + 2711->2558; // weight: 0.00977 + 2711->2649; // weight: 0.0879 + 2711->2713; // weight: -0.0146 + 2711->799; // weight: 0.158 + 2711->842; // weight: -0.0264 + 2711->756; // weight: -0.264 + 2711->844; // weight: 0.396 + 2711->860; // weight: 0.712 + 2714->2558; // weight: -0.312 + 2714->2713; // weight: 0.469 + 2714->842; // weight: 0.844 + 2715->2649; // weight: -0.312 + 2715->2713; // weight: 0.469 + 2715->844; // weight: 0.844 + 2719->598; // weight: 0.0977 + 2719->2558; // weight: -0.146 + 2719->2649; // weight: -0.146 + 2719->2713; // weight: 0.220 + 2719->799; // weight: -0.264 + 2719->842; // weight: 0.396 + 2719->756; // weight: -0.264 + 2719->844; // weight: 0.396 + 2719->860; // weight: 0.712 + 886->636; // weight: -0.333 + 886->686; // weight: 0.333 + 886->885; // weight: 1.00 + 890->1778; // weight: -0.333 + 890->2005; // weight: 0.333 + 890->889; // weight: 1.00 + 704->636; // weight: -0.333 + 704->1778; // weight: 0.333 + 704->703; // weight: 1.00 + 878->686; // weight: -0.333 + 878->2005; // weight: 0.333 + 878->877; // weight: 1.00 + 894->885; // weight: -0.333 + 894->889; // weight: 0.333 + 894->893; // weight: 1.00 + 895->703; // weight: -0.333 + 895->877; // weight: 0.333 + 895->893; // weight: 1.00 + 896->636; // weight: 0.111 + 896->1778; // weight: -0.111 + 896->686; // weight: -0.111 + 896->2005; // weight: 0.111 + 896->885; // weight: -0.333 + 896->889; // weight: 0.333 + 896->703; // weight: -0.333 + 896->877; // weight: 0.333 + 896->893; // weight: 1.00 + 1941->636; // weight: 0.0625 + 1941->1778; // weight: -0.0312 + 1941->686; // weight: -0.0312 + 1941->2005; // weight: 0.0156 + 1941->885; // weight: -0.281 + 1941->889; // weight: 0.141 + 1941->703; // weight: -0.281 + 1941->877; // weight: 0.141 + 1941->893; // weight: 1.27 + 1948->636; // weight: -0.0469 + 1948->1778; // weight: 0.0234 + 1948->686; // weight: 0.00781 + 1948->2005; // weight: 0.00391 + 1948->885; // weight: -0.211 + 1948->889; // weight: 0.105 + 1948->703; // weight: 0.211 + 1948->877; // weight: -0.0352 + 1948->893; // weight: 0.949 + 1945->636; // weight: -0.0469 + 1945->1778; // weight: 0.00781 + 1945->686; // weight: 0.0234 + 1945->2005; // weight: 0.00391 + 1945->885; // weight: 0.211 + 1945->889; // weight: -0.0352 + 1945->703; // weight: -0.211 + 1945->877; // weight: 0.105 + 1945->893; // weight: 0.949 + 1949->636; // weight: 0.0352 + 1949->1778; // weight: 0.00586 + 1949->686; // weight: 0.00586 + 1949->2005; // weight: 0.000977 + 1949->885; // weight: 0.158 + 1949->889; // weight: -0.0264 + 1949->703; // weight: 0.158 + 1949->877; // weight: -0.0264 + 1949->893; // weight: 0.712 + 1965->1778; // weight: -0.250 + 1965->2005; // weight: 0.125 + 1965->889; // weight: 1.12 + 1969->1778; // weight: 0.188 + 1969->2005; // weight: -0.0312 + 1969->889; // weight: 0.844 + 1967->636; // weight: 0.0781 + 1967->1778; // weight: -0.117 + 1967->686; // weight: -0.0391 + 1967->2005; // weight: 0.0586 + 1967->885; // weight: -0.352 + 1967->889; // weight: 0.527 + 1967->703; // weight: -0.211 + 1967->877; // weight: 0.105 + 1967->893; // weight: 0.949 + 1970->636; // weight: -0.0586 + 1970->1778; // weight: 0.0879 + 1970->686; // weight: 0.00977 + 1970->2005; // weight: -0.0146 + 1970->885; // weight: -0.264 + 1970->889; // weight: 0.396 + 1970->703; // weight: 0.158 + 1970->877; // weight: -0.0264 + 1970->893; // weight: 0.712 + 1987->686; // weight: -0.250 + 1987->2005; // weight: 0.125 + 1987->877; // weight: 1.12 + 1991->636; // weight: 0.0781 + 1991->1778; // weight: -0.0391 + 1991->686; // weight: -0.117 + 1991->2005; // weight: 0.0586 + 1991->885; // weight: -0.211 + 1991->889; // weight: 0.105 + 1991->703; // weight: -0.352 + 1991->877; // weight: 0.527 + 1991->893; // weight: 0.949 + 1988->686; // weight: 0.188 + 1988->2005; // weight: -0.0312 + 1988->877; // weight: 0.844 + 1992->636; // weight: -0.0586 + 1992->1778; // weight: 0.00977 + 1992->686; // weight: 0.0879 + 1992->2005; // weight: -0.0146 + 1992->885; // weight: 0.158 + 1992->889; // weight: -0.0264 + 1992->703; // weight: -0.264 + 1992->877; // weight: 0.396 + 1992->893; // weight: 0.712 + 2008->1778; // weight: -0.312 + 2008->2005; // weight: 0.469 + 2008->889; // weight: 0.844 + 2006->686; // weight: -0.312 + 2006->2005; // weight: 0.469 + 2006->877; // weight: 0.844 + 2009->636; // weight: 0.0977 + 2009->1778; // weight: -0.146 + 2009->686; // weight: -0.146 + 2009->2005; // weight: 0.220 + 2009->885; // weight: -0.264 + 2009->889; // weight: 0.396 + 2009->703; // weight: -0.264 + 2009->877; // weight: 0.396 + 2009->893; // weight: 0.712 + 708->636; // weight: -0.333 + 708->1215; // weight: 0.333 + 708->707; // weight: 1.00 + 882->686; // weight: -0.333 + 882->1517; // weight: 0.333 + 882->881; // weight: 1.00 + 888->1215; // weight: -0.333 + 888->1517; // weight: 0.333 + 888->887; // weight: 1.00 + 902->707; // weight: -0.333 + 902->881; // weight: 0.333 + 902->901; // weight: 1.00 + 903->885; // weight: -0.333 + 903->887; // weight: 0.333 + 903->901; // weight: 1.00 + 904->636; // weight: 0.111 + 904->686; // weight: -0.111 + 904->1215; // weight: -0.111 + 904->1517; // weight: 0.111 + 904->707; // weight: -0.333 + 904->881; // weight: 0.333 + 904->885; // weight: -0.333 + 904->887; // weight: 0.333 + 904->901; // weight: 1.00 + 1461->636; // weight: 0.0625 + 1461->686; // weight: -0.0312 + 1461->1215; // weight: -0.0312 + 1461->1517; // weight: 0.0156 + 1461->707; // weight: -0.281 + 1461->881; // weight: 0.141 + 1461->885; // weight: -0.281 + 1461->887; // weight: 0.141 + 1461->901; // weight: 1.27 + 1467->636; // weight: -0.0469 + 1467->686; // weight: 0.0234 + 1467->1215; // weight: 0.00781 + 1467->1517; // weight: 0.00391 + 1467->707; // weight: -0.211 + 1467->881; // weight: 0.105 + 1467->885; // weight: 0.211 + 1467->887; // weight: -0.0352 + 1467->901; // weight: 0.949 + 1469->636; // weight: -0.0469 + 1469->686; // weight: 0.00781 + 1469->1215; // weight: 0.0234 + 1469->1517; // weight: 0.00391 + 1469->707; // weight: 0.211 + 1469->881; // weight: -0.0352 + 1469->885; // weight: -0.211 + 1469->887; // weight: 0.105 + 1469->901; // weight: 0.949 + 1472->636; // weight: 0.0352 + 1472->686; // weight: 0.00586 + 1472->1215; // weight: 0.00586 + 1472->1517; // weight: 0.000977 + 1472->707; // weight: 0.158 + 1472->881; // weight: -0.0264 + 1472->885; // weight: 0.158 + 1472->887; // weight: -0.0264 + 1472->901; // weight: 0.712 + 1506->686; // weight: -0.250 + 1506->1517; // weight: 0.125 + 1506->881; // weight: 1.12 + 1509->686; // weight: 0.188 + 1509->1517; // weight: -0.0312 + 1509->881; // weight: 0.844 + 1511->636; // weight: 0.0781 + 1511->686; // weight: -0.117 + 1511->1215; // weight: -0.0391 + 1511->1517; // weight: 0.0586 + 1511->707; // weight: -0.352 + 1511->881; // weight: 0.527 + 1511->885; // weight: -0.211 + 1511->887; // weight: 0.105 + 1511->901; // weight: 0.949 + 1514->636; // weight: -0.0586 + 1514->686; // weight: 0.0879 + 1514->1215; // weight: 0.00977 + 1514->1517; // weight: -0.0146 + 1514->707; // weight: -0.264 + 1514->881; // weight: 0.396 + 1514->885; // weight: 0.158 + 1514->887; // weight: -0.0264 + 1514->901; // weight: 0.712 + 1476->1215; // weight: -0.250 + 1476->1517; // weight: 0.125 + 1476->887; // weight: 1.12 + 1479->636; // weight: 0.0781 + 1479->686; // weight: -0.0391 + 1479->1215; // weight: -0.117 + 1479->1517; // weight: 0.0586 + 1479->707; // weight: -0.211 + 1479->881; // weight: 0.105 + 1479->885; // weight: -0.352 + 1479->887; // weight: 0.527 + 1479->901; // weight: 0.949 + 1480->1215; // weight: 0.188 + 1480->1517; // weight: -0.0312 + 1480->887; // weight: 0.844 + 1482->636; // weight: -0.0586 + 1482->686; // weight: 0.00977 + 1482->1215; // weight: 0.0879 + 1482->1517; // weight: -0.0146 + 1482->707; // weight: 0.158 + 1482->881; // weight: -0.0264 + 1482->885; // weight: -0.264 + 1482->887; // weight: 0.396 + 1482->901; // weight: 0.712 + 1519->686; // weight: -0.312 + 1519->1517; // weight: 0.469 + 1519->881; // weight: 0.844 + 1520->1215; // weight: -0.312 + 1520->1517; // weight: 0.469 + 1520->887; // weight: 0.844 + 1522->636; // weight: 0.0977 + 1522->686; // weight: -0.146 + 1522->1215; // weight: -0.146 + 1522->1517; // weight: 0.220 + 1522->707; // weight: -0.264 + 1522->881; // weight: 0.396 + 1522->885; // weight: -0.264 + 1522->887; // weight: 0.396 + 1522->901; // weight: 0.712 + 925->1517; // weight: -0.333 + 925->1581; // weight: 0.333 + 925->924; // weight: 1.00 + 929->1227; // weight: -0.333 + 929->1581; // weight: 0.333 + 929->928; // weight: 1.00 + 937->760; // weight: -0.333 + 937->924; // weight: 0.333 + 937->936; // weight: 1.00 + 938->887; // weight: -0.333 + 938->928; // weight: 0.333 + 938->936; // weight: 1.00 + 939->1215; // weight: 0.111 + 939->1517; // weight: -0.111 + 939->1227; // weight: -0.111 + 939->1581; // weight: 0.111 + 939->760; // weight: -0.333 + 939->924; // weight: 0.333 + 939->887; // weight: -0.333 + 939->928; // weight: 0.333 + 939->936; // weight: 1.00 + 1541->1215; // weight: 0.0625 + 1541->1517; // weight: -0.0312 + 1541->1227; // weight: -0.0312 + 1541->1581; // weight: 0.0156 + 1541->760; // weight: -0.281 + 1541->924; // weight: 0.141 + 1541->887; // weight: -0.281 + 1541->928; // weight: 0.141 + 1541->936; // weight: 1.27 + 1543->1215; // weight: -0.0469 + 1543->1517; // weight: 0.0234 + 1543->1227; // weight: 0.00781 + 1543->1581; // weight: 0.00391 + 1543->760; // weight: -0.211 + 1543->924; // weight: 0.105 + 1543->887; // weight: 0.211 + 1543->928; // weight: -0.0352 + 1543->936; // weight: 0.949 + 1544->1215; // weight: -0.0469 + 1544->1517; // weight: 0.00781 + 1544->1227; // weight: 0.0234 + 1544->1581; // weight: 0.00391 + 1544->760; // weight: 0.211 + 1544->924; // weight: -0.0352 + 1544->887; // weight: -0.211 + 1544->928; // weight: 0.105 + 1544->936; // weight: 0.949 + 1546->1215; // weight: 0.0352 + 1546->1517; // weight: 0.00586 + 1546->1227; // weight: 0.00586 + 1546->1581; // weight: 0.000977 + 1546->760; // weight: 0.158 + 1546->924; // weight: -0.0264 + 1546->887; // weight: 0.158 + 1546->928; // weight: -0.0264 + 1546->936; // weight: 0.712 + 1573->1517; // weight: -0.250 + 1573->1581; // weight: 0.125 + 1573->924; // weight: 1.12 + 1575->1517; // weight: 0.188 + 1575->1581; // weight: -0.0312 + 1575->924; // weight: 0.844 + 1576->1215; // weight: 0.0781 + 1576->1517; // weight: -0.117 + 1576->1227; // weight: -0.0391 + 1576->1581; // weight: 0.0586 + 1576->760; // weight: -0.352 + 1576->924; // weight: 0.527 + 1576->887; // weight: -0.211 + 1576->928; // weight: 0.105 + 1576->936; // weight: 0.949 + 1578->1215; // weight: -0.0586 + 1578->1517; // weight: 0.0879 + 1578->1227; // weight: 0.00977 + 1578->1581; // weight: -0.0146 + 1578->760; // weight: -0.264 + 1578->924; // weight: 0.396 + 1578->887; // weight: 0.158 + 1578->928; // weight: -0.0264 + 1578->936; // weight: 0.712 + 1549->1227; // weight: -0.250 + 1549->1581; // weight: 0.125 + 1549->928; // weight: 1.12 + 1551->1215; // weight: 0.0781 + 1551->1517; // weight: -0.0391 + 1551->1227; // weight: -0.117 + 1551->1581; // weight: 0.0586 + 1551->760; // weight: -0.211 + 1551->924; // weight: 0.105 + 1551->887; // weight: -0.352 + 1551->928; // weight: 0.527 + 1551->936; // weight: 0.949 + 1552->1227; // weight: 0.188 + 1552->1581; // weight: -0.0312 + 1552->928; // weight: 0.844 + 1554->1215; // weight: -0.0586 + 1554->1517; // weight: 0.00977 + 1554->1227; // weight: 0.0879 + 1554->1581; // weight: -0.0146 + 1554->760; // weight: 0.158 + 1554->924; // weight: -0.0264 + 1554->887; // weight: -0.264 + 1554->928; // weight: 0.396 + 1554->936; // weight: 0.712 + 1583->1517; // weight: -0.312 + 1583->1581; // weight: 0.469 + 1583->924; // weight: 0.844 + 1584->1227; // weight: -0.312 + 1584->1581; // weight: 0.469 + 1584->928; // weight: 0.844 + 1586->1215; // weight: 0.0977 + 1586->1517; // weight: -0.146 + 1586->1227; // weight: -0.146 + 1586->1581; // weight: 0.220 + 1586->760; // weight: -0.264 + 1586->924; // weight: 0.396 + 1586->887; // weight: -0.264 + 1586->928; // weight: 0.396 + 1586->936; // weight: 0.712 + 964->1798; // weight: -0.333 + 964->2149; // weight: 0.333 + 964->963; // weight: 1.00 + 958->2005; // weight: -0.333 + 958->2149; // weight: 0.333 + 958->957; // weight: 1.00 + 968->889; // weight: -0.333 + 968->963; // weight: 0.333 + 968->967; // weight: 1.00 + 969->803; // weight: -0.333 + 969->957; // weight: 0.333 + 969->967; // weight: 1.00 + 970->1778; // weight: 0.111 + 970->1798; // weight: -0.111 + 970->2005; // weight: -0.111 + 970->2149; // weight: 0.111 + 970->889; // weight: -0.333 + 970->963; // weight: 0.333 + 970->803; // weight: -0.333 + 970->957; // weight: 0.333 + 970->967; // weight: 1.00 + 2101->1778; // weight: 0.0625 + 2101->1798; // weight: -0.0312 + 2101->2005; // weight: -0.0312 + 2101->2149; // weight: 0.0156 + 2101->889; // weight: -0.281 + 2101->963; // weight: 0.141 + 2101->803; // weight: -0.281 + 2101->957; // weight: 0.141 + 2101->967; // weight: 1.27 + 2104->1778; // weight: -0.0469 + 2104->1798; // weight: 0.0234 + 2104->2005; // weight: 0.00781 + 2104->2149; // weight: 0.00391 + 2104->889; // weight: -0.211 + 2104->963; // weight: 0.105 + 2104->803; // weight: 0.211 + 2104->957; // weight: -0.0352 + 2104->967; // weight: 0.949 + 2102->1778; // weight: -0.0469 + 2102->1798; // weight: 0.00781 + 2102->2005; // weight: 0.0234 + 2102->2149; // weight: 0.00391 + 2102->889; // weight: 0.211 + 2102->963; // weight: -0.0352 + 2102->803; // weight: -0.211 + 2102->957; // weight: 0.105 + 2102->967; // weight: 0.949 + 2105->1778; // weight: 0.0352 + 2105->1798; // weight: 0.00586 + 2105->2005; // weight: 0.00586 + 2105->2149; // weight: 0.000977 + 2105->889; // weight: 0.158 + 2105->963; // weight: -0.0264 + 2105->803; // weight: 0.158 + 2105->957; // weight: -0.0264 + 2105->967; // weight: 0.712 + 2117->1798; // weight: -0.250 + 2117->2149; // weight: 0.125 + 2117->963; // weight: 1.12 + 2120->1798; // weight: 0.188 + 2120->2149; // weight: -0.0312 + 2120->963; // weight: 0.844 + 2118->1778; // weight: 0.0781 + 2118->1798; // weight: -0.117 + 2118->2005; // weight: -0.0391 + 2118->2149; // weight: 0.0586 + 2118->889; // weight: -0.352 + 2118->963; // weight: 0.527 + 2118->803; // weight: -0.211 + 2118->957; // weight: 0.105 + 2118->967; // weight: 0.949 + 2121->1778; // weight: -0.0586 + 2121->1798; // weight: 0.0879 + 2121->2005; // weight: 0.00977 + 2121->2149; // weight: -0.0146 + 2121->889; // weight: -0.264 + 2121->963; // weight: 0.396 + 2121->803; // weight: 0.158 + 2121->957; // weight: -0.0264 + 2121->967; // weight: 0.712 + 2133->2005; // weight: -0.250 + 2133->2149; // weight: 0.125 + 2133->957; // weight: 1.12 + 2136->1778; // weight: 0.0781 + 2136->1798; // weight: -0.0391 + 2136->2005; // weight: -0.117 + 2136->2149; // weight: 0.0586 + 2136->889; // weight: -0.211 + 2136->963; // weight: 0.105 + 2136->803; // weight: -0.352 + 2136->957; // weight: 0.527 + 2136->967; // weight: 0.949 + 2134->2005; // weight: 0.188 + 2134->2149; // weight: -0.0312 + 2134->957; // weight: 0.844 + 2137->1778; // weight: -0.0586 + 2137->1798; // weight: 0.00977 + 2137->2005; // weight: 0.0879 + 2137->2149; // weight: -0.0146 + 2137->889; // weight: 0.158 + 2137->963; // weight: -0.0264 + 2137->803; // weight: -0.264 + 2137->957; // weight: 0.396 + 2137->967; // weight: 0.712 + 2152->1798; // weight: -0.312 + 2152->2149; // weight: 0.469 + 2152->963; // weight: 0.844 + 2150->2005; // weight: -0.312 + 2150->2149; // weight: 0.469 + 2150->957; // weight: 0.844 + 2153->1778; // weight: 0.0977 + 2153->1798; // weight: -0.146 + 2153->2005; // weight: -0.146 + 2153->2149; // weight: 0.220 + 2153->889; // weight: -0.264 + 2153->963; // weight: 0.396 + 2153->803; // weight: -0.264 + 2153->957; // weight: 0.396 + 2153->967; // weight: 0.712 +} +DEAL:: Number of degrees of freedom: 2721 +DEAL:: Number of constraints : 769 +DEAL:cg::Starting value 0.118 +DEAL:cg::Convergence step 23 value 7.99e-10 diff --git a/tests/hp/crash_18_compressed_set_sparsity.cc b/tests/hp/crash_18_compressed_set_sparsity.cc new file mode 100644 index 0000000000..689168f548 --- /dev/null +++ b/tests/hp/crash_18_compressed_set_sparsity.cc @@ -0,0 +1,738 @@ +//---------------------------- crash_18.cc --------------------------- +// $Id: crash_18.cc 12732 2006-03-28 23:15:45Z wolf $ +// Version: $Name$ +// +// Copyright (C) 2006, 2007 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- crash_18.cc --------------------------- + + +// a modified version of step-27 that crashes because of circular +// constraints. like crash_17, but only check the second cycle. there, +// we have dofs that are constrained against itself, and we don't +// currently detect this... + +// like crash_18, but use a Compressed*Set*SparsityPattern instead to test +// that class some more + +char logname[] = "crash_18_compressed_set_sparsity/output"; + + +#include "../tests.h" + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include + + // Finally, this is as in previous + // programs: +using namespace dealii; + +template +class LaplaceProblem +{ + public: + LaplaceProblem (); + ~LaplaceProblem (); + + void run (); + + private: + void setup_system (); + void assemble_system (); + void solve (); + void create_coarse_grid (); + void refine_grid (); + void estimate_smoothness (Vector &smoothness_indicators) const; + void output_results (const unsigned int cycle) const; + + Triangulation triangulation; + + hp::DoFHandler dof_handler; + hp::FECollection fe_collection; + hp::QCollection quadrature_collection; + hp::QCollection face_quadrature_collection; + + ConstraintMatrix hanging_node_constraints; + + SparsityPattern sparsity_pattern; + SparseMatrix system_matrix; + + Vector solution; + Vector system_rhs; + + Timer distr, condense, hang; +}; + + + +template +class RightHandSide : public Function +{ + public: + RightHandSide () : Function () {}; + + virtual double value (const Point &p, + const unsigned int component) const; +}; + + +template +double +RightHandSide::value (const Point &p, + const unsigned int /*component*/) const +{ + double product = 1; + for (unsigned int d=0; d +LaplaceProblem::LaplaceProblem () : + dof_handler (triangulation) +{ + for (unsigned int degree=2; degree<5; ++degree) + { + fe_collection.push_back (FE_Q(degree)); + quadrature_collection.push_back (QGauss(degree+2)); + face_quadrature_collection.push_back (QGauss(degree+2)); + } +} + + +template +LaplaceProblem::~LaplaceProblem () +{ + dof_handler.clear (); +} + +template +void LaplaceProblem::setup_system () +{ + distr.reset(); + distr.start(); + dof_handler.distribute_dofs (fe_collection); + distr.stop(); + + solution.reinit (dof_handler.n_dofs()); + system_rhs.reinit (dof_handler.n_dofs()); + + hanging_node_constraints.clear (); + hang.reset(); + hang.start(); + DoFTools::make_hanging_node_constraints (dof_handler, + hanging_node_constraints); + + // check for self-referential constraints + + hanging_node_constraints.close (); + hang.stop(); + + if (dim < 3) + { + sparsity_pattern.reinit (dof_handler.n_dofs(), + dof_handler.n_dofs(), + dof_handler.max_couplings_between_dofs()); + DoFTools::make_sparsity_pattern (dof_handler, sparsity_pattern); + + condense.reset(); + condense.start(); + hanging_node_constraints.condense (sparsity_pattern); + condense.stop(); + sparsity_pattern.compress(); + } + else + { + CompressedSetSparsityPattern csp (dof_handler.n_dofs(), + dof_handler.n_dofs()); + DoFTools::make_sparsity_pattern (dof_handler, csp); + + condense.reset(); + condense.start(); + hanging_node_constraints.condense (csp); + condense.stop(); + + sparsity_pattern.copy_from (csp); + } + + system_matrix.reinit (sparsity_pattern); +} + +template +void LaplaceProblem::assemble_system () +{ + hp::FEValues hp_fe_values (fe_collection, + quadrature_collection, + update_values | update_gradients | + update_q_points | update_JxW_values); + + const RightHandSide rhs_function; + + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (; cell!=endc; ++cell) + { + const unsigned int dofs_per_cell = cell->get_fe().dofs_per_cell; + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); + Vector cell_rhs (dofs_per_cell); + + std::vector local_dof_indices (dofs_per_cell); + + cell_matrix = 0; + cell_rhs = 0; + + hp_fe_values.reinit (cell); + + const FEValues &fe_values = hp_fe_values.get_present_fe_values (); + + std::vector rhs_values (fe_values.n_quadrature_points); + rhs_function.value_list (fe_values.get_quadrature_points(), + rhs_values); + + for (unsigned int q_point=0; q_pointget_dof_indices (local_dof_indices); + for (unsigned int i=0; i boundary_values; + VectorTools::interpolate_boundary_values (dof_handler, + 0, + ZeroFunction(), + boundary_values); + MatrixTools::apply_boundary_values (boundary_values, + system_matrix, + solution, + system_rhs); +} + +template +void LaplaceProblem::solve () +{ + SolverControl solver_control (system_rhs.size(), + 1e-8*system_rhs.l2_norm()); + SolverCG<> cg (solver_control); + + PreconditionSSOR<> preconditioner; + preconditioner.initialize(system_matrix, 1.2); + + cg.solve (system_matrix, solution, system_rhs, + preconditioner); + + hanging_node_constraints.distribute (solution); +} + + +unsigned int +int_pow (const unsigned int x, + const unsigned int n) +{ + unsigned int p=1; + for (unsigned int i=0; i +void +LaplaceProblem:: +estimate_smoothness (Vector &smoothness_indicators) const +{ + const unsigned int N = 4; + + // form all the Fourier vectors + // that we want to + // consider. exclude k=0 to avoid + // problems with |k|^{-mu} and also + // logarithms of |k| + std::vector > k_vectors; + std::vector k_vectors_magnitude; + switch (dim) + { + case 2: + { + for (unsigned int i=0; i(deal_II_numbers::PI * i, + deal_II_numbers::PI * j)); + k_vectors_magnitude.push_back (i*i+j*j); + } + + break; + } + + case 3: + { + for (unsigned int i=0; i(deal_II_numbers::PI * i, + deal_II_numbers::PI * j, + deal_II_numbers::PI * k)); + k_vectors_magnitude.push_back (i*i+j*j+k*k); + } + + break; + } + + default: + Assert (false, ExcNotImplemented()); + } + + const unsigned n_fourier_modes = k_vectors.size(); + std::vector ln_k (n_fourier_modes); + for (unsigned int i=0; i base_quadrature (2); + QIterated quadrature (base_quadrature, N); + + std::vector > > + fourier_transform_matrices (fe_collection.size()); + for (unsigned int fe=0; fe sum = 0; + for (unsigned int q=0; q x_q = quadrature.point(q); + sum += std::exp(std::complex(0,1) * + (k_vectors[k] * x_q)) * + fe_collection[fe].shape_value(i,x_q) * + quadrature.weight(q); + } + fourier_transform_matrices[fe](k,i) + = sum / std::pow(2*deal_II_numbers::PI, 1.*dim/2); + } + } + + // the next thing is to loop over + // all cells and do our work there, + // i.e. to locally do the Fourier + // transform and estimate the decay + // coefficient + std::vector > fourier_coefficients (n_fourier_modes); + Vector local_dof_values; + + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (unsigned int index=0; cell!=endc; ++cell, ++index) + { + local_dof_values.reinit (cell->get_fe().dofs_per_cell); + cell->get_dof_values (solution, local_dof_values); + + // first compute the Fourier + // transform of the local + // solution + std::fill (fourier_coefficients.begin(), fourier_coefficients.end(), 0); + for (unsigned int f=0; fget_fe().dofs_per_cell; ++i) + fourier_coefficients[f] += + fourier_transform_matrices[cell->active_fe_index()](f,i) + * + local_dof_values(i); + + // enter the Fourier + // coefficients into a map with + // the k-magnitudes, to make + // sure that we get only the + // largest magnitude for each + // value of |k| + std::map k_to_max_U_map; + for (unsigned int f=0; f +void LaplaceProblem::refine_grid () +{ + Vector estimated_error_per_cell (triangulation.n_active_cells()); + KellyErrorEstimator::estimate (dof_handler, + face_quadrature_collection, + typename FunctionMap::type(), + solution, + estimated_error_per_cell); + + Vector smoothness_indicators (triangulation.n_active_cells()); + estimate_smoothness (smoothness_indicators); + + GridRefinement::refine_and_coarsen_fixed_number (triangulation, + estimated_error_per_cell, + 0.3, 0.03); + + float max_smoothness = 0, + min_smoothness = smoothness_indicators.linfty_norm(); + { + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (unsigned int index=0; cell!=endc; ++cell, ++index) + if (cell->refine_flag_set()) + { + max_smoothness = std::max (max_smoothness, + smoothness_indicators(index)); + min_smoothness = std::min (min_smoothness, + smoothness_indicators(index)); + } + } + const float cutoff_smoothness = (max_smoothness + min_smoothness) / 2; + { + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (unsigned int index=0; cell!=endc; ++cell, ++index) + if (cell->refine_flag_set() + && + (smoothness_indicators(index) > cutoff_smoothness) + && + !(cell->active_fe_index() == fe_collection.size() - 1)) + { + cell->clear_refine_flag(); + cell->set_active_fe_index (std::min (cell->active_fe_index() + 1, + fe_collection.size() - 1)); + } + } + + triangulation.execute_coarsening_and_refinement (); +} + + + +template +void LaplaceProblem::output_results (const unsigned int cycle) const +{ + Assert (cycle < 10, ExcNotImplemented()); + + { + const std::string filename = "grid-" + + Utilities::int_to_string (cycle, 2) + + ".eps"; + std::ofstream output (filename.c_str()); + + GridOut grid_out; + grid_out.write_eps (triangulation, output); + } + + { + Vector smoothness_indicators (triangulation.n_active_cells()); + estimate_smoothness (smoothness_indicators); + + Vector smoothness_field (dof_handler.n_dofs()); + DoFTools::distribute_cell_to_dof_vector (dof_handler, + smoothness_indicators, + smoothness_field); + + Vector fe_indices (triangulation.n_active_cells()); + { + typename hp::DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + for (unsigned int index=0; cell!=endc; ++cell, ++index) + { + + fe_indices(index) = cell->active_fe_index(); +// smoothness_indicators(index) *= std::sqrt(cell->diameter()); + } + } + + const std::string filename = "solution-" + + Utilities::int_to_string (cycle, 2) + + ".vtk"; + DataOut > data_out; + + data_out.attach_dof_handler (dof_handler); + data_out.add_data_vector (solution, "solution"); + data_out.add_data_vector (smoothness_indicators, "smoothness1"); + data_out.add_data_vector (smoothness_field, "smoothness2"); + data_out.add_data_vector (fe_indices, "fe_index"); + data_out.build_patches (); + + std::ofstream output (filename.c_str()); + data_out.write_vtk (output); + } +} + + +template <> +void LaplaceProblem<2>::create_coarse_grid () +{ + const unsigned int dim = 2; + + static const Point<2> vertices_1[] + = { Point<2> (-1., -1.), + Point<2> (-1./2, -1.), + Point<2> (0., -1.), + Point<2> (+1./2, -1.), + Point<2> (+1, -1.), + + Point<2> (-1., -1./2.), + Point<2> (-1./2, -1./2.), + Point<2> (0., -1./2.), + Point<2> (+1./2, -1./2.), + Point<2> (+1, -1./2.), + + Point<2> (-1., 0.), + Point<2> (-1./2, 0.), + Point<2> (+1./2, 0.), + Point<2> (+1, 0.), + + Point<2> (-1., 1./2.), + Point<2> (-1./2, 1./2.), + Point<2> (0., 1./2.), + Point<2> (+1./2, 1./2.), + Point<2> (+1, 1./2.), + + Point<2> (-1., 1.), + Point<2> (-1./2, 1.), + Point<2> (0., 1.), + Point<2> (+1./2, 1.), + Point<2> (+1, 1.) }; + const unsigned int + n_vertices = sizeof(vertices_1) / sizeof(vertices_1[0]); + const std::vector > vertices (&vertices_1[0], + &vertices_1[n_vertices]); + static const int cell_vertices[][GeometryInfo::vertices_per_cell] + = {{0, 1, 5, 6}, + {1, 2, 6, 7}, + {2, 3, 7, 8}, + {3, 4, 8, 9}, + {5, 6, 10, 11}, + {8, 9, 12, 13}, + {10, 11, 14, 15}, + {12, 13, 17, 18}, + {14, 15, 19, 20}, + {15, 16, 20, 21}, + {16, 17, 21, 22}, + {17, 18, 22, 23}}; + const unsigned int + n_cells = sizeof(cell_vertices) / sizeof(cell_vertices[0]); + + std::vector > cells (n_cells, CellData()); + for (unsigned int i=0; i::vertices_per_cell; + ++j) + cells[i].vertices[j] = cell_vertices[i][j]; + cells[i].material_id = 0; + } + + triangulation.create_triangulation (vertices, + cells, + SubCellData()); + triangulation.refine_global (3); +} + + + +template <> +void LaplaceProblem<3>::create_coarse_grid () +{ + GridGenerator::hyper_cube (triangulation); + triangulation.refine_global (1); +} + + + +template +void LaplaceProblem::run () +{ + for (unsigned int cycle=0; cycle<2; ++cycle) + { + deallog << "Cycle " << cycle << ':' << std::endl; + + if (cycle == 0) + create_coarse_grid (); + else + refine_grid (); + + + deallog << " Number of active cells: " + << triangulation.n_active_cells() + << std::endl; + + Timer all; + all.start(); + setup_system (); + + deallog << " Number of degrees of freedom: " + << dof_handler.n_dofs() + << std::endl; + deallog << " Number of constraints : " + << hanging_node_constraints.n_constraints() + << std::endl; + + assemble_system (); + solve (); + all.stop(); + + } +} + +int main () +{ + std::ofstream logfile(logname); + logfile.precision (3); + + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + try + { + LaplaceProblem<3> laplace_problem_2d; + laplace_problem_2d.run (); + } + catch (std::exception &exc) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + + return 1; + } + catch (...) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; + } + + return 0; +} diff --git a/tests/hp/crash_18_compressed_set_sparsity/cmp/generic b/tests/hp/crash_18_compressed_set_sparsity/cmp/generic new file mode 100644 index 0000000000..9ed4a96e46 --- /dev/null +++ b/tests/hp/crash_18_compressed_set_sparsity/cmp/generic @@ -0,0 +1,13 @@ + +DEAL::Cycle 0: +DEAL:: Number of active cells: 8 +DEAL:: Number of degrees of freedom: 125 +DEAL:: Number of constraints : 0 +DEAL:cg::Starting value 0.438 +DEAL:cg::Convergence step 6 value 2.57e-09 +DEAL::Cycle 1: +DEAL:: Number of active cells: 22 +DEAL:: Number of degrees of freedom: 385 +DEAL:: Number of constraints : 128 +DEAL:cg::Starting value 0.337 +DEAL:cg::Convergence step 11 value 6.99e-10 diff --git a/tests/hp/step-11_compressed_set_sparsity.cc b/tests/hp/step-11_compressed_set_sparsity.cc new file mode 100644 index 0000000000..6b831bbb1c --- /dev/null +++ b/tests/hp/step-11_compressed_set_sparsity.cc @@ -0,0 +1,254 @@ +//---------------------------- step-11.cc --------------------------- +// $Id$ +// Version: $Name$ +// +// Copyright (C) 2005, 2006, 2007 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- step-11.cc --------------------------- + + +// a hp-ified version of step-11 + +// like step-11, but use a Compressed*Set*SparsityPattern instead to test +// that class some more + + +#include "../tests.h" + +#include +#include +std::ofstream logfile("step-11_compressed_set_sparsity/output"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + + +template +class LaplaceProblem +{ + public: + LaplaceProblem (const unsigned int mapping_degree); + void run (); + + private: + void setup_system (); + void assemble_and_solve (); + void solve (); + + Triangulation triangulation; + hp::FECollection fe; + hp::DoFHandler dof_handler; + hp::MappingCollection mapping; + + SparsityPattern sparsity_pattern; + SparseMatrix system_matrix; + ConstraintMatrix mean_value_constraints; + + Vector solution; + Vector system_rhs; + + TableHandler output_table; +}; + + + +template +LaplaceProblem::LaplaceProblem (const unsigned int mapping_degree) : + fe (FE_Q(1)), + dof_handler (triangulation), + mapping (MappingQ(mapping_degree)) +{ + deallog << "Using mapping with degree " << mapping_degree << ":" + << std::endl + << "============================" + << std::endl; +} + + + +template +void LaplaceProblem::setup_system () +{ + dof_handler.distribute_dofs (fe); + solution.reinit (dof_handler.n_dofs()); + system_rhs.reinit (dof_handler.n_dofs()); + + std::vector boundary_dofs (dof_handler.n_dofs(), false); + DoFTools::extract_boundary_dofs (dof_handler, std::vector(1,true), + boundary_dofs); + + const unsigned int first_boundary_dof + = std::distance (boundary_dofs.begin(), + std::find (boundary_dofs.begin(), + boundary_dofs.end(), + true)); + + mean_value_constraints.clear (); + mean_value_constraints.add_line (first_boundary_dof); + for (unsigned int i=first_boundary_dof+1; i +void LaplaceProblem::assemble_and_solve () +{ + + const unsigned int gauss_degree + = std::max (static_cast(std::ceil(1.*(static_cast&>(mapping[0]).get_degree()+1)/2)), + 2U); + MatrixTools::create_laplace_matrix (mapping, dof_handler, + hp::QCollection(QGauss(gauss_degree)), + system_matrix); + VectorTools::create_right_hand_side (mapping, dof_handler, + hp::QCollection(QGauss(gauss_degree)), + ConstantFunction(-2), + system_rhs); + Vector tmp (system_rhs.size()); + VectorTools::create_boundary_right_hand_side (mapping, dof_handler, + hp::QCollection(QGauss(gauss_degree)), + ConstantFunction(1), + tmp); + system_rhs += tmp; + + mean_value_constraints.condense (system_matrix); + mean_value_constraints.condense (system_rhs); + + solve (); + mean_value_constraints.distribute (solution); + + Vector norm_per_cell (triangulation.n_active_cells()); + VectorTools::integrate_difference (mapping, dof_handler, + solution, + ZeroFunction(), + norm_per_cell, + hp::QCollection(QGauss(gauss_degree+1)), + VectorTools::H1_seminorm); + const double norm = norm_per_cell.l2_norm(); + + output_table.add_value ("cells", triangulation.n_active_cells()); + output_table.add_value ("|u|_1", norm); + output_table.add_value ("error", std::fabs(norm-std::sqrt(3.14159265358/2))); +} + + + +template +void LaplaceProblem::solve () +{ + SolverControl solver_control (1000, 1e-12); + SolverCG<> cg (solver_control); + + PreconditionSSOR<> preconditioner; + preconditioner.initialize(system_matrix, 1.2); + + cg.solve (system_matrix, solution, system_rhs, + preconditioner); +} + + + +template +void LaplaceProblem::run () +{ + GridGenerator::hyper_ball (triangulation); + static const HyperBallBoundary boundary; + triangulation.set_boundary (0, boundary); + + for (unsigned int cycle=0; cycle<6; ++cycle, triangulation.refine_global(1)) + { + setup_system (); + assemble_and_solve (); + }; + + output_table.set_precision("|u|_1", 6); + output_table.set_precision("error", 6); + output_table.write_text (deallog.get_file_stream()); + deallog << std::endl; +} + + + +int main () +{ + try + { + logfile.precision(2); + + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + for (unsigned int mapping_degree=1; mapping_degree<=3; ++mapping_degree) + LaplaceProblem<2>(mapping_degree).run (); + } + catch (std::exception &exc) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; + } + catch (...) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; + }; + + return 0; +} diff --git a/tests/hp/step-11_compressed_set_sparsity/cmp/generic b/tests/hp/step-11_compressed_set_sparsity/cmp/generic new file mode 100644 index 0000000000..4a28f6ccb5 --- /dev/null +++ b/tests/hp/step-11_compressed_set_sparsity/cmp/generic @@ -0,0 +1,67 @@ + +DEAL::Using mapping with degree 1: +DEAL::============================ +DEAL:cg::Starting value 1.1 +DEAL:cg::Convergence step 7 value 0 +DEAL:cg::Starting value 0.98 +DEAL:cg::Convergence step 18 value 0 +DEAL:cg::Starting value 0.65 +DEAL:cg::Convergence step 29 value 0 +DEAL:cg::Starting value 0.37 +DEAL:cg::Convergence step 53 value 0 +DEAL:cg::Starting value 0.19 +DEAL:cg::Convergence step 108 value 0 +DEAL:cg::Starting value 0.10 +DEAL:cg::Convergence step 238 value 0 +cells |u|_1 error +5 0.680402 0.572912 +20 1.085518 0.167796 +80 1.208981 0.044334 +320 1.242041 0.011273 +1280 1.250482 0.002832 +5120 1.252605 0.000709 +DEAL:: +DEAL::Using mapping with degree 2: +DEAL::============================ +DEAL:cg::Starting value 1.338917 +DEAL:cg::Convergence step 7 value 0 +DEAL:cg::Starting value 1.028493 +DEAL:cg::Convergence step 17 value 0 +DEAL:cg::Starting value 0.654097 +DEAL:cg::Convergence step 29 value 0 +DEAL:cg::Starting value 0.368099 +DEAL:cg::Convergence step 53 value 0 +DEAL:cg::Starting value 0.194917 +DEAL:cg::Convergence step 108 value 0 +DEAL:cg::Starting value 0.100213 +DEAL:cg::Convergence step 238 value 0 +cells |u|_1 error +5 1.050963 0.202351 +20 1.199642 0.053672 +80 1.239913 0.013401 +320 1.249987 0.003327 +1280 1.252486 0.000828 +5120 1.253108 0.000206 +DEAL:: +DEAL::Using mapping with degree 3: +DEAL::============================ +DEAL:cg::Starting value 1.358459 +DEAL:cg::Convergence step 7 value 0 +DEAL:cg::Starting value 1.030204 +DEAL:cg::Convergence step 17 value 0 +DEAL:cg::Starting value 0.654234 +DEAL:cg::Convergence step 29 value 0 +DEAL:cg::Starting value 0.368109 +DEAL:cg::Convergence step 53 value 0 +DEAL:cg::Starting value 0.194918 +DEAL:cg::Convergence step 108 value 0 +DEAL:cg::Starting value 0.100213 +DEAL:cg::Convergence step 238 value 0 +cells |u|_1 error +5 1.086161 0.167153 +20 1.204349 0.048965 +80 1.240502 0.012812 +320 1.250059 0.003255 +1280 1.252495 0.000819 +5120 1.253109 0.000205 +DEAL:: -- 2.39.5