]> https://gitweb.dealii.org/ - dealii.git/commitdiff
tests for mg set_cell_selection
authorTimo Heister <timo.heister@gmail.com>
Thu, 9 Jan 2020 21:51:11 +0000 (16:51 -0500)
committerTimo Heister <timo.heister@gmail.com>
Fri, 31 Jan 2020 15:24:38 +0000 (10:24 -0500)
- implement DataOut::get_cell_selection
- add tests to check using set_cell_selection with non-active tests

Basis for of #9100

include/deal.II/numerics/data_out.h
source/numerics/data_out.cc
tests/multigrid/mg_data_out_01.cc [new file with mode: 0644]
tests/multigrid/mg_data_out_01.output [new file with mode: 0644]
tests/multigrid/mg_data_out_02.cc [new file with mode: 0644]
tests/multigrid/mg_data_out_02.with_p4est=true.mpirun=2.output [new file with mode: 0644]
tests/multigrid/mg_data_out_02.with_p4est=true.mpirun=3.output [new file with mode: 0644]

index ca42bff63767bfa8ab3dbfe0c9145be98814b90e..e0bf0f35028e958dfc5cca454e3dbbf6ab0bb080 100644 (file)
@@ -164,6 +164,21 @@ public:
                              DoFHandlerType::dimension,
                              DoFHandlerType::space_dimension>::cell_iterator;
 
