]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Also instantiate members of DoFRenumbering::boost for hp::DoFHandler.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 14 Dec 2009 21:56:38 +0000 (21:56 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 14 Dec 2009 21:56:38 +0000 (21:56 +0000)
git-svn-id: https://svn.dealii.org/trunk@20246 0785d39b-7218-0410-832d-ea1e28bc413d

tests/hp/Makefile
tests/hp/dof_renumbering_04.cc [new file with mode: 0644]
tests/hp/dof_renumbering_04/cmp/generic [new file with mode: 0644]
tests/hp/dof_renumbering_05.cc [new file with mode: 0644]
tests/hp/dof_renumbering_05/cmp/generic [new file with mode: 0644]
tests/hp/dof_renumbering_06.cc [new file with mode: 0644]
tests/hp/dof_renumbering_06/cmp/generic [new file with mode: 0644]

index 886d4cac5b9a14912c9432a0683ea0c1feabd4da..d2de076d5e92fde21909e659594284e3dca2b858 100644 (file)
@@ -41,7 +41,8 @@ tests_x = hp_dof_handler \
          vectors* \
          get_active_fe_indices \
          create_* \
-         renumber_*
+         renumber_* \
+         dof_renumbering_*
 
 # from above list of regular expressions, generate the real set of
 # tests
diff --git a/tests/hp/dof_renumbering_04.cc b/tests/hp/dof_renumbering_04.cc
new file mode 100644 (file)
index 0000000..835d600
--- /dev/null
@@ -0,0 +1,129 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2000, 2001, 2003, 2004, 2007, 2008, 2009 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.
+//
+//----------------------------------------------------------------------
+
+// Check DoFRenumbering::boost::Cuthill_McKee
+
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <base/function_lib.h>
+#include <lac/vector.h>
+#include <grid/tria.h>
+#include <grid/tria_iterator.h>
+#include <grid/grid_generator.h>
+#include <dofs/dof_accessor.h>
+#include <dofs/dof_handler.h>
+#include <dofs/dof_renumbering.h>
+#include <multigrid/mg_dof_accessor.h>
+#include <multigrid/mg_dof_handler.h>
+#include <fe/fe_q.h>
+#include <fe/fe_dgq.h>
+#include <fe/fe_dgp.h>
+#include <fe/fe_system.h>
+#include <fe/fe_values.h>
+
+#include <fstream>
+
+
+
+template <int dim>
+void
+print_dofs (const hp::DoFHandler<dim> &dof)
+{
+  std::vector<unsigned int> v;
+  for (typename hp::DoFHandler<dim>::active_cell_iterator cell=dof.begin_active();
+       cell != dof.end(); ++cell)
+    {
+      v.resize (cell->get_fe().dofs_per_cell);
+      deallog << "Cell " << cell << " -- ";
+      cell->get_dof_indices (v);
+      for (unsigned int i=0; i<v.size(); ++i)
+       deallog << v[i] << ' ';
+      deallog << std::endl;
+    }
+}
+
+
+
+template <int dim>
+void
+check_renumbering(hp::DoFHandler<dim>& dof)
+{
+  for (unsigned int i=0; i<dof.get_fe().size(); ++i)
+    {
+      const FiniteElement<dim>& element = dof.get_fe()[i];
+      deallog << element.get_name() << std::endl;
+    }
+
+  DoFRenumbering::boost::Cuthill_McKee(dof);
+  print_dofs (dof);
+}
+
+
+template <int dim>
+void
+check ()
+{
+  Triangulation<dim> tr;
+  if (dim==2)
+    GridGenerator::hyper_ball(tr, Point<dim>(), 1);
+  else
+    GridGenerator::hyper_cube(tr, -1,1);
+  tr.refine_global (1);
+  tr.begin_active()->set_refine_flag ();
+  tr.execute_coarsening_and_refinement ();
+  if (dim==1)
+    tr.refine_global(2);
+
+  hp::DoFHandler<dim> dof(tr);
+  {
+    bool coin = false;
+    for (typename hp::DoFHandler<dim>::active_cell_iterator cell=dof.begin_active();
+        cell != dof.end(); ++cell)
+      {
+       cell->set_active_fe_index (coin ? 0 : 1);
+       coin = !coin;
+      }
+  }
+
+  FESystem<dim> e1 (FE_Q<dim>(2), 2, FE_DGQ<dim>(1), 2);
+  FESystem<dim> e2 (FE_Q<dim>(1), 2, FE_DGQ<dim>(2), 2);
+
+  hp::FECollection<dim> fe_collection;
+  fe_collection.push_back (e1);
+  fe_collection.push_back (e2);
+
+  dof.distribute_dofs(fe_collection);
+  check_renumbering(dof);
+  dof.clear();
+}
+
+
+int main ()
+{
+  std::ofstream logfile ("dof_renumbering_04/output");
+  deallog << std::setprecision (2);
+  deallog << std::fixed;
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+
+  deallog.push ("1d");
+  check<1> ();
+  deallog.pop ();
+  deallog.push ("2d");
+  check<2> ();
+  deallog.pop ();
+  deallog.push ("3d");
+  check<3> ();
+  deallog.pop ();
+}
diff --git a/tests/hp/dof_renumbering_04/cmp/generic b/tests/hp/dof_renumbering_04/cmp/generic
new file mode 100644 (file)
index 0000000..ac35a74
--- /dev/null
@@ -0,0 +1,57 @@
+
+DEAL:1d::FESystem<1>[FE_Q<1>(2)^2-FE_DGQ<1>(1)^2]
+DEAL:1d::FESystem<1>[FE_Q<1>(1)^2-FE_DGQ<1>(2)^2]
+DEAL:1d::Cell 3.4 -- 65 64 73 72 71 70 69 68 67 66 
+DEAL:1d::Cell 3.5 -- 73 72 81 80 79 78 77 76 75 74 
+DEAL:1d::Cell 3.6 -- 81 80 89 88 87 86 85 84 83 82 
+DEAL:1d::Cell 3.7 -- 89 88 97 96 95 94 93 92 91 90 
+DEAL:1d::Cell 4.0 -- 7 6 9 8 5 4 3 2 1 0 
+DEAL:1d::Cell 4.1 -- 9 8 17 16 15 14 13 12 11 10 
+DEAL:1d::Cell 4.2 -- 17 16 25 24 23 22 21 20 19 18 
+DEAL:1d::Cell 4.3 -- 25 24 33 32 31 30 29 28 27 26 
+DEAL:1d::Cell 4.4 -- 33 32 41 40 39 38 37 36 35 34 
+DEAL:1d::Cell 4.5 -- 41 40 49 48 47 46 45 44 43 42 
+DEAL:1d::Cell 4.6 -- 49 48 57 56 55 54 53 52 51 50 
+DEAL:1d::Cell 4.7 -- 57 56 65 64 63 62 61 60 59 58 
+DEAL:2d::FESystem<2>[FE_Q<2>(2)^2-FE_DGQ<2>(1)^2]
+DEAL:2d::FESystem<2>[FE_Q<2>(1)^2-FE_DGQ<2>(2)^2]
+DEAL:2d::Cell 1.1 -- 38 39 174 175 76 77 172 173 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 
+DEAL:2d::Cell 1.2 -- 270 271 76 77 250 251 194 195 82 83 84 85 86 87 196 197 88 89 90 91 92 93 94 95 96 97 
+DEAL:2d::Cell 1.3 -- 76 77 172 173 194 195 154 155 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 
+DEAL:2d::Cell 1.4 -- 272 273 270 271 396 397 394 395 274 275 276 277 278 279 398 399 280 281 282 283 284 285 286 287 288 289 
+DEAL:2d::Cell 1.5 -- 270 271 250 251 394 395 333 332 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 
+DEAL:2d::Cell 1.6 -- 396 397 394 395 438 439 434 435 400 401 402 403 398 399 440 441 404 405 406 407 408 409 410 411 412 413 
+DEAL:2d::Cell 1.7 -- 394 395 333 332 434 435 354 355 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 
+DEAL:2d::Cell 1.8 -- 250 251 194 195 333 332 230 231 198 199 200 201 196 197 212 213 202 203 204 205 206 207 208 209 210 211 
+DEAL:2d::Cell 1.9 -- 194 195 154 155 230 231 290 291 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 
+DEAL:2d::Cell 1.10 -- 333 332 230 231 354 355 352 353 214 215 216 217 212 213 218 219 220 221 222 223 224 225 226 227 228 229 
+DEAL:2d::Cell 1.11 -- 230 231 290 291 352 353 356 357 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 
+DEAL:2d::Cell 1.12 -- 174 175 312 313 172 173 310 311 189 188 187 186 185 184 176 177 181 180 179 178 182 183 190 191 192 193 
+DEAL:2d::Cell 1.13 -- 312 313 416 417 310 311 414 415 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 
+DEAL:2d::Cell 1.14 -- 172 173 310 311 154 155 290 291 156 157 158 159 176 177 160 161 162 163 164 165 166 167 168 169 170 171 
+DEAL:2d::Cell 1.15 -- 310 311 414 415 290 291 356 357 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 
+DEAL:2d::Cell 1.16 -- 438 439 434 435 442 443 436 437 459 446 447 448 440 441 445 444 449 450 451 452 453 454 455 456 457 458 
+DEAL:2d::Cell 1.17 -- 434 435 354 355 436 437 352 353 372 371 370 369 368 367 366 365 364 363 362 361 360 359 358 393 392 391 
+DEAL:2d::Cell 1.18 -- 442 443 436 437 416 417 414 415 418 419 420 421 445 444 422 423 424 425 426 427 428 429 430 431 432 433 
+DEAL:2d::Cell 1.19 -- 436 437 352 353 414 415 356 357 390 389 388 387 386 385 384 383 382 381 380 379 378 377 376 375 374 373 
+DEAL:2d::Cell 2.0 -- 272 273 114 115 116 117 112 113 129 128 127 126 125 124 118 119 121 120 122 123 130 131 132 133 134 135 
+DEAL:2d::Cell 2.1 -- 114 115 38 39 112 113 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 
+DEAL:2d::Cell 2.2 -- 116 117 112 113 270 271 78 79 100 101 102 103 118 119 104 105 106 107 108 109 110 111 99 98 81 80 
+DEAL:2d::Cell 2.3 -- 112 113 18 19 78 79 76 77 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 
+DEAL:3d::FESystem<3>[FE_Q<3>(2)^2-FE_DGQ<3>(1)^2]
+DEAL:3d::FESystem<3>[FE_Q<3>(1)^2-FE_DGQ<3>(2)^2]
+DEAL:3d::Cell 1.1 -- 782 783 556 555 650 651 528 529 588 589 530 531 525 524 526 527 554 553 552 551 550 549 548 547 546 545 532 533 534 535 536 537 538 539 540 541 542 543 544 587 586 585 584 583 582 581 580 579 578 577 576 575 574 573 572 571 570 569 568 567 566 565 564 563 562 561 560 559 558 557 
+DEAL:3d::Cell 1.2 -- 428 429 650 651 252 253 218 219 334 335 525 524 231 230 214 215 254 255 256 257 258 259 260 261 225 224 223 222 216 217 228 229 262 263 264 265 266 267 268 269 270 271 272 273 274 240 239 238 237 236 227 226 235 232 233 234 241 242 243 244 245 246 247 248 249 250 251 305 306 307 
+DEAL:3d::Cell 1.3 -- 650 651 528 529 218 219 308 309 525 524 526 527 214 215 220 221 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 
+DEAL:3d::Cell 1.4 -- 476 477 588 589 334 335 525 524 132 133 98 99 109 108 96 97 134 135 136 137 138 139 216 217 140 141 142 143 144 145 103 102 146 147 148 149 104 105 106 107 150 151 152 153 154 155 111 110 115 114 112 113 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 185 186 
+DEAL:3d::Cell 1.5 -- 588 589 530 531 525 524 526 527 98 99 187 188 96 97 100 101 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 
+DEAL:3d::Cell 1.6 -- 334 335 525 524 231 230 214 215 109 108 96 97 18 17 38 39 225 224 223 222 216 217 228 229 16 15 14 13 103 102 12 11 104 105 106 107 10 9 8 7 6 5 4 3 111 110 2 1 227 226 0 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 
+DEAL:3d::Cell 1.7 -- 525 524 526 527 214 215 220 221 96 97 100 101 38 39 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 
+DEAL:3d::Cell 2.0 -- 746 745 789 788 732 733 778 779 735 734 780 781 715 714 774 775 744 743 742 741 740 739 727 726 725 724 721 720 717 716 712 713 736 737 738 773 728 731 730 729 772 771 770 769 768 767 718 719 766 765 722 723 764 763 762 761 760 759 758 757 756 755 754 753 752 751 750 749 748 747 
+DEAL:3d::Cell 2.1 -- 789 788 782 783 778 779 787 786 780 781 785 784 774 775 777 776 843 808 807 806 805 804 803 802 801 800 799 798 797 796 795 794 793 792 791 790 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 
+DEAL:3d::Cell 2.2 -- 732 733 778 779 428 429 654 655 715 714 774 775 439 438 652 653 445 444 443 442 727 726 441 440 437 436 435 434 712 713 433 432 728 731 730 729 446 447 448 449 450 451 452 475 718 719 474 473 472 471 430 431 470 469 468 467 466 465 464 463 462 461 460 459 458 457 456 455 454 453 
+DEAL:3d::Cell 2.3 -- 778 779 787 786 654 655 650 651 774 775 777 776 652 653 656 657 680 679 678 677 676 675 674 673 672 671 670 658 659 660 661 662 663 664 665 666 667 668 669 711 710 709 708 707 706 705 704 703 702 701 700 699 698 697 696 695 694 693 692 691 690 689 688 687 686 685 684 683 682 681 
+DEAL:3d::Cell 2.4 -- 735 734 780 781 715 714 774 775 476 477 592 593 478 479 590 591 725 724 721 720 717 716 712 713 500 499 498 497 496 495 483 484 494 493 492 491 487 486 485 482 490 489 488 523 522 521 480 481 722 723 520 519 518 517 516 515 514 513 512 511 510 509 508 507 506 505 504 503 502 501 
+DEAL:3d::Cell 2.5 -- 780 781 785 784 774 775 777 776 592 593 588 589 590 591 594 595 618 617 616 615 614 613 612 611 610 609 608 596 597 598 599 600 601 602 603 604 605 606 607 649 648 647 646 645 644 643 642 641 640 639 638 637 636 635 634 633 632 631 630 629 628 627 626 625 624 623 622 621 620 619 
+DEAL:3d::Cell 2.6 -- 715 714 774 775 439 438 652 653 478 479 590 591 334 335 372 373 437 436 435 434 712 713 433 432 352 351 350 349 483 484 348 347 487 486 485 482 346 345 344 343 342 341 340 339 480 481 338 337 430 431 336 371 370 369 368 367 366 365 364 363 362 361 360 359 358 357 356 355 354 353 
+DEAL:3d::Cell 2.7 -- 774 775 777 776 652 653 656 657 590 591 594 595 372 373 525 524 399 398 397 396 395 394 393 392 391 390 389 388 387 386 385 384 383 382 381 380 379 378 377 376 375 374 427 426 425 424 423 422 421 420 419 418 417 416 415 414 413 412 411 410 409 408 407 406 405 404 403 402 401 400 
diff --git a/tests/hp/dof_renumbering_05.cc b/tests/hp/dof_renumbering_05.cc
new file mode 100644 (file)
index 0000000..d997ad6
--- /dev/null
@@ -0,0 +1,129 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2000, 2001, 2003, 2004, 2007, 2008, 2009 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.
+//
+//----------------------------------------------------------------------
+
+// Check DoFRenumbering::boost::king_ordering
+
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <base/function_lib.h>
+#include <lac/vector.h>
+#include <grid/tria.h>
+#include <grid/tria_iterator.h>
+#include <grid/grid_generator.h>
+#include <dofs/dof_accessor.h>
+#include <dofs/dof_handler.h>
+#include <dofs/dof_renumbering.h>
+#include <multigrid/mg_dof_accessor.h>
+#include <multigrid/mg_dof_handler.h>
+#include <fe/fe_q.h>
+#include <fe/fe_dgq.h>
+#include <fe/fe_dgp.h>
+#include <fe/fe_system.h>
+#include <fe/fe_values.h>
+
+#include <fstream>
+
+
+
+template <int dim>
+void
+print_dofs (const hp::DoFHandler<dim> &dof)
+{
+  std::vector<unsigned int> v;
+  for (typename hp::DoFHandler<dim>::active_cell_iterator cell=dof.begin_active();
+       cell != dof.end(); ++cell)
+    {
+      v.resize (cell->get_fe().dofs_per_cell);
+      deallog << "Cell " << cell << " -- ";
+      cell->get_dof_indices (v);
+      for (unsigned int i=0; i<v.size(); ++i)
+       deallog << v[i] << ' ';
+      deallog << std::endl;
+    }
+}
+
+
+
+template <int dim>
+void
+check_renumbering(hp::DoFHandler<dim>& dof)
+{
+  for (unsigned int i=0; i<dof.get_fe().size(); ++i)
+    {
+      const FiniteElement<dim>& element = dof.get_fe()[i];
+      deallog << element.get_name() << std::endl;
+    }
+
+  DoFRenumbering::boost::king_ordering(dof);
+  print_dofs (dof);
+}
+
+
+template <int dim>
+void
+check ()
+{
+  Triangulation<dim> tr;
+  if (dim==2)
+    GridGenerator::hyper_ball(tr, Point<dim>(), 1);
+  else
+    GridGenerator::hyper_cube(tr, -1,1);
+  tr.refine_global (1);
+  tr.begin_active()->set_refine_flag ();
+  tr.execute_coarsening_and_refinement ();
+  if (dim==1)
+    tr.refine_global(2);
+
+  hp::DoFHandler<dim> dof(tr);
+  {
+    bool coin = false;
+    for (typename hp::DoFHandler<dim>::active_cell_iterator cell=dof.begin_active();
+        cell != dof.end(); ++cell)
+      {
+       cell->set_active_fe_index (coin ? 0 : 1);
+       coin = !coin;
+      }
+  }
+
+  FESystem<dim> e1 (FE_Q<dim>(2), 2, FE_DGQ<dim>(1), 2);
+  FESystem<dim> e2 (FE_Q<dim>(1), 2, FE_DGQ<dim>(2), 2);
+
+  hp::FECollection<dim> fe_collection;
+  fe_collection.push_back (e1);
+  fe_collection.push_back (e2);
+
+  dof.distribute_dofs(fe_collection);
+  check_renumbering(dof);
+  dof.clear();
+}
+
+
+int main ()
+{
+  std::ofstream logfile ("dof_renumbering_05/output");
+  deallog << std::setprecision (2);
+  deallog << std::fixed;
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+
+  deallog.push ("1d");
+  check<1> ();
+  deallog.pop ();
+  deallog.push ("2d");
+  check<2> ();
+  deallog.pop ();
+  deallog.push ("3d");
+  check<3> ();
+  deallog.pop ();
+}
diff --git a/tests/hp/dof_renumbering_05/cmp/generic b/tests/hp/dof_renumbering_05/cmp/generic
new file mode 100644 (file)
index 0000000..02c1b3a
--- /dev/null
@@ -0,0 +1,57 @@
+
+DEAL:1d::FESystem<1>[FE_Q<1>(2)^2-FE_DGQ<1>(1)^2]
+DEAL:1d::FESystem<1>[FE_Q<1>(1)^2-FE_DGQ<1>(2)^2]
+DEAL:1d::Cell 3.4 -- 67 65 74 73 70 71 68 66 64 69 
+DEAL:1d::Cell 3.5 -- 74 73 82 81 79 78 77 76 72 75 
+DEAL:1d::Cell 3.6 -- 82 81 89 90 87 86 85 84 80 83 
+DEAL:1d::Cell 3.7 -- 89 90 97 96 95 94 93 92 88 91 
+DEAL:1d::Cell 4.0 -- 6 7 10 9 5 2 3 4 0 1 
+DEAL:1d::Cell 4.1 -- 10 9 18 17 15 14 13 12 8 11 
+DEAL:1d::Cell 4.2 -- 18 17 26 25 23 22 21 20 16 19 
+DEAL:1d::Cell 4.3 -- 26 25 34 33 31 30 29 28 24 27 
+DEAL:1d::Cell 4.4 -- 34 33 42 41 39 38 37 36 32 35 
+DEAL:1d::Cell 4.5 -- 42 41 50 49 47 46 45 44 40 43 
+DEAL:1d::Cell 4.6 -- 50 49 58 57 55 54 53 52 48 51 
+DEAL:1d::Cell 4.7 -- 58 57 67 65 63 62 61 60 56 59 
+DEAL:2d::FESystem<2>[FE_Q<2>(2)^2-FE_DGQ<2>(1)^2]
+DEAL:2d::FESystem<2>[FE_Q<2>(1)^2-FE_DGQ<2>(2)^2]
+DEAL:2d::Cell 1.1 -- 38 41 181 175 113 110 180 172 56 55 40 57 54 51 42 44 52 45 53 50 49 47 48 39 46 43 
+DEAL:2d::Cell 1.2 -- 241 239 113 110 212 215 199 198 134 133 102 101 111 100 202 197 109 108 124 135 132 131 95 98 105 104 
+DEAL:2d::Cell 1.3 -- 113 110 180 172 199 198 159 161 74 73 60 75 71 70 69 72 58 65 64 68 62 66 61 59 67 63 
+DEAL:2d::Cell 1.4 -- 234 237 241 239 362 360 359 350 250 251 248 247 245 249 351 365 236 238 246 244 242 232 235 243 240 233 
+DEAL:2d::Cell 1.5 -- 241 239 212 215 359 350 353 358 230 229 214 231 228 225 216 218 226 219 227 224 223 221 222 213 220 217 
+DEAL:2d::Cell 1.6 -- 362 360 359 350 444 441 440 447 370 339 338 371 351 365 439 435 369 368 333 336 343 342 354 367 366 334 
+DEAL:2d::Cell 1.7 -- 359 350 353 358 440 447 385 379 335 344 348 347 363 337 332 357 355 341 340 349 364 345 356 352 346 361 
+DEAL:2d::Cell 1.8 -- 212 215 199 198 353 358 270 273 211 210 209 208 202 197 257 259 207 206 200 204 205 194 201 203 195 196 
+DEAL:2d::Cell 1.9 -- 199 198 159 161 270 273 290 293 152 151 138 153 149 148 147 150 136 143 142 146 140 144 139 137 145 141 
+DEAL:2d::Cell 1.10 -- 353 358 270 273 385 379 373 377 268 269 266 265 257 259 264 267 252 258 262 261 256 260 254 253 255 263 
+DEAL:2d::Cell 1.11 -- 270 273 290 293 373 377 408 381 288 287 272 289 286 283 274 276 284 277 285 282 281 279 280 271 278 275 
+DEAL:2d::Cell 1.12 -- 181 175 319 318 180 172 310 313 192 191 174 193 190 189 182 186 178 179 187 188 176 183 173 184 177 185 
+DEAL:2d::Cell 1.13 -- 319 318 423 416 310 313 421 419 330 329 312 331 327 326 324 316 328 317 325 323 314 320 321 322 315 311 
+DEAL:2d::Cell 1.14 -- 180 172 310 313 159 161 290 293 170 171 168 167 182 186 166 169 154 160 164 163 158 162 156 155 157 165 
+DEAL:2d::Cell 1.15 -- 310 313 421 419 290 293 408 381 308 307 292 309 306 303 294 296 304 297 305 302 301 299 300 291 298 295 
+DEAL:2d::Cell 1.16 -- 444 441 440 447 451 450 449 448 459 458 457 455 439 435 445 443 456 454 434 453 438 437 436 446 442 452 
+DEAL:2d::Cell 1.17 -- 440 447 385 379 449 448 373 377 412 411 410 409 378 413 407 402 399 398 383 396 376 387 406 405 401 404 
+DEAL:2d::Cell 1.18 -- 451 450 449 448 423 416 421 419 432 433 430 429 445 443 427 431 418 420 428 426 424 414 417 425 422 415 
+DEAL:2d::Cell 1.19 -- 449 448 373 377 421 419 408 381 388 403 386 382 384 394 395 390 372 391 380 393 397 392 374 400 375 389 
+DEAL:2d::Cell 2.0 -- 234 237 81 83 112 115 114 128 92 93 90 89 88 91 121 122 76 82 86 85 80 84 78 77 79 87 
+DEAL:2d::Cell 2.1 -- 81 83 38 41 114 128 18 21 16 15 2 17 13 12 11 14 0 7 6 10 4 8 3 1 9 5 
+DEAL:2d::Cell 2.2 -- 112 115 114 128 241 239 129 127 125 99 106 119 121 122 117 116 94 96 126 107 118 97 130 123 103 120 
+DEAL:2d::Cell 2.3 -- 114 128 18 21 129 127 113 110 36 35 20 37 34 31 22 24 32 25 33 30 29 27 28 19 26 23 
+DEAL:3d::FESystem<3>[FE_Q<3>(2)^2-FE_DGQ<3>(1)^2]
+DEAL:3d::FESystem<3>[FE_Q<3>(1)^2-FE_DGQ<3>(2)^2]
+DEAL:3d::Cell 1.1 -- 822 804 395 394 717 713 364 339 655 651 361 360 585 520 363 347 392 338 345 344 357 356 380 393 390 334 343 337 353 342 352 391 336 341 368 354 349 350 340 372 389 388 387 384 358 382 381 376 377 374 373 351 369 366 348 362 385 359 383 355 375 370 367 365 386 378 371 346 379 335 
+DEAL:3d::Cell 1.2 -- 508 528 717 713 332 328 276 329 524 635 585 520 243 327 326 275 325 323 263 267 266 239 265 262 227 269 270 313 312 311 310 309 261 331 214 292 258 222 217 240 226 299 223 297 296 232 295 293 253 330 290 289 228 221 287 230 248 294 244 229 246 291 279 247 245 333 264 321 271 241 
+DEAL:3d::Cell 1.3 -- 717 713 364 339 276 329 302 268 585 520 363 347 326 275 324 274 319 318 317 301 218 224 308 235 305 225 257 256 233 252 280 285 250 284 249 281 234 216 220 300 242 236 219 320 316 237 260 304 303 298 254 288 286 282 278 273 277 238 215 259 255 231 283 272 322 306 251 315 307 314 
+DEAL:3d::Cell 1.4 -- 419 518 655 651 524 635 585 520 212 210 185 201 125 150 156 205 209 208 167 135 157 146 312 311 198 136 118 144 194 143 192 191 145 211 96 140 186 139 184 183 104 138 137 97 178 99 176 175 114 126 132 98 170 168 169 121 133 127 129 102 111 160 161 159 158 213 207 123 206 108 
+DEAL:3d::Cell 1.5 -- 655 651 361 360 585 520 363 347 185 201 149 171 156 205 154 142 107 147 199 120 195 119 190 148 134 105 116 163 179 115 174 112 100 130 166 117 162 103 110 204 122 101 151 152 200 196 193 141 182 180 177 172 131 164 128 153 106 202 197 188 181 173 165 109 203 187 113 124 189 155 
+DEAL:3d::Cell 1.6 -- 524 635 585 520 243 327 326 275 125 150 156 205 94 93 77 76 227 269 270 313 312 311 310 309 58 62 71 70 192 191 86 95 186 139 184 183 91 89 68 88 84 85 83 92 176 175 78 74 290 289 63 72 90 66 87 82 57 80 79 56 59 73 67 60 81 64 75 61 65 69 
+DEAL:3d::Cell 1.7 -- 585 520 363 347 326 275 324 274 156 205 154 142 77 76 54 52 4 11 24 10 23 22 46 53 3 9 20 8 19 18 38 0 2 7 34 16 15 6 14 55 49 26 50 25 51 48 47 42 43 40 39 17 35 32 31 27 1 28 29 21 41 36 33 5 30 44 37 12 45 13 
+DEAL:3d::Cell 2.0 -- 622 516 805 778 514 515 779 802 636 454 787 785 634 633 803 827 453 631 630 629 628 627 626 625 624 509 513 439 620 619 618 594 616 448 504 617 612 611 610 609 447 501 500 446 499 498 423 420 449 400 598 597 444 495 494 418 443 492 493 442 491 587 490 485 441 583 488 582 580 489 
+DEAL:3d::Cell 2.1 -- 805 778 822 804 779 802 831 830 787 785 829 828 803 827 799 826 843 841 839 837 784 796 820 840 774 777 783 782 793 792 812 838 776 781 808 794 789 790 780 842 835 836 786 798 825 797 821 816 817 814 813 791 809 806 788 834 801 824 823 795 815 810 807 800 832 818 811 775 819 833 
+DEAL:3d::Cell 2.2 -- 514 515 779 802 508 528 743 740 634 633 803 827 506 577 742 741 437 460 404 415 626 625 483 438 570 569 568 567 618 594 566 565 612 611 610 609 564 563 562 561 477 559 476 557 423 420 475 555 474 413 552 551 433 549 471 547 546 545 469 543 468 541 467 539 466 537 465 535 464 462 
+DEAL:3d::Cell 2.3 -- 779 802 831 830 743 740 717 713 803 827 799 826 742 741 725 757 772 770 716 722 735 734 758 771 768 712 721 715 731 720 730 769 714 719 728 750 718 746 727 773 767 766 724 736 763 760 759 754 732 752 751 729 747 744 726 723 739 737 761 755 753 748 745 738 764 756 749 765 733 762 
+DEAL:3d::Cell 2.4 -- 636 454 787 785 634 633 803 827 419 518 681 678 532 531 680 679 624 509 513 439 620 619 618 594 507 533 521 526 527 431 525 523 429 638 422 409 406 519 639 637 424 452 512 511 510 450 623 621 598 597 451 615 614 613 584 407 421 604 601 445 599 596 595 592 590 588 586 484 399 432 
+DEAL:3d::Cell 2.5 -- 787 785 829 828 803 827 799 826 681 678 655 651 680 679 663 695 710 708 654 660 673 672 696 709 706 650 659 653 669 658 668 707 652 657 666 688 656 684 665 711 705 704 662 674 701 698 697 692 670 690 689 667 685 682 664 661 677 675 699 693 691 686 683 676 702 694 687 703 671 700 
+DEAL:3d::Cell 2.6 -- 634 633 803 827 506 577 742 741 532 531 680 679 524 635 579 576 570 569 568 567 618 594 566 565 502 572 571 496 525 523 402 479 406 519 639 637 478 560 558 556 554 553 550 548 623 621 470 544 552 551 542 540 538 536 534 428 463 410 426 398 411 425 456 455 517 632 401 408 529 505 
+DEAL:3d::Cell 2.7 -- 803 827 799 826 742 741 725 757 680 679 663 695 579 576 585 520 648 646 606 497 405 591 589 647 644 440 578 487 573 574 427 645 575 417 458 414 396 461 403 649 643 642 602 607 608 397 593 482 434 436 435 473 412 530 522 457 605 416 600 480 481 472 459 603 503 486 430 641 581 640 
diff --git a/tests/hp/dof_renumbering_06.cc b/tests/hp/dof_renumbering_06.cc
new file mode 100644 (file)
index 0000000..6607cfe
--- /dev/null
@@ -0,0 +1,129 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2000, 2001, 2003, 2004, 2007, 2008, 2009 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.
+//
+//----------------------------------------------------------------------
+
+// Check DoFRenumbering::boost::minimum_degree
+
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <base/function_lib.h>
+#include <lac/vector.h>
+#include <grid/tria.h>
+#include <grid/tria_iterator.h>
+#include <grid/grid_generator.h>
+#include <dofs/dof_accessor.h>
+#include <dofs/dof_handler.h>
+#include <dofs/dof_renumbering.h>
+#include <multigrid/mg_dof_accessor.h>
+#include <multigrid/mg_dof_handler.h>
+#include <fe/fe_q.h>
+#include <fe/fe_dgq.h>
+#include <fe/fe_dgp.h>
+#include <fe/fe_system.h>
+#include <fe/fe_values.h>
+
+#include <fstream>
+
+
+
+template <int dim>
+void
+print_dofs (const hp::DoFHandler<dim> &dof)
+{
+  std::vector<unsigned int> v;
+  for (typename hp::DoFHandler<dim>::active_cell_iterator cell=dof.begin_active();
+       cell != dof.end(); ++cell)
+    {
+      v.resize (cell->get_fe().dofs_per_cell);
+      deallog << "Cell " << cell << " -- ";
+      cell->get_dof_indices (v);
+      for (unsigned int i=0; i<v.size(); ++i)
+       deallog << v[i] << ' ';
+      deallog << std::endl;
+    }
+}
+
+
+
+template <int dim>
+void
+check_renumbering(hp::DoFHandler<dim>& dof)
+{
+  for (unsigned int i=0; i<dof.get_fe().size(); ++i)
+    {
+      const FiniteElement<dim>& element = dof.get_fe()[i];
+      deallog << element.get_name() << std::endl;
+    }
+
+  DoFRenumbering::boost::minimum_degree(dof);
+  print_dofs (dof);
+}
+
+
+template <int dim>
+void
+check ()
+{
+  Triangulation<dim> tr;
+  if (dim==2)
+    GridGenerator::hyper_ball(tr, Point<dim>(), 1);
+  else
+    GridGenerator::hyper_cube(tr, -1,1);
+  tr.refine_global (1);
+  tr.begin_active()->set_refine_flag ();
+  tr.execute_coarsening_and_refinement ();
+  if (dim==1)
+    tr.refine_global(2);
+
+  hp::DoFHandler<dim> dof(tr);
+  {
+    bool coin = false;
+    for (typename hp::DoFHandler<dim>::active_cell_iterator cell=dof.begin_active();
+        cell != dof.end(); ++cell)
+      {
+       cell->set_active_fe_index (coin ? 0 : 1);
+       coin = !coin;
+      }
+  }
+
+  FESystem<dim> e1 (FE_Q<dim>(2), 2, FE_DGQ<dim>(1), 2);
+  FESystem<dim> e2 (FE_Q<dim>(1), 2, FE_DGQ<dim>(2), 2);
+
+  hp::FECollection<dim> fe_collection;
+  fe_collection.push_back (e1);
+  fe_collection.push_back (e2);
+
+  dof.distribute_dofs(fe_collection);
+  check_renumbering(dof);
+  dof.clear();
+}
+
+
+int main ()
+{
+  std::ofstream logfile ("dof_renumbering_06/output");
+  deallog << std::setprecision (2);
+  deallog << std::fixed;
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+
+  deallog.push ("1d");
+  check<1> ();
+  deallog.pop ();
+  deallog.push ("2d");
+  check<2> ();
+  deallog.pop ();
+  deallog.push ("3d");
+  check<3> ();
+  deallog.pop ();
+}
diff --git a/tests/hp/dof_renumbering_06/cmp/generic b/tests/hp/dof_renumbering_06/cmp/generic
new file mode 100644 (file)
index 0000000..a6430dd
--- /dev/null
@@ -0,0 +1,57 @@
+
+DEAL:1d::FESystem<1>[FE_Q<1>(2)^2-FE_DGQ<1>(1)^2]
+DEAL:1d::FESystem<1>[FE_Q<1>(1)^2-FE_DGQ<1>(2)^2]
+DEAL:1d::Cell 3.4 -- 91 90 87 86 71 72 73 74 75 70 
+DEAL:1d::Cell 3.5 -- 87 86 83 82 65 66 67 68 69 64 
+DEAL:1d::Cell 3.6 -- 83 82 79 78 59 60 61 62 63 58 
+DEAL:1d::Cell 3.7 -- 79 78 51 52 53 54 55 56 57 50 
+DEAL:1d::Cell 4.0 -- 43 44 77 76 45 46 47 48 49 42 
+DEAL:1d::Cell 4.1 -- 77 76 81 80 37 38 39 40 41 36 
+DEAL:1d::Cell 4.2 -- 81 80 85 84 31 32 33 34 35 30 
+DEAL:1d::Cell 4.3 -- 85 84 89 88 25 26 27 28 29 24 
+DEAL:1d::Cell 4.4 -- 89 88 93 92 19 20 21 22 23 18 
+DEAL:1d::Cell 4.5 -- 93 92 97 96 13 14 15 16 17 12 
+DEAL:1d::Cell 4.6 -- 97 96 95 94 7 8 9 10 11 6 
+DEAL:1d::Cell 4.7 -- 95 94 91 90 1 2 3 4 5 0 
+DEAL:2d::FESystem<2>[FE_Q<2>(2)^2-FE_DGQ<2>(1)^2]
+DEAL:2d::FESystem<2>[FE_Q<2>(1)^2-FE_DGQ<2>(2)^2]
+DEAL:2d::Cell 1.1 -- 399 398 433 432 443 440 439 438 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 368 
+DEAL:2d::Cell 1.2 -- 441 442 443 440 423 422 453 454 353 354 355 356 357 358 421 420 359 360 361 362 363 364 365 366 367 352 
+DEAL:2d::Cell 1.3 -- 443 440 439 438 453 454 456 457 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 334 
+DEAL:2d::Cell 1.4 -- 444 445 441 442 407 408 429 430 319 320 321 322 323 324 409 406 325 326 327 328 329 330 331 332 333 318 
+DEAL:2d::Cell 1.5 -- 441 442 423 422 429 430 425 424 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 300 
+DEAL:2d::Cell 1.6 -- 407 408 429 430 415 416 431 428 287 288 289 290 409 406 417 414 291 292 293 294 295 296 297 298 299 286 
+DEAL:2d::Cell 1.7 -- 429 430 425 424 431 428 427 426 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 268 
+DEAL:2d::Cell 1.8 -- 423 422 453 454 425 424 455 452 255 256 257 258 421 420 419 418 259 260 261 262 263 264 265 266 267 254 
+DEAL:2d::Cell 1.9 -- 453 454 456 457 455 452 458 459 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 236 
+DEAL:2d::Cell 1.10 -- 425 424 455 452 427 426 435 436 221 222 223 224 419 418 225 226 227 228 229 230 231 232 233 234 235 220 
+DEAL:2d::Cell 1.11 -- 455 452 458 459 435 436 410 411 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 202 
+DEAL:2d::Cell 1.12 -- 433 432 405 404 439 438 446 447 187 188 189 190 191 192 413 412 193 194 195 196 197 198 199 200 201 186 
+DEAL:2d::Cell 1.13 -- 405 404 448 449 446 447 450 451 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 168 
+DEAL:2d::Cell 1.14 -- 439 438 446 447 456 457 458 459 153 154 155 156 413 412 157 158 159 160 161 162 163 164 165 166 167 152 
+DEAL:2d::Cell 1.15 -- 446 447 450 451 458 459 410 411 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 134 
+DEAL:2d::Cell 1.16 -- 415 416 431 428 401 402 437 434 121 122 123 124 417 414 403 400 125 126 127 128 129 130 131 132 133 120 
+DEAL:2d::Cell 1.17 -- 431 428 427 426 437 434 435 436 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 102 
+DEAL:2d::Cell 1.18 -- 401 402 437 434 448 449 450 451 87 88 89 90 403 400 91 92 93 94 95 96 97 98 99 100 101 86 
+DEAL:2d::Cell 1.19 -- 437 434 435 436 450 451 410 411 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 68 
+DEAL:2d::Cell 2.0 -- 444 445 393 394 389 390 395 396 53 54 55 56 57 58 391 388 59 60 61 62 63 64 65 66 67 52 
+DEAL:2d::Cell 2.1 -- 393 394 399 398 395 396 387 386 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 34 
+DEAL:2d::Cell 2.2 -- 389 390 395 396 441 442 397 392 19 20 21 22 391 388 23 24 25 26 27 28 29 30 31 32 33 18 
+DEAL:2d::Cell 2.3 -- 395 396 387 386 397 392 443 440 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 
+DEAL:3d::FESystem<3>[FE_Q<3>(2)^2-FE_DGQ<3>(1)^2]
+DEAL:3d::FESystem<3>[FE_Q<3>(1)^2-FE_DGQ<3>(2)^2]
+DEAL:3d::Cell 1.1 -- 769 768 661 662 770 771 719 718 774 775 721 722 772 773 723 724 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 660 
+DEAL:3d::Cell 1.2 -- 787 788 770 771 615 616 759 758 805 806 772 773 747 748 760 761 617 618 619 620 621 622 623 624 749 750 751 752 753 754 755 756 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 757 746 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 614 
+DEAL:3d::Cell 1.3 -- 770 771 719 718 759 758 559 560 772 773 723 724 760 761 725 720 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 558 
+DEAL:3d::Cell 1.4 -- 807 808 774 775 805 806 772 773 513 514 762 763 737 738 764 765 515 516 517 518 519 520 753 754 521 522 523 524 525 526 739 740 527 528 529 530 741 742 743 744 531 532 533 534 535 536 745 736 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 512 
+DEAL:3d::Cell 1.5 -- 774 775 721 722 772 773 723 724 762 763 457 458 764 765 717 716 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 456 
+DEAL:3d::Cell 1.6 -- 805 806 772 773 747 748 760 761 737 738 764 765 419 420 766 767 749 750 751 752 753 754 755 756 421 422 423 424 739 740 425 426 741 742 743 744 427 428 429 430 431 432 433 434 745 736 435 436 757 746 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 418 
+DEAL:3d::Cell 1.7 -- 772 773 723 724 760 761 725 720 764 765 717 716 766 767 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 362 
+DEAL:3d::Cell 2.0 -- 325 326 789 790 777 778 791 792 809 810 811 812 813 814 815 816 327 328 329 330 331 332 779 780 817 818 819 820 821 822 823 824 333 334 335 336 781 782 783 784 337 338 339 340 341 342 785 776 343 344 825 826 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 324 
+DEAL:3d::Cell 2.1 -- 789 790 769 768 791 792 729 728 811 812 731 732 815 816 733 734 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 270 
+DEAL:3d::Cell 2.2 -- 777 778 791 792 787 788 793 786 813 814 815 816 827 828 829 830 235 236 237 238 779 780 239 240 831 832 833 834 823 824 835 836 781 782 783 784 241 242 243 244 245 246 247 248 785 776 249 250 251 252 837 804 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 234 
+DEAL:3d::Cell 2.3 -- 791 792 729 728 793 786 770 771 815 816 733 734 829 830 735 730 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 180 
+DEAL:3d::Cell 2.4 -- 809 810 811 812 813 814 815 816 807 808 838 839 795 796 840 841 817 818 819 820 821 822 823 824 145 146 147 148 149 150 797 798 151 152 153 154 799 800 801 802 155 156 157 158 159 160 803 794 825 826 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 144 
+DEAL:3d::Cell 2.5 -- 811 812 731 732 815 816 733 734 838 839 774 775 840 841 727 726 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 90 
+DEAL:3d::Cell 2.6 -- 813 814 815 816 827 828 829 830 795 796 840 841 805 806 842 843 831 832 833 834 823 824 835 836 55 56 57 58 797 798 59 60 799 800 801 802 61 62 63 64 65 66 67 68 803 794 69 70 837 804 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 54 
+DEAL:3d::Cell 2.7 -- 815 816 733 734 829 830 735 730 840 841 727 726 842 843 772 773 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 0 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.