endc = this->end(lvl);
for (; cell != endc; cell++)
{
- // for active cells we must keep level subdomain id of all neighbors
- // to our subdomain, not just cells that share a vertex on the same level.
+ // for active cells, we must have knowledge of level subdomain ids of
+ // all neighbors to our subdomain, not just neighbors on the same level.
// if the cells subdomain id was not set to artitficial above, we will
// also keep its level subdomain id since it is either owned by this processor
// or in the ghost layer of the active mesh.
if (!cell->has_children() && cell->subdomain_id() != numbers::artificial_subdomain_id)
continue;
+
+ // we must have knowledge of our parent in the hierarchy
+ if (cell->has_children())
+ {
+ bool keep_cell = false;
+ for (unsigned int c=0; c<GeometryInfo<dim>::max_children_per_cell; ++c)
+ if (cell->child(c)->level_subdomain_id() == this->my_subdomain)
+ {
+ keep_cell = true;
+ break;
+ }
+ if (keep_cell)
+ continue;
+ }
+
+ // we must have knowledge of our neighbors on the same level
if (!cell->is_locally_owned_on_level() &&
- level_halo_layer.find(cell) == level_halo_layer.end())
- cell->set_level_subdomain_id(numbers::artificial_subdomain_id);
+ level_halo_layer.find(cell) != level_halo_layer.end())
+ continue;
+
+ // mark all other cells to artificial
+ cell->set_level_subdomain_id(numbers::artificial_subdomain_id);
}
}
}
--- /dev/null
+// ---------------------------------------------------------------------
+// $Id: 3d_refinement_01.cc 31349 2013-10-20 19:07:06Z maier $
+//
+// Copyright (C) 2008 - 2015 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.
+//
+// ---------------------------------------------------------------------
+
+
+// create a shared tria mesh and distribute with a custom function
+// tests that the correct cells are set to artitficial in multigrid
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/tensor.h>
+#include <deal.II/grid/tria.h>
+#include <deal.II/distributed/tria.h>
+#include <deal.II/distributed/shared_tria.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/grid_out.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/numerics/data_out.h>
+
+#include <fstream>
+
+template <int dim>
+void mypartition(parallel::shared::Triangulation<dim> &tria)
+{
+ std::vector<unsigned int> assignment = {0,0,1,2,0,0,2,1,0,2,2,1,2,2,0,0};
+ {
+ typename Triangulation<dim>::active_cell_iterator
+ cell = tria.begin_active(),
+ endc = tria.end();
+ unsigned int index = 0;
+ for (; cell != endc; ++cell, ++index)
+ cell->set_subdomain_id(assignment[index%16]);
+ }
+
+ for (int lvl=tria.n_levels()-1; lvl>=0; --lvl)
+ {
+ typename parallel::shared::Triangulation<dim>::cell_iterator
+ cell = tria.begin(lvl),
+ endc=tria.end(lvl);
+ for (; cell!=endc; ++cell)
+ {
+ if (cell->active())
+ cell->set_level_subdomain_id(cell->subdomain_id());
+ else
+ cell->set_level_subdomain_id(cell->child(0)->level_subdomain_id());
+ }
+ }
+}
+
+template<int dim>
+void test()
+{
+ parallel::shared::Triangulation<dim> shared_tria(MPI_COMM_WORLD,typename Triangulation<dim>::MeshSmoothing
+ (Triangulation<dim>::limit_level_difference_at_vertices), true,
+ typename parallel::shared::Triangulation<dim>::Settings
+ (parallel::shared::Triangulation<dim>::partition_custom_signal |
+ parallel::shared::Triangulation<dim>::construct_multigrid_hierarchy));
+ shared_tria.signals.post_refinement.connect (std::bind(&mypartition<dim>, std::ref(shared_tria)));
+
+
+ GridGenerator::hyper_cube(shared_tria);
+ shared_tria.refine_global(2);
+
+ {
+ deallog << "(CellId,subdomain_id) for each active cell:" << std::endl;
+ typename Triangulation<dim>::active_cell_iterator
+ cell = shared_tria.begin_active(),
+ endc = shared_tria.end();
+ for (; cell!=endc; ++cell)
+ if (cell->subdomain_id() != numbers::artificial_subdomain_id)
+ deallog << "(" << cell->id().to_string() << "," << cell->subdomain_id() << ")" << std::endl;
+ }
+
+ {
+ deallog << "(CellId,level_subdomain_id) for each cell:" << std::endl;
+ typename Triangulation<dim>::cell_iterator
+ cell = shared_tria.begin(),
+ endc = shared_tria.end();
+ for (; cell!=endc; ++cell)
+ if (cell->level_subdomain_id() != numbers::artificial_subdomain_id)
+ deallog << "(" << cell->id().to_string() << "," << cell->level_subdomain_id() << ")" << std::endl;
+ }
+}
+
+int main(int argc, char *argv[])
+{
+ Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1);
+ MPILogInitAll all;
+
+ deallog.push("2d");
+ test<2>();
+ deallog.pop();
+ deallog.push("3d");
+ test<3>();
+ deallog.pop();
+
+ deallog << "OK" << std::endl;
+}
+
--- /dev/null
+
+DEAL:0:2d::(CellId,subdomain_id) for each active cell:
+DEAL:0:2d::(0_2:00,0)
+DEAL:0:2d::(0_2:01,0)
+DEAL:0:2d::(0_2:02,1)
+DEAL:0:2d::(0_2:03,2)
+DEAL:0:2d::(0_2:10,0)
+DEAL:0:2d::(0_2:11,0)
+DEAL:0:2d::(0_2:12,2)
+DEAL:0:2d::(0_2:13,1)
+DEAL:0:2d::(0_2:20,0)
+DEAL:0:2d::(0_2:21,2)
+DEAL:0:2d::(0_2:22,2)
+DEAL:0:2d::(0_2:23,1)
+DEAL:0:2d::(0_2:30,2)
+DEAL:0:2d::(0_2:31,2)
+DEAL:0:2d::(0_2:32,0)
+DEAL:0:2d::(0_2:33,0)
+DEAL:0:2d::(CellId,level_subdomain_id) for each cell:
+DEAL:0:2d::(0_0:,0)
+DEAL:0:2d::(0_1:0,0)
+DEAL:0:2d::(0_1:1,0)
+DEAL:0:2d::(0_1:2,0)
+DEAL:0:2d::(0_1:3,2)
+DEAL:0:2d::(0_2:00,0)
+DEAL:0:2d::(0_2:01,0)
+DEAL:0:2d::(0_2:02,1)
+DEAL:0:2d::(0_2:03,2)
+DEAL:0:2d::(0_2:10,0)
+DEAL:0:2d::(0_2:11,0)
+DEAL:0:2d::(0_2:12,2)
+DEAL:0:2d::(0_2:13,1)
+DEAL:0:2d::(0_2:20,0)
+DEAL:0:2d::(0_2:21,2)
+DEAL:0:2d::(0_2:22,2)
+DEAL:0:2d::(0_2:23,1)
+DEAL:0:2d::(0_2:30,2)
+DEAL:0:2d::(0_2:31,2)
+DEAL:0:2d::(0_2:32,0)
+DEAL:0:2d::(0_2:33,0)
+DEAL:0:3d::(CellId,subdomain_id) for each active cell:
+DEAL:0:3d::(0_2:00,0)
+DEAL:0:3d::(0_2:01,0)
+DEAL:0:3d::(0_2:02,1)
+DEAL:0:3d::(0_2:03,2)
+DEAL:0:3d::(0_2:04,0)
+DEAL:0:3d::(0_2:05,0)
+DEAL:0:3d::(0_2:06,2)
+DEAL:0:3d::(0_2:07,1)
+DEAL:0:3d::(0_2:10,0)
+DEAL:0:3d::(0_2:11,2)
+DEAL:0:3d::(0_2:12,2)
+DEAL:0:3d::(0_2:13,1)
+DEAL:0:3d::(0_2:14,2)
+DEAL:0:3d::(0_2:15,2)
+DEAL:0:3d::(0_2:16,0)
+DEAL:0:3d::(0_2:17,0)
+DEAL:0:3d::(0_2:20,0)
+DEAL:0:3d::(0_2:21,0)
+DEAL:0:3d::(0_2:22,1)
+DEAL:0:3d::(0_2:23,2)
+DEAL:0:3d::(0_2:24,0)
+DEAL:0:3d::(0_2:25,0)
+DEAL:0:3d::(0_2:26,2)
+DEAL:0:3d::(0_2:27,1)
+DEAL:0:3d::(0_2:30,0)
+DEAL:0:3d::(0_2:31,2)
+DEAL:0:3d::(0_2:32,2)
+DEAL:0:3d::(0_2:33,1)
+DEAL:0:3d::(0_2:34,2)
+DEAL:0:3d::(0_2:35,2)
+DEAL:0:3d::(0_2:36,0)
+DEAL:0:3d::(0_2:37,0)
+DEAL:0:3d::(0_2:40,0)
+DEAL:0:3d::(0_2:41,0)
+DEAL:0:3d::(0_2:42,1)
+DEAL:0:3d::(0_2:43,2)
+DEAL:0:3d::(0_2:44,0)
+DEAL:0:3d::(0_2:45,0)
+DEAL:0:3d::(0_2:46,2)
+DEAL:0:3d::(0_2:47,1)
+DEAL:0:3d::(0_2:50,0)
+DEAL:0:3d::(0_2:51,2)
+DEAL:0:3d::(0_2:52,2)
+DEAL:0:3d::(0_2:53,1)
+DEAL:0:3d::(0_2:54,2)
+DEAL:0:3d::(0_2:55,2)
+DEAL:0:3d::(0_2:56,0)
+DEAL:0:3d::(0_2:57,0)
+DEAL:0:3d::(0_2:60,0)
+DEAL:0:3d::(0_2:61,0)
+DEAL:0:3d::(0_2:62,1)
+DEAL:0:3d::(0_2:63,2)
+DEAL:0:3d::(0_2:64,0)
+DEAL:0:3d::(0_2:65,0)
+DEAL:0:3d::(0_2:66,2)
+DEAL:0:3d::(0_2:67,1)
+DEAL:0:3d::(0_2:70,0)
+DEAL:0:3d::(0_2:71,2)
+DEAL:0:3d::(0_2:72,2)
+DEAL:0:3d::(0_2:73,1)
+DEAL:0:3d::(0_2:74,2)
+DEAL:0:3d::(0_2:75,2)
+DEAL:0:3d::(0_2:76,0)
+DEAL:0:3d::(0_2:77,0)
+DEAL:0:3d::(CellId,level_subdomain_id) for each cell:
+DEAL:0:3d::(0_0:,0)
+DEAL:0:3d::(0_1:0,0)
+DEAL:0:3d::(0_1:1,0)
+DEAL:0:3d::(0_1:2,0)
+DEAL:0:3d::(0_1:3,0)
+DEAL:0:3d::(0_1:4,0)
+DEAL:0:3d::(0_1:5,0)
+DEAL:0:3d::(0_1:6,0)
+DEAL:0:3d::(0_1:7,0)
+DEAL:0:3d::(0_2:00,0)
+DEAL:0:3d::(0_2:01,0)
+DEAL:0:3d::(0_2:02,1)
+DEAL:0:3d::(0_2:03,2)
+DEAL:0:3d::(0_2:04,0)
+DEAL:0:3d::(0_2:05,0)
+DEAL:0:3d::(0_2:06,2)
+DEAL:0:3d::(0_2:07,1)
+DEAL:0:3d::(0_2:10,0)
+DEAL:0:3d::(0_2:11,2)
+DEAL:0:3d::(0_2:12,2)
+DEAL:0:3d::(0_2:13,1)
+DEAL:0:3d::(0_2:14,2)
+DEAL:0:3d::(0_2:15,2)
+DEAL:0:3d::(0_2:16,0)
+DEAL:0:3d::(0_2:17,0)
+DEAL:0:3d::(0_2:20,0)
+DEAL:0:3d::(0_2:21,0)
+DEAL:0:3d::(0_2:22,1)
+DEAL:0:3d::(0_2:23,2)
+DEAL:0:3d::(0_2:24,0)
+DEAL:0:3d::(0_2:25,0)
+DEAL:0:3d::(0_2:26,2)
+DEAL:0:3d::(0_2:27,1)
+DEAL:0:3d::(0_2:30,0)
+DEAL:0:3d::(0_2:31,2)
+DEAL:0:3d::(0_2:32,2)
+DEAL:0:3d::(0_2:33,1)
+DEAL:0:3d::(0_2:34,2)
+DEAL:0:3d::(0_2:35,2)
+DEAL:0:3d::(0_2:36,0)
+DEAL:0:3d::(0_2:37,0)
+DEAL:0:3d::(0_2:40,0)
+DEAL:0:3d::(0_2:41,0)
+DEAL:0:3d::(0_2:42,1)
+DEAL:0:3d::(0_2:43,2)
+DEAL:0:3d::(0_2:44,0)
+DEAL:0:3d::(0_2:45,0)
+DEAL:0:3d::(0_2:46,2)
+DEAL:0:3d::(0_2:47,1)
+DEAL:0:3d::(0_2:50,0)
+DEAL:0:3d::(0_2:51,2)
+DEAL:0:3d::(0_2:52,2)
+DEAL:0:3d::(0_2:53,1)
+DEAL:0:3d::(0_2:54,2)
+DEAL:0:3d::(0_2:55,2)
+DEAL:0:3d::(0_2:56,0)
+DEAL:0:3d::(0_2:57,0)
+DEAL:0:3d::(0_2:60,0)
+DEAL:0:3d::(0_2:61,0)
+DEAL:0:3d::(0_2:62,1)
+DEAL:0:3d::(0_2:63,2)
+DEAL:0:3d::(0_2:64,0)
+DEAL:0:3d::(0_2:65,0)
+DEAL:0:3d::(0_2:66,2)
+DEAL:0:3d::(0_2:67,1)
+DEAL:0:3d::(0_2:70,0)
+DEAL:0:3d::(0_2:71,2)
+DEAL:0:3d::(0_2:72,2)
+DEAL:0:3d::(0_2:73,1)
+DEAL:0:3d::(0_2:74,2)
+DEAL:0:3d::(0_2:75,2)
+DEAL:0:3d::(0_2:76,0)
+DEAL:0:3d::(0_2:77,0)
+DEAL:0::OK
+
+DEAL:1:2d::(CellId,subdomain_id) for each active cell:
+DEAL:1:2d::(0_2:00,0)
+DEAL:1:2d::(0_2:01,0)
+DEAL:1:2d::(0_2:02,1)
+DEAL:1:2d::(0_2:03,2)
+DEAL:1:2d::(0_2:10,0)
+DEAL:1:2d::(0_2:11,0)
+DEAL:1:2d::(0_2:12,2)
+DEAL:1:2d::(0_2:13,1)
+DEAL:1:2d::(0_2:20,0)
+DEAL:1:2d::(0_2:21,2)
+DEAL:1:2d::(0_2:22,2)
+DEAL:1:2d::(0_2:23,1)
+DEAL:1:2d::(0_2:30,2)
+DEAL:1:2d::(0_2:31,2)
+DEAL:1:2d::(0_2:32,0)
+DEAL:1:2d::(CellId,level_subdomain_id) for each cell:
+DEAL:1:2d::(0_1:0,0)
+DEAL:1:2d::(0_1:1,0)
+DEAL:1:2d::(0_1:2,0)
+DEAL:1:2d::(0_2:00,0)
+DEAL:1:2d::(0_2:01,0)
+DEAL:1:2d::(0_2:02,1)
+DEAL:1:2d::(0_2:03,2)
+DEAL:1:2d::(0_2:10,0)
+DEAL:1:2d::(0_2:11,0)
+DEAL:1:2d::(0_2:12,2)
+DEAL:1:2d::(0_2:13,1)
+DEAL:1:2d::(0_2:20,0)
+DEAL:1:2d::(0_2:21,2)
+DEAL:1:2d::(0_2:22,2)
+DEAL:1:2d::(0_2:23,1)
+DEAL:1:2d::(0_2:30,2)
+DEAL:1:2d::(0_2:31,2)
+DEAL:1:2d::(0_2:32,0)
+DEAL:1:3d::(CellId,subdomain_id) for each active cell:
+DEAL:1:3d::(0_2:00,0)
+DEAL:1:3d::(0_2:01,0)
+DEAL:1:3d::(0_2:02,1)
+DEAL:1:3d::(0_2:03,2)
+DEAL:1:3d::(0_2:04,0)
+DEAL:1:3d::(0_2:05,0)
+DEAL:1:3d::(0_2:06,2)
+DEAL:1:3d::(0_2:07,1)
+DEAL:1:3d::(0_2:10,0)
+DEAL:1:3d::(0_2:11,2)
+DEAL:1:3d::(0_2:12,2)
+DEAL:1:3d::(0_2:13,1)
+DEAL:1:3d::(0_2:14,2)
+DEAL:1:3d::(0_2:15,2)
+DEAL:1:3d::(0_2:16,0)
+DEAL:1:3d::(0_2:17,0)
+DEAL:1:3d::(0_2:20,0)
+DEAL:1:3d::(0_2:21,0)
+DEAL:1:3d::(0_2:22,1)
+DEAL:1:3d::(0_2:23,2)
+DEAL:1:3d::(0_2:24,0)
+DEAL:1:3d::(0_2:25,0)
+DEAL:1:3d::(0_2:26,2)
+DEAL:1:3d::(0_2:27,1)
+DEAL:1:3d::(0_2:30,0)
+DEAL:1:3d::(0_2:31,2)
+DEAL:1:3d::(0_2:32,2)
+DEAL:1:3d::(0_2:33,1)
+DEAL:1:3d::(0_2:34,2)
+DEAL:1:3d::(0_2:35,2)
+DEAL:1:3d::(0_2:36,0)
+DEAL:1:3d::(0_2:37,0)
+DEAL:1:3d::(0_2:40,0)
+DEAL:1:3d::(0_2:41,0)
+DEAL:1:3d::(0_2:42,1)
+DEAL:1:3d::(0_2:43,2)
+DEAL:1:3d::(0_2:44,0)
+DEAL:1:3d::(0_2:45,0)
+DEAL:1:3d::(0_2:46,2)
+DEAL:1:3d::(0_2:47,1)
+DEAL:1:3d::(0_2:50,0)
+DEAL:1:3d::(0_2:51,2)
+DEAL:1:3d::(0_2:52,2)
+DEAL:1:3d::(0_2:53,1)
+DEAL:1:3d::(0_2:54,2)
+DEAL:1:3d::(0_2:55,2)
+DEAL:1:3d::(0_2:56,0)
+DEAL:1:3d::(0_2:57,0)
+DEAL:1:3d::(0_2:60,0)
+DEAL:1:3d::(0_2:61,0)
+DEAL:1:3d::(0_2:62,1)
+DEAL:1:3d::(0_2:63,2)
+DEAL:1:3d::(0_2:64,0)
+DEAL:1:3d::(0_2:65,0)
+DEAL:1:3d::(0_2:66,2)
+DEAL:1:3d::(0_2:67,1)
+DEAL:1:3d::(0_2:70,0)
+DEAL:1:3d::(0_2:71,2)
+DEAL:1:3d::(0_2:72,2)
+DEAL:1:3d::(0_2:73,1)
+DEAL:1:3d::(0_2:74,2)
+DEAL:1:3d::(0_2:75,2)
+DEAL:1:3d::(0_2:76,0)
+DEAL:1:3d::(0_2:77,0)
+DEAL:1:3d::(CellId,level_subdomain_id) for each cell:
+DEAL:1:3d::(0_1:0,0)
+DEAL:1:3d::(0_1:1,0)
+DEAL:1:3d::(0_1:2,0)
+DEAL:1:3d::(0_1:3,0)
+DEAL:1:3d::(0_1:4,0)
+DEAL:1:3d::(0_1:5,0)
+DEAL:1:3d::(0_1:6,0)
+DEAL:1:3d::(0_1:7,0)
+DEAL:1:3d::(0_2:00,0)
+DEAL:1:3d::(0_2:01,0)
+DEAL:1:3d::(0_2:02,1)
+DEAL:1:3d::(0_2:03,2)
+DEAL:1:3d::(0_2:04,0)
+DEAL:1:3d::(0_2:05,0)
+DEAL:1:3d::(0_2:06,2)
+DEAL:1:3d::(0_2:07,1)
+DEAL:1:3d::(0_2:10,0)
+DEAL:1:3d::(0_2:11,2)
+DEAL:1:3d::(0_2:12,2)
+DEAL:1:3d::(0_2:13,1)
+DEAL:1:3d::(0_2:14,2)
+DEAL:1:3d::(0_2:15,2)
+DEAL:1:3d::(0_2:16,0)
+DEAL:1:3d::(0_2:17,0)
+DEAL:1:3d::(0_2:20,0)
+DEAL:1:3d::(0_2:21,0)
+DEAL:1:3d::(0_2:22,1)
+DEAL:1:3d::(0_2:23,2)
+DEAL:1:3d::(0_2:24,0)
+DEAL:1:3d::(0_2:25,0)
+DEAL:1:3d::(0_2:26,2)
+DEAL:1:3d::(0_2:27,1)
+DEAL:1:3d::(0_2:30,0)
+DEAL:1:3d::(0_2:31,2)
+DEAL:1:3d::(0_2:32,2)
+DEAL:1:3d::(0_2:33,1)
+DEAL:1:3d::(0_2:34,2)
+DEAL:1:3d::(0_2:35,2)
+DEAL:1:3d::(0_2:36,0)
+DEAL:1:3d::(0_2:37,0)
+DEAL:1:3d::(0_2:40,0)
+DEAL:1:3d::(0_2:41,0)
+DEAL:1:3d::(0_2:42,1)
+DEAL:1:3d::(0_2:43,2)
+DEAL:1:3d::(0_2:44,0)
+DEAL:1:3d::(0_2:45,0)
+DEAL:1:3d::(0_2:46,2)
+DEAL:1:3d::(0_2:47,1)
+DEAL:1:3d::(0_2:50,0)
+DEAL:1:3d::(0_2:51,2)
+DEAL:1:3d::(0_2:52,2)
+DEAL:1:3d::(0_2:53,1)
+DEAL:1:3d::(0_2:54,2)
+DEAL:1:3d::(0_2:55,2)
+DEAL:1:3d::(0_2:56,0)
+DEAL:1:3d::(0_2:57,0)
+DEAL:1:3d::(0_2:60,0)
+DEAL:1:3d::(0_2:61,0)
+DEAL:1:3d::(0_2:62,1)
+DEAL:1:3d::(0_2:63,2)
+DEAL:1:3d::(0_2:64,0)
+DEAL:1:3d::(0_2:65,0)
+DEAL:1:3d::(0_2:66,2)
+DEAL:1:3d::(0_2:67,1)
+DEAL:1:3d::(0_2:70,0)
+DEAL:1:3d::(0_2:71,2)
+DEAL:1:3d::(0_2:72,2)
+DEAL:1:3d::(0_2:73,1)
+DEAL:1:3d::(0_2:74,2)
+DEAL:1:3d::(0_2:75,2)
+DEAL:1:3d::(0_2:76,0)
+DEAL:1:3d::(0_2:77,0)
+DEAL:1::OK
+
+
+DEAL:2:2d::(CellId,subdomain_id) for each active cell:
+DEAL:2:2d::(0_2:00,0)
+DEAL:2:2d::(0_2:01,0)
+DEAL:2:2d::(0_2:02,1)
+DEAL:2:2d::(0_2:03,2)
+DEAL:2:2d::(0_2:10,0)
+DEAL:2:2d::(0_2:11,0)
+DEAL:2:2d::(0_2:12,2)
+DEAL:2:2d::(0_2:13,1)
+DEAL:2:2d::(0_2:20,0)
+DEAL:2:2d::(0_2:21,2)
+DEAL:2:2d::(0_2:22,2)
+DEAL:2:2d::(0_2:23,1)
+DEAL:2:2d::(0_2:30,2)
+DEAL:2:2d::(0_2:31,2)
+DEAL:2:2d::(0_2:32,0)
+DEAL:2:2d::(0_2:33,0)
+DEAL:2:2d::(CellId,level_subdomain_id) for each cell:
+DEAL:2:2d::(0_0:,0)
+DEAL:2:2d::(0_1:0,0)
+DEAL:2:2d::(0_1:1,0)
+DEAL:2:2d::(0_1:2,0)
+DEAL:2:2d::(0_1:3,2)
+DEAL:2:2d::(0_2:00,0)
+DEAL:2:2d::(0_2:01,0)
+DEAL:2:2d::(0_2:02,1)
+DEAL:2:2d::(0_2:03,2)
+DEAL:2:2d::(0_2:10,0)
+DEAL:2:2d::(0_2:11,0)
+DEAL:2:2d::(0_2:12,2)
+DEAL:2:2d::(0_2:13,1)
+DEAL:2:2d::(0_2:20,0)
+DEAL:2:2d::(0_2:21,2)
+DEAL:2:2d::(0_2:22,2)
+DEAL:2:2d::(0_2:23,1)
+DEAL:2:2d::(0_2:30,2)
+DEAL:2:2d::(0_2:31,2)
+DEAL:2:2d::(0_2:32,0)
+DEAL:2:2d::(0_2:33,0)
+DEAL:2:3d::(CellId,subdomain_id) for each active cell:
+DEAL:2:3d::(0_2:00,0)
+DEAL:2:3d::(0_2:01,0)
+DEAL:2:3d::(0_2:02,1)
+DEAL:2:3d::(0_2:03,2)
+DEAL:2:3d::(0_2:04,0)
+DEAL:2:3d::(0_2:05,0)
+DEAL:2:3d::(0_2:06,2)
+DEAL:2:3d::(0_2:07,1)
+DEAL:2:3d::(0_2:10,0)
+DEAL:2:3d::(0_2:11,2)
+DEAL:2:3d::(0_2:12,2)
+DEAL:2:3d::(0_2:13,1)
+DEAL:2:3d::(0_2:14,2)
+DEAL:2:3d::(0_2:15,2)
+DEAL:2:3d::(0_2:16,0)
+DEAL:2:3d::(0_2:17,0)
+DEAL:2:3d::(0_2:20,0)
+DEAL:2:3d::(0_2:21,0)
+DEAL:2:3d::(0_2:22,1)
+DEAL:2:3d::(0_2:23,2)
+DEAL:2:3d::(0_2:24,0)
+DEAL:2:3d::(0_2:25,0)
+DEAL:2:3d::(0_2:26,2)
+DEAL:2:3d::(0_2:27,1)
+DEAL:2:3d::(0_2:30,0)
+DEAL:2:3d::(0_2:31,2)
+DEAL:2:3d::(0_2:32,2)
+DEAL:2:3d::(0_2:33,1)
+DEAL:2:3d::(0_2:34,2)
+DEAL:2:3d::(0_2:35,2)
+DEAL:2:3d::(0_2:36,0)
+DEAL:2:3d::(0_2:37,0)
+DEAL:2:3d::(0_2:40,0)
+DEAL:2:3d::(0_2:41,0)
+DEAL:2:3d::(0_2:42,1)
+DEAL:2:3d::(0_2:43,2)
+DEAL:2:3d::(0_2:44,0)
+DEAL:2:3d::(0_2:45,0)
+DEAL:2:3d::(0_2:46,2)
+DEAL:2:3d::(0_2:47,1)
+DEAL:2:3d::(0_2:50,0)
+DEAL:2:3d::(0_2:51,2)
+DEAL:2:3d::(0_2:52,2)
+DEAL:2:3d::(0_2:53,1)
+DEAL:2:3d::(0_2:54,2)
+DEAL:2:3d::(0_2:55,2)
+DEAL:2:3d::(0_2:56,0)
+DEAL:2:3d::(0_2:57,0)
+DEAL:2:3d::(0_2:60,0)
+DEAL:2:3d::(0_2:61,0)
+DEAL:2:3d::(0_2:62,1)
+DEAL:2:3d::(0_2:63,2)
+DEAL:2:3d::(0_2:64,0)
+DEAL:2:3d::(0_2:65,0)
+DEAL:2:3d::(0_2:66,2)
+DEAL:2:3d::(0_2:67,1)
+DEAL:2:3d::(0_2:70,0)
+DEAL:2:3d::(0_2:71,2)
+DEAL:2:3d::(0_2:72,2)
+DEAL:2:3d::(0_2:73,1)
+DEAL:2:3d::(0_2:74,2)
+DEAL:2:3d::(0_2:75,2)
+DEAL:2:3d::(0_2:76,0)
+DEAL:2:3d::(0_2:77,0)
+DEAL:2:3d::(CellId,level_subdomain_id) for each cell:
+DEAL:2:3d::(0_1:0,0)
+DEAL:2:3d::(0_1:1,0)
+DEAL:2:3d::(0_1:2,0)
+DEAL:2:3d::(0_1:3,0)
+DEAL:2:3d::(0_1:4,0)
+DEAL:2:3d::(0_1:5,0)
+DEAL:2:3d::(0_1:6,0)
+DEAL:2:3d::(0_1:7,0)
+DEAL:2:3d::(0_2:00,0)
+DEAL:2:3d::(0_2:01,0)
+DEAL:2:3d::(0_2:02,1)
+DEAL:2:3d::(0_2:03,2)
+DEAL:2:3d::(0_2:04,0)
+DEAL:2:3d::(0_2:05,0)
+DEAL:2:3d::(0_2:06,2)
+DEAL:2:3d::(0_2:07,1)
+DEAL:2:3d::(0_2:10,0)
+DEAL:2:3d::(0_2:11,2)
+DEAL:2:3d::(0_2:12,2)
+DEAL:2:3d::(0_2:13,1)
+DEAL:2:3d::(0_2:14,2)
+DEAL:2:3d::(0_2:15,2)
+DEAL:2:3d::(0_2:16,0)
+DEAL:2:3d::(0_2:17,0)
+DEAL:2:3d::(0_2:20,0)
+DEAL:2:3d::(0_2:21,0)
+DEAL:2:3d::(0_2:22,1)
+DEAL:2:3d::(0_2:23,2)
+DEAL:2:3d::(0_2:24,0)
+DEAL:2:3d::(0_2:25,0)
+DEAL:2:3d::(0_2:26,2)
+DEAL:2:3d::(0_2:27,1)
+DEAL:2:3d::(0_2:30,0)
+DEAL:2:3d::(0_2:31,2)
+DEAL:2:3d::(0_2:32,2)
+DEAL:2:3d::(0_2:33,1)
+DEAL:2:3d::(0_2:34,2)
+DEAL:2:3d::(0_2:35,2)
+DEAL:2:3d::(0_2:36,0)
+DEAL:2:3d::(0_2:37,0)
+DEAL:2:3d::(0_2:40,0)
+DEAL:2:3d::(0_2:41,0)
+DEAL:2:3d::(0_2:42,1)
+DEAL:2:3d::(0_2:43,2)
+DEAL:2:3d::(0_2:44,0)
+DEAL:2:3d::(0_2:45,0)
+DEAL:2:3d::(0_2:46,2)
+DEAL:2:3d::(0_2:47,1)
+DEAL:2:3d::(0_2:50,0)
+DEAL:2:3d::(0_2:51,2)
+DEAL:2:3d::(0_2:52,2)
+DEAL:2:3d::(0_2:53,1)
+DEAL:2:3d::(0_2:54,2)
+DEAL:2:3d::(0_2:55,2)
+DEAL:2:3d::(0_2:56,0)
+DEAL:2:3d::(0_2:57,0)
+DEAL:2:3d::(0_2:60,0)
+DEAL:2:3d::(0_2:61,0)
+DEAL:2:3d::(0_2:62,1)
+DEAL:2:3d::(0_2:63,2)
+DEAL:2:3d::(0_2:64,0)
+DEAL:2:3d::(0_2:65,0)
+DEAL:2:3d::(0_2:66,2)
+DEAL:2:3d::(0_2:67,1)
+DEAL:2:3d::(0_2:70,0)
+DEAL:2:3d::(0_2:71,2)
+DEAL:2:3d::(0_2:72,2)
+DEAL:2:3d::(0_2:73,1)
+DEAL:2:3d::(0_2:74,2)
+DEAL:2:3d::(0_2:75,2)
+DEAL:2:3d::(0_2:76,0)
+DEAL:2:3d::(0_2:77,0)
+DEAL:2::OK
+