+  /**
+   * The type of the function object returning the first cell as used in
+   * set_cell_selection().
+   */
+  using FirstCellFunctionType =
+    typename std::function<cell_iterator(const Triangulation<dim, spacedim> &)>;
+
+  /**
+   * The type of the function object returning the next cell as used in
+   * set_cell_selection().
+   */
+  using NextCellFunctionType =
+    typename std::function<cell_iterator(const Triangulation<dim, spacedim> &,
+                                         const cell_iterator &)>;
+
   /**
    * Enumeration describing the part of the domain in which cells
    * should be written with curved boundaries. In reality, no file
@@ -400,6 +415,13 @@ public:
   void
   set_cell_selection(const FilteredIterator<cell_iterator> &filtered_iterator);
 
+  /**
+   * Return the two function objects that are in use for determining the first
+   * and the next cell as set by set_cell_selection().
+   */
+  const std::pair<FirstCellFunctionType, NextCellFunctionType>
+  get_cell_selection() const;
+
   /**
    * Return the first cell which we want output for. The default
    * implementation returns the first active cell, but you might want to
index a0c2078104a8e88312482df8a55c40b0028ca35b..38f34d08e746cfbf7b9091194293d550db26d853 100644 (file)
@@ -1107,6 +1107,16 @@ DataOut<dim, DoFHandlerType>::set_cell_selection(
 
 
 
+template <int dim, typename DoFHandlerType>
+const std::pair<typename DataOut<dim, DoFHandlerType>::FirstCellFunctionType,
+                typename DataOut<dim, DoFHandlerType>::NextCellFunctionType>
+DataOut<dim, DoFHandlerType>::get_cell_selection() const
+{
+  return std::make_pair(first_cell_function, next_cell_function);
+}
+
+
+
 template <int dim, typename DoFHandlerType>
 typename DataOut<dim, DoFHandlerType>::cell_iterator
 DataOut<dim, DoFHandlerType>::first_cell()
diff --git a/tests/multigrid/mg_data_out_01.cc b/tests/multigrid/mg_data_out_01.cc
new file mode 100644 (file)
index 0000000..4606649
--- /dev/null
@@ -0,0 +1,99 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2006 - 2016 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// Test sequential DataOut::set_cell_selection for multilevel cells
+
+#include <deal.II/dofs/dof_handler.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+
+#include <deal.II/numerics/data_out.h>
+
+#include "../tests.h"
+
+using namespace dealii;
+
+template <int dim>
+void
+print(DataOut<dim> &data_out, const Triangulation<dim> &tria)
+{
+  auto &p = data_out.get_cell_selection();
+
+  for (auto cell = p.first(tria); cell.state() == IteratorState::valid;
+       cell      = p.second(tria, cell))
+    {
+      deallog << " cell lvl=" << cell->level() << " active=" << cell->active()
+              << " id=" << cell->id().to_string() << std::endl;
+    }
+}
+
+template <int dim>
+void
+do_test()
+{
+  Triangulation<dim> triangulation(
+    Triangulation<dim>::limit_level_difference_at_vertices);
+  GridGenerator::hyper_cube(triangulation);
+  triangulation.refine_global(1);
+  triangulation.begin_active()->set_refine_flag();
+  triangulation.execute_coarsening_and_refinement();
+
+  deallog << "dim= " << dim << " cells=" << triangulation.n_cells()
+          << std::endl;
+
+  DataOut<dim> data_out;
+  data_out.attach_triangulation(triangulation);
+  deallog << "* default:" << std::endl;
+  print(data_out, triangulation);
+
+  deallog << "* all cells:" << std::endl;
+  data_out.set_cell_selection(
+    [](const typename Triangulation<dim>::cell_iterator &cell) {
+      return true;
+    });
+  print(data_out, triangulation);
+
+  deallog << "* all cells with level <=1:" << std::endl;
+  data_out.set_cell_selection(
+    [](const typename Triangulation<dim>::cell_iterator &cell) {
+      return (cell->level() <= 1);
+    });
+  print(data_out, triangulation);
+
+  for (unsigned int level = 0; level < triangulation.n_levels(); ++level)
+    {
+      deallog << "* LevelEqualTo " << level << std::endl;
+      DataOut<dim> data_out;
+      data_out.attach_triangulation(triangulation);
+
+      data_out.set_cell_selection(IteratorFilters::LevelEqualTo(level));
+      print(data_out, triangulation);
+    }
+}
+
+
+int
+main(int argc, char **argv)
+{
+  Utilities::MPI::MPI_InitFinalize mpi(argc, argv, 1);
+  mpi_initlog();
+
+  do_test<2>();
+  do_test<3>();
+  return 0;
+}
diff --git a/tests/multigrid/mg_data_out_01.output b/tests/multigrid/mg_data_out_01.output
new file mode 100644 (file)
index 0000000..f489bb7
--- /dev/null
@@ -0,0 +1,103 @@
+
+DEAL::dim= 2 cells=9
+DEAL::* default:
+DEAL:: cell lvl=1 active=1 id=0_1:1
+DEAL:: cell lvl=1 active=1 id=0_1:2
+DEAL:: cell lvl=1 active=1 id=0_1:3
+DEAL:: cell lvl=2 active=1 id=0_2:00
+DEAL:: cell lvl=2 active=1 id=0_2:01
+DEAL:: cell lvl=2 active=1 id=0_2:02
+DEAL:: cell lvl=2 active=1 id=0_2:03
+DEAL::* all cells:
+DEAL:: cell lvl=0 active=0 id=0_0:
+DEAL:: cell lvl=1 active=0 id=0_1:0
+DEAL:: cell lvl=1 active=1 id=0_1:1
+DEAL:: cell lvl=1 active=1 id=0_1:2
+DEAL:: cell lvl=1 active=1 id=0_1:3
+DEAL:: cell lvl=2 active=1 id=0_2:00
+DEAL:: cell lvl=2 active=1 id=0_2:01
+DEAL:: cell lvl=2 active=1 id=0_2:02
+DEAL:: cell lvl=2 active=1 id=0_2:03
+DEAL::* all cells with level <=1:
+DEAL:: cell lvl=0 active=0 id=0_0:
+DEAL:: cell lvl=1 active=0 id=0_1:0
+DEAL:: cell lvl=1 active=1 id=0_1:1
+DEAL:: cell lvl=1 active=1 id=0_1:2
+DEAL:: cell lvl=1 active=1 id=0_1:3
+DEAL::* LevelEqualTo 0
+DEAL:: cell lvl=0 active=0 id=0_0:
+DEAL::* LevelEqualTo 1
+DEAL:: cell lvl=1 active=0 id=0_1:0
+DEAL:: cell lvl=1 active=1 id=0_1:1
+DEAL:: cell lvl=1 active=1 id=0_1:2
+DEAL:: cell lvl=1 active=1 id=0_1:3
+DEAL::* LevelEqualTo 2
+DEAL:: cell lvl=2 active=1 id=0_2:00
+DEAL:: cell lvl=2 active=1 id=0_2:01
+DEAL:: cell lvl=2 active=1 id=0_2:02
+DEAL:: cell lvl=2 active=1 id=0_2:03
+DEAL::dim= 3 cells=17
+DEAL::* default:
+DEAL:: cell lvl=1 active=1 id=0_1:1
+DEAL:: cell lvl=1 active=1 id=0_1:2
+DEAL:: cell lvl=1 active=1 id=0_1:3
+DEAL:: cell lvl=1 active=1 id=0_1:4
+DEAL:: cell lvl=1 active=1 id=0_1:5
+DEAL:: cell lvl=1 active=1 id=0_1:6
+DEAL:: cell lvl=1 active=1 id=0_1:7
+DEAL:: cell lvl=2 active=1 id=0_2:00
+DEAL:: cell lvl=2 active=1 id=0_2:01
+DEAL:: cell lvl=2 active=1 id=0_2:02
+DEAL:: cell lvl=2 active=1 id=0_2:03
+DEAL:: cell lvl=2 active=1 id=0_2:04
+DEAL:: cell lvl=2 active=1 id=0_2:05
+DEAL:: cell lvl=2 active=1 id=0_2:06
+DEAL:: cell lvl=2 active=1 id=0_2:07
+DEAL::* all cells:
+DEAL:: cell lvl=0 active=0 id=0_0:
+DEAL:: cell lvl=1 active=0 id=0_1:0
+DEAL:: cell lvl=1 active=1 id=0_1:1
+DEAL:: cell lvl=1 active=1 id=0_1:2
+DEAL:: cell lvl=1 active=1 id=0_1:3
+DEAL:: cell lvl=1 active=1 id=0_1:4
+DEAL:: cell lvl=1 active=1 id=0_1:5
+DEAL:: cell lvl=1 active=1 id=0_1:6
+DEAL:: cell lvl=1 active=1 id=0_1:7
+DEAL:: cell lvl=2 active=1 id=0_2:00
+DEAL:: cell lvl=2 active=1 id=0_2:01
+DEAL:: cell lvl=2 active=1 id=0_2:02
+DEAL:: cell lvl=2 active=1 id=0_2:03
+DEAL:: cell lvl=2 active=1 id=0_2:04
+DEAL:: cell lvl=2 active=1 id=0_2:05
+DEAL:: cell lvl=2 active=1 id=0_2:06
+DEAL:: cell lvl=2 active=1 id=0_2:07
+DEAL::* all cells with level <=1:
+DEAL:: cell lvl=0 active=0 id=0_0:
+DEAL:: cell lvl=1 active=0 id=0_1:0
+DEAL:: cell lvl=1 active=1 id=0_1:1
+DEAL:: cell lvl=1 active=1 id=0_1:2
+DEAL:: cell lvl=1 active=1 id=0_1:3
+DEAL:: cell lvl=1 active=1 id=0_1:4
+DEAL:: cell lvl=1 active=1 id=0_1:5
+DEAL:: cell lvl=1 active=1 id=0_1:6
+DEAL:: cell lvl=1 active=1 id=0_1:7
+DEAL::* LevelEqualTo 0
+DEAL:: cell lvl=0 active=0 id=0_0:
+DEAL::* LevelEqualTo 1
+DEAL:: cell lvl=1 active=0 id=0_1:0
+DEAL:: cell lvl=1 active=1 id=0_1:1
+DEAL:: cell lvl=1 active=1 id=0_1:2
+DEAL:: cell lvl=1 active=1 id=0_1:3
+DEAL:: cell lvl=1 active=1 id=0_1:4
+DEAL:: cell lvl=1 active=1 id=0_1:5
+DEAL:: cell lvl=1 active=1 id=0_1:6
+DEAL:: cell lvl=1 active=1 id=0_1:7
+DEAL::* LevelEqualTo 2
+DEAL:: cell lvl=2 active=1 id=0_2:00
+DEAL:: cell lvl=2 active=1 id=0_2:01
+DEAL:: cell lvl=2 active=1 id=0_2:02
+DEAL:: cell lvl=2 active=1 id=0_2:03
+DEAL:: cell lvl=2 active=1 id=0_2:04
+DEAL:: cell lvl=2 active=1 id=0_2:05
+DEAL:: cell lvl=2 active=1 id=0_2:06
+DEAL:: cell lvl=2 active=1 id=0_2:07
diff --git a/tests/multigrid/mg_data_out_02.cc b/tests/multigrid/mg_data_out_02.cc
new file mode 100644 (file)
index 0000000..eb14468
--- /dev/null
@@ -0,0 +1,109 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2006 - 2016 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// Test parallel DataOut::set_cell_selection for multilevel cells
+
+#include <deal.II/distributed/tria.h>
+
+#include <deal.II/dofs/dof_handler.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+
+#include <deal.II/numerics/data_out.h>
+
+#include "../tests.h"
+
+using namespace dealii;
+
+template <int dim>
+void
+print(DataOut<dim> &data_out, const Triangulation<dim> &tria)
+{
+  auto &p = data_out.get_cell_selection();
+
+  for (auto cell = p.first(tria); cell.state() == IteratorState::valid;
+       cell      = p.second(tria, cell))
+    {
+      deallog << " cell lvl=" << cell->level() << " active=" << cell->active()
+              << " owner=" << static_cast<int>(cell->level_subdomain_id())
+              << " id=" << cell->id().to_string() << std::endl;
+    }
+}
+
+template <int dim>
+void
+do_test()
+{
+  parallel::distributed::Triangulation<dim> triangulation(
+    MPI_COMM_WORLD,
+    dealii::Triangulation<dim>::none,
+    parallel::distributed::Triangulation<dim>::construct_multigrid_hierarchy);
+
+  GridGenerator::hyper_cube(triangulation);
+  triangulation.refine_global(1);
+  triangulation.begin_active()->set_refine_flag();
+  triangulation.execute_coarsening_and_refinement();
+
+  deallog << "dim= " << dim << " cells=" << triangulation.n_cells()
+          << std::endl;
+
+  DataOut<dim> data_out;
+  data_out.attach_triangulation(triangulation);
+
+  deallog << "* default:" << std::endl;
+  print(data_out, triangulation);
+
+  deallog << "* all cells:" << std::endl;
+  data_out.set_cell_selection(
+    [](const typename Triangulation<dim>::cell_iterator &cell) {
+      return true;
+    });
+  print(data_out, triangulation);
+
+  deallog << "* LocallyOwnedLevelCell:" << std::endl;
+  data_out.set_cell_selection(IteratorFilters::LocallyOwnedLevelCell());
+  print(data_out, triangulation);
+
+  for (unsigned int level = 0; level < triangulation.n_global_levels(); ++level)
+    {
+      DataOut<dim> data_out;
+      data_out.attach_triangulation(triangulation);
+
+      deallog << "* LevelEqualTo " << level << std::endl;
+      data_out.set_cell_selection(IteratorFilters::LevelEqualTo(level));
+      print(data_out, triangulation);
+
+      deallog << "* owned on level " << level << std::endl;
+      data_out.set_cell_selection(
+        [level](const typename Triangulation<dim>::cell_iterator &cell) {
+          return (cell->level() == level && cell->is_locally_owned_on_level());
+        });
+      print(data_out, triangulation);
+    }
+}
+
+
+int
+main(int argc, char **argv)
+{
+  Utilities::MPI::MPI_InitFinalize mpi(argc, argv, 1);
+  MPILogInitAll                    log;
+
+  do_test<2>();
+  do_test<3>();
+  return 0;
+}
diff --git a/tests/multigrid/mg_data_out_02.with_p4est=true.mpirun=2.output b/tests/multigrid/mg_data_out_02.with_p4est=true.mpirun=2.output
new file mode 100644 (file)
index 0000000..c5442a4
--- /dev/null
@@ -0,0 +1,221 @@
+
+DEAL:0::dim= 2 cells=9
+DEAL:0::* default:
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::* all cells:
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::* LocallyOwnedLevelCell:
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::* LevelEqualTo 0
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0::* owned on level 0
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0::* LevelEqualTo 1
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:0::* owned on level 1
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0::* LevelEqualTo 2
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::* owned on level 2
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::dim= 3 cells=17
+DEAL:0::* default:
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:0::* all cells:
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:4
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:5
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:6
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:7
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:0::* LocallyOwnedLevelCell:
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:0::* LevelEqualTo 0
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0::* owned on level 0
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0::* LevelEqualTo 1
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:4
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:5
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:6
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:7
+DEAL:0::* owned on level 1
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0::* LevelEqualTo 2
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:0::* owned on level 2
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+
+DEAL:1::dim= 2 cells=9
+DEAL:1::* default:
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1::* all cells:
+DEAL:1:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:1:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:1::* LocallyOwnedLevelCell:
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1::* LevelEqualTo 0
+DEAL:1:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:1::* owned on level 0
+DEAL:1::* LevelEqualTo 1
+DEAL:1:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1::* owned on level 1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1::* LevelEqualTo 2
+DEAL:1:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:1::* owned on level 2
+DEAL:1::dim= 3 cells=17
+DEAL:1::* default:
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:4
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:5
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:6
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:7
+DEAL:1::* all cells:
+DEAL:1:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:1:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:4
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:5
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:6
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:7
+DEAL:1:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:1::* LocallyOwnedLevelCell:
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:4
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:5
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:6
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:7
+DEAL:1::* LevelEqualTo 0
+DEAL:1:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:1::* owned on level 0
+DEAL:1::* LevelEqualTo 1
+DEAL:1:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:4
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:5
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:6
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:7
+DEAL:1::* owned on level 1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:3
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:4
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:5
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:6
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:7
+DEAL:1::* LevelEqualTo 2
+DEAL:1:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:1::* owned on level 2
+
diff --git a/tests/multigrid/mg_data_out_02.with_p4est=true.mpirun=3.output b/tests/multigrid/mg_data_out_02.with_p4est=true.mpirun=3.output
new file mode 100644 (file)
index 0000000..1a7f05a
--- /dev/null
@@ -0,0 +1,279 @@
+
+DEAL:0::dim= 2 cells=9
+DEAL:0::* default:
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::* all cells:
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:1
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:2
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::* LocallyOwnedLevelCell:
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::* LevelEqualTo 0
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0::* owned on level 0
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0::* LevelEqualTo 1
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:1
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:2
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:0::* owned on level 1
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0::* LevelEqualTo 2
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::* owned on level 2
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0::dim= 3 cells=17
+DEAL:0::* default:
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:0::* all cells:
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:0::* LocallyOwnedLevelCell:
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:0::* LevelEqualTo 0
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0::* owned on level 0
+DEAL:0:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:0::* LevelEqualTo 1
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:0:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:0:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:0::* owned on level 1
+DEAL:0:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:0::* LevelEqualTo 2
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:0::* owned on level 2
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:00
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:0:: cell lvl=2 active=1 owner=0 id=0_2:07
+
+DEAL:1::dim= 2 cells=1
+DEAL:1::* default:
+DEAL:1::* all cells:
+DEAL:1:: cell lvl=0 active=1 owner=-2 id=0_0:
+DEAL:1::* LocallyOwnedLevelCell:
+DEAL:1::* LevelEqualTo 0
+DEAL:1:: cell lvl=0 active=1 owner=-2 id=0_0:
+DEAL:1::* owned on level 0
+DEAL:1::* LevelEqualTo 1
+DEAL:1::* owned on level 1
+DEAL:1::* LevelEqualTo 2
+DEAL:1::* owned on level 2
+DEAL:1::dim= 3 cells=17
+DEAL:1::* default:
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1::* all cells:
+DEAL:1:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:1:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:1:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:1:: cell lvl=2 active=1 owner=-2 id=0_2:04
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:1::* LocallyOwnedLevelCell:
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1::* LevelEqualTo 0
+DEAL:1:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:1::* owned on level 0
+DEAL:1::* LevelEqualTo 1
+DEAL:1:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:1:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:1::* owned on level 1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:1:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:1::* LevelEqualTo 2
+DEAL:1:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:1:: cell lvl=2 active=1 owner=-2 id=0_2:04
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:1:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:1::* owned on level 2
+
+
+DEAL:2::dim= 2 cells=9
+DEAL:2::* default:
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:1
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:2
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2::* all cells:
+DEAL:2:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:2:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:1
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:2
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:2::* LocallyOwnedLevelCell:
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:1
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:2
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2::* LevelEqualTo 0
+DEAL:2:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:2::* owned on level 0
+DEAL:2::* LevelEqualTo 1
+DEAL:2:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:1
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:2
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2::* owned on level 1
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:1
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:2
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2::* LevelEqualTo 2
+DEAL:2:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:01
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:02
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:2::* owned on level 2
+DEAL:2::dim= 3 cells=17
+DEAL:2::* default:
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:2::* all cells:
+DEAL:2:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:2:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:2:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:2:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:2:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:2:: cell lvl=2 active=1 owner=-2 id=0_2:01
+DEAL:2:: cell lvl=2 active=1 owner=-2 id=0_2:02
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:2::* LocallyOwnedLevelCell:
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:2::* LevelEqualTo 0
+DEAL:2:: cell lvl=0 active=0 owner=0 id=0_0:
+DEAL:2::* owned on level 0
+DEAL:2::* LevelEqualTo 1
+DEAL:2:: cell lvl=1 active=0 owner=0 id=0_1:0
+DEAL:2:: cell lvl=1 active=1 owner=1 id=0_1:1
+DEAL:2:: cell lvl=1 active=1 owner=1 id=0_1:2
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:2::* owned on level 1
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:3
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:4
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:5
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:6
+DEAL:2:: cell lvl=1 active=1 owner=2 id=0_1:7
+DEAL:2::* LevelEqualTo 2
+DEAL:2:: cell lvl=2 active=1 owner=-2 id=0_2:00
+DEAL:2:: cell lvl=2 active=1 owner=-2 id=0_2:01
+DEAL:2:: cell lvl=2 active=1 owner=-2 id=0_2:02
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:03
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:04
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:05
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:06
+DEAL:2:: cell lvl=2 active=1 owner=0 id=0_2:07
+DEAL:2::* owned on level 2
+

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.