#include <deal.II/base/memory_consumption.h>
+#include <deal.II/base/mpi.h>
#include <deal.II/distributed/fully_distributed_tria.h>
+#include <deal.II/distributed/fully_distributed_tria_util.h>
+
+#include <deal.II/grid/grid_tools.h>
DEAL_II_NAMESPACE_OPEN
Triangulation<dim, spacedim>::Triangulation(MPI_Comm mpi_communicator)
: parallel::DistributedTriangulationBase<dim, spacedim>(mpi_communicator)
, settings(Settings::default_setting)
+ , partitioner([](dealii::Triangulation<dim, spacedim> &tria,
+ const unsigned int n_partitions) {
+ GridTools::partition_triangulation_zorder(n_partitions, tria);
+ })
, currently_processing_create_triangulation_for_internal_usage(false)
, currently_processing_prepare_coarsening_and_refinement_for_internal_usage(
false)
+ template <int dim, int spacedim>
+ void
+ Triangulation<dim, spacedim>::copy_triangulation(
+ const dealii::Triangulation<dim, spacedim> &other_tria)
+ {
+ // pointer to the triangulation for which the construction data
+ // should be created (normally it is the input triangulation but
+ // in the case of a serial triangulation we create a copy which should
+ // be used)
+ const dealii::Triangulation<dim, spacedim> *other_tria_ptr = &other_tria;
+
+ // temporary serial triangulation (since the input triangulation is const
+ // and we might modify its subdomain_ids
+ // and level_subdomain_ids during partitioning); this pointer only points
+ // to anything if the source triangulation is serial, and ensures that our
+ // copy is eventually deleted
+ std::unique_ptr<dealii::Triangulation<dim, spacedim>> serial_tria;
+
+ // check if other triangulation is not a parallel one, which needs to be
+ // partitioned
+ if (dynamic_cast<const dealii::parallel::TriangulationBase<dim, spacedim>
+ *>(&other_tria) == nullptr)
+ {
+ serial_tria =
+ std::make_unique<dealii::Triangulation<dim, spacedim>>();
+
+ // actually copy the serial triangulation
+ serial_tria->copy_triangulation(other_tria);
+
+ // partition triangulation
+ this->partitioner(*serial_tria,
+ dealii::Utilities::MPI::n_mpi_processes(
+ this->mpi_communicator));
+
+ // partition multigrid levels
+ if (this->is_multilevel_hierarchy_constructed())
+ GridTools::partition_multigrid_levels(*serial_tria);
+
+ // use the new serial triangulation to create the construction data
+ other_tria_ptr = serial_tria.get();
+ }
+
+ // create construction data
+ const auto construction_data =
+ Utilities::create_construction_data_from_triangulation(
+ *other_tria_ptr,
+ this->mpi_communicator,
+ this->is_multilevel_hierarchy_constructed());
+
+ // finally create triangulation
+ this->create_triangulation(construction_data);
+ }
+
+
+
+ template <int dim, int spacedim>
+ void
+ Triangulation<dim, spacedim>::set_partitioner(
+ const std::function<void(dealii::Triangulation<dim, spacedim> &,
+ const unsigned int)> &partitioner,
+ const Settings & settings)
+ {
+ this->partitioner = partitioner;
+ this->settings = settings;
+ }
+
+
+
template <int dim, int spacedim>
void
Triangulation<dim, spacedim>::update_number_cache()
--- /dev/null
+
+DEAL:0:1d::n_levels: 7
+DEAL:0:1d::n_cells: 1016
+DEAL:0:1d::n_active_cells: 512
+DEAL:0:1d::n_cells on level=0: 8
+DEAL:0:1d::n_cells on level=1: 16
+DEAL:0:1d::n_cells on level=2: 32
+DEAL:0:1d::n_cells on level=3: 64
+DEAL:0:1d::n_cells on level=4: 128
+DEAL:0:1d::n_cells on level=5: 256
+DEAL:0:1d::n_cells on level=6: 512
+DEAL:0:1d::n_active_cells on level=0: 0
+DEAL:0:1d::n_active_cells on level=1: 0
+DEAL:0:1d::n_active_cells on level=2: 0
+DEAL:0:1d::n_active_cells on level=3: 0
+DEAL:0:1d::n_active_cells on level=4: 0
+DEAL:0:1d::n_active_cells on level=5: 0
+DEAL:0:1d::n_active_cells on level=6: 512
+DEAL:0:1d::
+DEAL:0:1d::n_dofs: 1025
+DEAL:0:1d::n_locally_owned_dofs: 1025
+DEAL:0:1d::n_dofs on level=0: 17
+DEAL:0:1d::n_dofs on level=1: 33
+DEAL:0:1d::n_dofs on level=2: 65
+DEAL:0:1d::n_dofs on level=3: 129
+DEAL:0:1d::n_dofs on level=4: 257
+DEAL:0:1d::n_dofs on level=5: 513
+DEAL:0:1d::n_dofs on level=6: 1025
+DEAL:0:1d::n_locally_owned_mg_dofs on level=0: 17
+DEAL:0:1d::n_locally_owned_mg_dofs on level=1: 33
+DEAL:0:1d::n_locally_owned_mg_dofs on level=2: 65
+DEAL:0:1d::n_locally_owned_mg_dofs on level=3: 129
+DEAL:0:1d::n_locally_owned_mg_dofs on level=4: 257
+DEAL:0:1d::n_locally_owned_mg_dofs on level=5: 513
+DEAL:0:1d::n_locally_owned_mg_dofs on level=6: 1025
+DEAL:0:1d::
+DEAL:0:2d::n_levels: 4
+DEAL:0:2d::n_cells: 5440
+DEAL:0:2d::n_active_cells: 4096
+DEAL:0:2d::n_cells on level=0: 64
+DEAL:0:2d::n_cells on level=1: 256
+DEAL:0:2d::n_cells on level=2: 1024
+DEAL:0:2d::n_cells on level=3: 4096
+DEAL:0:2d::n_active_cells on level=0: 0
+DEAL:0:2d::n_active_cells on level=1: 0
+DEAL:0:2d::n_active_cells on level=2: 0
+DEAL:0:2d::n_active_cells on level=3: 4096
+DEAL:0:2d::
+DEAL:0:2d::n_dofs: 16641
+DEAL:0:2d::n_locally_owned_dofs: 16641
+DEAL:0:2d::n_dofs on level=0: 289
+DEAL:0:2d::n_dofs on level=1: 1089
+DEAL:0:2d::n_dofs on level=2: 4225
+DEAL:0:2d::n_dofs on level=3: 16641
+DEAL:0:2d::n_locally_owned_mg_dofs on level=0: 289
+DEAL:0:2d::n_locally_owned_mg_dofs on level=1: 1089
+DEAL:0:2d::n_locally_owned_mg_dofs on level=2: 4225
+DEAL:0:2d::n_locally_owned_mg_dofs on level=3: 16641
+DEAL:0:2d::
+DEAL:0:3d::n_levels: 4
+DEAL:0:3d::n_cells: 37440
+DEAL:0:3d::n_active_cells: 32768
+DEAL:0:3d::n_cells on level=0: 64
+DEAL:0:3d::n_cells on level=1: 512
+DEAL:0:3d::n_cells on level=2: 4096
+DEAL:0:3d::n_cells on level=3: 32768
+DEAL:0:3d::n_active_cells on level=0: 0
+DEAL:0:3d::n_active_cells on level=1: 0
+DEAL:0:3d::n_active_cells on level=2: 0
+DEAL:0:3d::n_active_cells on level=3: 32768
+DEAL:0:3d::
+DEAL:0:3d::n_dofs: 274625
+DEAL:0:3d::n_locally_owned_dofs: 274625
+DEAL:0:3d::n_dofs on level=0: 729
+DEAL:0:3d::n_dofs on level=1: 4913
+DEAL:0:3d::n_dofs on level=2: 35937
+DEAL:0:3d::n_dofs on level=3: 274625
+DEAL:0:3d::n_locally_owned_mg_dofs on level=0: 729
+DEAL:0:3d::n_locally_owned_mg_dofs on level=1: 4913
+DEAL:0:3d::n_locally_owned_mg_dofs on level=2: 35937
+DEAL:0:3d::n_locally_owned_mg_dofs on level=3: 274625
+DEAL:0:3d::
--- /dev/null
+
+DEAL:0:1d::n_levels: 7
+DEAL:0:1d::n_cells: 221
+DEAL:0:1d::n_active_cells: 112
+DEAL:0:1d::n_cells on level=0: 3
+DEAL:0:1d::n_cells on level=1: 6
+DEAL:0:1d::n_cells on level=2: 10
+DEAL:0:1d::n_cells on level=3: 16
+DEAL:0:1d::n_cells on level=4: 28
+DEAL:0:1d::n_cells on level=5: 54
+DEAL:0:1d::n_cells on level=6: 104
+DEAL:0:1d::n_active_cells on level=0: 0
+DEAL:0:1d::n_active_cells on level=1: 1
+DEAL:0:1d::n_active_cells on level=2: 2
+DEAL:0:1d::n_active_cells on level=3: 2
+DEAL:0:1d::n_active_cells on level=4: 1
+DEAL:0:1d::n_active_cells on level=5: 2
+DEAL:0:1d::n_active_cells on level=6: 104
+DEAL:0:1d::
+DEAL:0:1d::n_dofs: 1025
+DEAL:0:1d::n_locally_owned_dofs: 205
+DEAL:0:1d::n_dofs on level=0: 17
+DEAL:0:1d::n_dofs on level=1: 33
+DEAL:0:1d::n_dofs on level=2: 65
+DEAL:0:1d::n_dofs on level=3: 129
+DEAL:0:1d::n_dofs on level=4: 257
+DEAL:0:1d::n_dofs on level=5: 513
+DEAL:0:1d::n_dofs on level=6: 1025
+DEAL:0:1d::n_locally_owned_mg_dofs on level=0: 5
+DEAL:0:1d::n_locally_owned_mg_dofs on level=1: 9
+DEAL:0:1d::n_locally_owned_mg_dofs on level=2: 15
+DEAL:0:1d::n_locally_owned_mg_dofs on level=3: 27
+DEAL:0:1d::n_locally_owned_mg_dofs on level=4: 53
+DEAL:0:1d::n_locally_owned_mg_dofs on level=5: 103
+DEAL:0:1d::n_locally_owned_mg_dofs on level=6: 205
+DEAL:0:1d::
+DEAL:0:2d::n_levels: 4
+DEAL:0:2d::n_cells: 1338
+DEAL:0:2d::n_active_cells: 1009
+DEAL:0:2d::n_cells on level=0: 22
+DEAL:0:2d::n_cells on level=1: 88
+DEAL:0:2d::n_cells on level=2: 276
+DEAL:0:2d::n_cells on level=3: 952
+DEAL:0:2d::n_active_cells on level=0: 0
+DEAL:0:2d::n_active_cells on level=1: 19
+DEAL:0:2d::n_active_cells on level=2: 38
+DEAL:0:2d::n_active_cells on level=3: 952
+DEAL:0:2d::
+DEAL:0:2d::n_dofs: 16641
+DEAL:0:2d::n_locally_owned_dofs: 3409
+DEAL:0:2d::n_dofs on level=0: 289
+DEAL:0:2d::n_dofs on level=1: 1089
+DEAL:0:2d::n_dofs on level=2: 4225
+DEAL:0:2d::n_dofs on level=3: 16641
+DEAL:0:2d::n_locally_owned_mg_dofs on level=0: 69
+DEAL:0:2d::n_locally_owned_mg_dofs on level=1: 241
+DEAL:0:2d::n_locally_owned_mg_dofs on level=2: 885
+DEAL:0:2d::n_locally_owned_mg_dofs on level=3: 3409
+DEAL:0:2d::
+DEAL:0:3d::n_levels: 4
+DEAL:0:3d::n_cells: 10651
+DEAL:0:3d::n_active_cells: 9324
+DEAL:0:3d::n_cells on level=0: 35
+DEAL:0:3d::n_cells on level=1: 280
+DEAL:0:3d::n_cells on level=2: 1448
+DEAL:0:3d::n_cells on level=3: 8888
+DEAL:0:3d::n_active_cells on level=0: 0
+DEAL:0:3d::n_active_cells on level=1: 99
+DEAL:0:3d::n_active_cells on level=2: 337
+DEAL:0:3d::n_active_cells on level=3: 8888
+DEAL:0:3d::
+DEAL:0:3d::n_dofs: 274625
+DEAL:0:3d::n_locally_owned_dofs: 57409
+DEAL:0:3d::n_dofs on level=0: 729
+DEAL:0:3d::n_dofs on level=1: 4913
+DEAL:0:3d::n_dofs on level=2: 35937
+DEAL:0:3d::n_dofs on level=3: 274625
+DEAL:0:3d::n_locally_owned_mg_dofs on level=0: 197
+DEAL:0:3d::n_locally_owned_mg_dofs on level=1: 1161
+DEAL:0:3d::n_locally_owned_mg_dofs on level=2: 7833
+DEAL:0:3d::n_locally_owned_mg_dofs on level=3: 57409
+DEAL:0:3d::
+
+DEAL:1:1d::n_levels: 7
+DEAL:1:1d::n_cells: 236
+DEAL:1:1d::n_active_cells: 120
+DEAL:1:1d::n_cells on level=0: 4
+DEAL:1:1d::n_cells on level=1: 8
+DEAL:1:1d::n_cells on level=2: 12
+DEAL:1:1d::n_cells on level=3: 18
+DEAL:1:1d::n_cells on level=4: 32
+DEAL:1:1d::n_cells on level=5: 56
+DEAL:1:1d::n_cells on level=6: 106
+DEAL:1:1d::n_active_cells on level=0: 0
+DEAL:1:1d::n_active_cells on level=1: 2
+DEAL:1:1d::n_active_cells on level=2: 3
+DEAL:1:1d::n_active_cells on level=3: 2
+DEAL:1:1d::n_active_cells on level=4: 4
+DEAL:1:1d::n_active_cells on level=5: 3
+DEAL:1:1d::n_active_cells on level=6: 106
+DEAL:1:1d::
+DEAL:1:1d::n_dofs: 1025
+DEAL:1:1d::n_locally_owned_dofs: 204
+DEAL:1:1d::n_dofs on level=0: 17
+DEAL:1:1d::n_dofs on level=1: 33
+DEAL:1:1d::n_dofs on level=2: 65
+DEAL:1:1d::n_dofs on level=3: 129
+DEAL:1:1d::n_dofs on level=4: 257
+DEAL:1:1d::n_dofs on level=5: 513
+DEAL:1:1d::n_dofs on level=6: 1025
+DEAL:1:1d::n_locally_owned_mg_dofs on level=0: 4
+DEAL:1:1d::n_locally_owned_mg_dofs on level=1: 6
+DEAL:1:1d::n_locally_owned_mg_dofs on level=2: 12
+DEAL:1:1d::n_locally_owned_mg_dofs on level=3: 26
+DEAL:1:1d::n_locally_owned_mg_dofs on level=4: 50
+DEAL:1:1d::n_locally_owned_mg_dofs on level=5: 102
+DEAL:1:1d::n_locally_owned_mg_dofs on level=6: 204
+DEAL:1:1d::
+DEAL:1:2d::n_levels: 4
+DEAL:1:2d::n_cells: 1512
+DEAL:1:2d::n_active_cells: 1141
+DEAL:1:2d::n_cells on level=0: 28
+DEAL:1:2d::n_cells on level=1: 112
+DEAL:1:2d::n_cells on level=2: 324
+DEAL:1:2d::n_cells on level=3: 1048
+DEAL:1:2d::n_active_cells on level=0: 0
+DEAL:1:2d::n_active_cells on level=1: 31
+DEAL:1:2d::n_active_cells on level=2: 62
+DEAL:1:2d::n_active_cells on level=3: 1048
+DEAL:1:2d::
+DEAL:1:2d::n_dofs: 16641
+DEAL:1:2d::n_locally_owned_dofs: 3344
+DEAL:1:2d::n_dofs on level=0: 289
+DEAL:1:2d::n_dofs on level=1: 1089
+DEAL:1:2d::n_dofs on level=2: 4225
+DEAL:1:2d::n_dofs on level=3: 16641
+DEAL:1:2d::n_locally_owned_mg_dofs on level=0: 60
+DEAL:1:2d::n_locally_owned_mg_dofs on level=1: 220
+DEAL:1:2d::n_locally_owned_mg_dofs on level=2: 852
+DEAL:1:2d::n_locally_owned_mg_dofs on level=3: 3344
+DEAL:1:2d::
+DEAL:1:3d::n_levels: 4
+DEAL:1:3d::n_cells: 12732
+DEAL:1:3d::n_active_cells: 11146
+DEAL:1:3d::n_cells on level=0: 44
+DEAL:1:3d::n_cells on level=1: 352
+DEAL:1:3d::n_cells on level=2: 1840
+DEAL:1:3d::n_cells on level=3: 10496
+DEAL:1:3d::n_active_cells on level=0: 0
+DEAL:1:3d::n_active_cells on level=1: 122
+DEAL:1:3d::n_active_cells on level=2: 528
+DEAL:1:3d::n_active_cells on level=3: 10496
+DEAL:1:3d::
+DEAL:1:3d::n_dofs: 274625
+DEAL:1:3d::n_locally_owned_dofs: 55264
+DEAL:1:3d::n_dofs on level=0: 729
+DEAL:1:3d::n_dofs on level=1: 4913
+DEAL:1:3d::n_dofs on level=2: 35937
+DEAL:1:3d::n_dofs on level=3: 274625
+DEAL:1:3d::n_locally_owned_mg_dofs on level=0: 152
+DEAL:1:3d::n_locally_owned_mg_dofs on level=1: 1000
+DEAL:1:3d::n_locally_owned_mg_dofs on level=2: 7272
+DEAL:1:3d::n_locally_owned_mg_dofs on level=3: 55264
+DEAL:1:3d::
+
+
+DEAL:2:1d::n_levels: 7
+DEAL:2:1d::n_cells: 233
+DEAL:2:1d::n_active_cells: 118
+DEAL:2:1d::n_cells on level=0: 3
+DEAL:2:1d::n_cells on level=1: 6
+DEAL:2:1d::n_cells on level=2: 10
+DEAL:2:1d::n_cells on level=3: 18
+DEAL:2:1d::n_cells on level=4: 32
+DEAL:2:1d::n_cells on level=5: 56
+DEAL:2:1d::n_cells on level=6: 108
+DEAL:2:1d::n_active_cells on level=0: 0
+DEAL:2:1d::n_active_cells on level=1: 1
+DEAL:2:1d::n_active_cells on level=2: 1
+DEAL:2:1d::n_active_cells on level=3: 2
+DEAL:2:1d::n_active_cells on level=4: 4
+DEAL:2:1d::n_active_cells on level=5: 2
+DEAL:2:1d::n_active_cells on level=6: 108
+DEAL:2:1d::
+DEAL:2:1d::n_dofs: 1025
+DEAL:2:1d::n_locally_owned_dofs: 208
+DEAL:2:1d::n_dofs on level=0: 17
+DEAL:2:1d::n_dofs on level=1: 33
+DEAL:2:1d::n_dofs on level=2: 65
+DEAL:2:1d::n_dofs on level=3: 129
+DEAL:2:1d::n_dofs on level=4: 257
+DEAL:2:1d::n_dofs on level=5: 513
+DEAL:2:1d::n_dofs on level=6: 1025
+DEAL:2:1d::n_locally_owned_mg_dofs on level=0: 2
+DEAL:2:1d::n_locally_owned_mg_dofs on level=1: 6
+DEAL:2:1d::n_locally_owned_mg_dofs on level=2: 14
+DEAL:2:1d::n_locally_owned_mg_dofs on level=3: 26
+DEAL:2:1d::n_locally_owned_mg_dofs on level=4: 52
+DEAL:2:1d::n_locally_owned_mg_dofs on level=5: 104
+DEAL:2:1d::n_locally_owned_mg_dofs on level=6: 208
+DEAL:2:1d::
+DEAL:2:2d::n_levels: 4
+DEAL:2:2d::n_cells: 1669
+DEAL:2:2d::n_active_cells: 1260
+DEAL:2:2d::n_cells on level=0: 33
+DEAL:2:2d::n_cells on level=1: 132
+DEAL:2:2d::n_cells on level=2: 368
+DEAL:2:2d::n_cells on level=3: 1136
+DEAL:2:2d::n_active_cells on level=0: 0
+DEAL:2:2d::n_active_cells on level=1: 40
+DEAL:2:2d::n_active_cells on level=2: 84
+DEAL:2:2d::n_active_cells on level=3: 1136
+DEAL:2:2d::
+DEAL:2:2d::n_dofs: 16641
+DEAL:2:2d::n_locally_owned_dofs: 3296
+DEAL:2:2d::n_dofs on level=0: 289
+DEAL:2:2d::n_dofs on level=1: 1089
+DEAL:2:2d::n_dofs on level=2: 4225
+DEAL:2:2d::n_dofs on level=3: 16641
+DEAL:2:2d::n_locally_owned_mg_dofs on level=0: 56
+DEAL:2:2d::n_locally_owned_mg_dofs on level=1: 212
+DEAL:2:2d::n_locally_owned_mg_dofs on level=2: 832
+DEAL:2:2d::n_locally_owned_mg_dofs on level=3: 3296
+DEAL:2:2d::
+DEAL:2:3d::n_levels: 4
+DEAL:2:3d::n_cells: 12702
+DEAL:2:3d::n_active_cells: 11120
+DEAL:2:3d::n_cells on level=0: 46
+DEAL:2:3d::n_cells on level=1: 368
+DEAL:2:3d::n_cells on level=2: 1872
+DEAL:2:3d::n_cells on level=3: 10416
+DEAL:2:3d::n_active_cells on level=0: 0
+DEAL:2:3d::n_active_cells on level=1: 134
+DEAL:2:3d::n_active_cells on level=2: 570
+DEAL:2:3d::n_active_cells on level=3: 10416
+DEAL:2:3d::
+DEAL:2:3d::n_dofs: 274625
+DEAL:2:3d::n_locally_owned_dofs: 54944
+DEAL:2:3d::n_dofs on level=0: 729
+DEAL:2:3d::n_dofs on level=1: 4913
+DEAL:2:3d::n_dofs on level=2: 35937
+DEAL:2:3d::n_dofs on level=3: 274625
+DEAL:2:3d::n_locally_owned_mg_dofs on level=0: 148
+DEAL:2:3d::n_locally_owned_mg_dofs on level=1: 984
+DEAL:2:3d::n_locally_owned_mg_dofs on level=2: 7184
+DEAL:2:3d::n_locally_owned_mg_dofs on level=3: 54944
+DEAL:2:3d::
+
+
+DEAL:3:1d::n_levels: 7
+DEAL:3:1d::n_cells: 236
+DEAL:3:1d::n_active_cells: 120
+DEAL:3:1d::n_cells on level=0: 4
+DEAL:3:1d::n_cells on level=1: 8
+DEAL:3:1d::n_cells on level=2: 12
+DEAL:3:1d::n_cells on level=3: 18
+DEAL:3:1d::n_cells on level=4: 32
+DEAL:3:1d::n_cells on level=5: 56
+DEAL:3:1d::n_cells on level=6: 106
+DEAL:3:1d::n_active_cells on level=0: 0
+DEAL:3:1d::n_active_cells on level=1: 2
+DEAL:3:1d::n_active_cells on level=2: 3
+DEAL:3:1d::n_active_cells on level=3: 2
+DEAL:3:1d::n_active_cells on level=4: 4
+DEAL:3:1d::n_active_cells on level=5: 3
+DEAL:3:1d::n_active_cells on level=6: 106
+DEAL:3:1d::
+DEAL:3:1d::n_dofs: 1025
+DEAL:3:1d::n_locally_owned_dofs: 204
+DEAL:3:1d::n_dofs on level=0: 17
+DEAL:3:1d::n_dofs on level=1: 33
+DEAL:3:1d::n_dofs on level=2: 65
+DEAL:3:1d::n_dofs on level=3: 129
+DEAL:3:1d::n_dofs on level=4: 257
+DEAL:3:1d::n_dofs on level=5: 513
+DEAL:3:1d::n_dofs on level=6: 1025
+DEAL:3:1d::n_locally_owned_mg_dofs on level=0: 4
+DEAL:3:1d::n_locally_owned_mg_dofs on level=1: 6
+DEAL:3:1d::n_locally_owned_mg_dofs on level=2: 12
+DEAL:3:1d::n_locally_owned_mg_dofs on level=3: 26
+DEAL:3:1d::n_locally_owned_mg_dofs on level=4: 52
+DEAL:3:1d::n_locally_owned_mg_dofs on level=5: 102
+DEAL:3:1d::n_locally_owned_mg_dofs on level=6: 204
+DEAL:3:1d::
+DEAL:3:2d::n_levels: 4
+DEAL:3:2d::n_cells: 1512
+DEAL:3:2d::n_active_cells: 1141
+DEAL:3:2d::n_cells on level=0: 28
+DEAL:3:2d::n_cells on level=1: 112
+DEAL:3:2d::n_cells on level=2: 324
+DEAL:3:2d::n_cells on level=3: 1048
+DEAL:3:2d::n_active_cells on level=0: 0
+DEAL:3:2d::n_active_cells on level=1: 31
+DEAL:3:2d::n_active_cells on level=2: 62
+DEAL:3:2d::n_active_cells on level=3: 1048
+DEAL:3:2d::
+DEAL:3:2d::n_dofs: 16641
+DEAL:3:2d::n_locally_owned_dofs: 3312
+DEAL:3:2d::n_dofs on level=0: 289
+DEAL:3:2d::n_dofs on level=1: 1089
+DEAL:3:2d::n_dofs on level=2: 4225
+DEAL:3:2d::n_dofs on level=3: 16641
+DEAL:3:2d::n_locally_owned_mg_dofs on level=0: 56
+DEAL:3:2d::n_locally_owned_mg_dofs on level=1: 212
+DEAL:3:2d::n_locally_owned_mg_dofs on level=2: 836
+DEAL:3:2d::n_locally_owned_mg_dofs on level=3: 3312
+DEAL:3:2d::
+DEAL:3:3d::n_levels: 4
+DEAL:3:3d::n_cells: 12732
+DEAL:3:3d::n_active_cells: 11146
+DEAL:3:3d::n_cells on level=0: 44
+DEAL:3:3d::n_cells on level=1: 352
+DEAL:3:3d::n_cells on level=2: 1840
+DEAL:3:3d::n_cells on level=3: 10496
+DEAL:3:3d::n_active_cells on level=0: 0
+DEAL:3:3d::n_active_cells on level=1: 122
+DEAL:3:3d::n_active_cells on level=2: 528
+DEAL:3:3d::n_active_cells on level=3: 10496
+DEAL:3:3d::
+DEAL:3:3d::n_dofs: 274625
+DEAL:3:3d::n_locally_owned_dofs: 54080
+DEAL:3:3d::n_dofs on level=0: 729
+DEAL:3:3d::n_dofs on level=1: 4913
+DEAL:3:3d::n_dofs on level=2: 35937
+DEAL:3:3d::n_dofs on level=3: 274625
+DEAL:3:3d::n_locally_owned_mg_dofs on level=0: 128
+DEAL:3:3d::n_locally_owned_mg_dofs on level=1: 920
+DEAL:3:3d::n_locally_owned_mg_dofs on level=2: 6968
+DEAL:3:3d::n_locally_owned_mg_dofs on level=3: 54080
+DEAL:3:3d::
+
+
+DEAL:4:1d::n_levels: 7
+DEAL:4:1d::n_cells: 216
+DEAL:4:1d::n_active_cells: 109
+DEAL:4:1d::n_cells on level=0: 2
+DEAL:4:1d::n_cells on level=1: 4
+DEAL:4:1d::n_cells on level=2: 8
+DEAL:4:1d::n_cells on level=3: 16
+DEAL:4:1d::n_cells on level=4: 28
+DEAL:4:1d::n_cells on level=5: 54
+DEAL:4:1d::n_cells on level=6: 104
+DEAL:4:1d::n_active_cells on level=0: 0
+DEAL:4:1d::n_active_cells on level=1: 0
+DEAL:4:1d::n_active_cells on level=2: 0
+DEAL:4:1d::n_active_cells on level=3: 2
+DEAL:4:1d::n_active_cells on level=4: 1
+DEAL:4:1d::n_active_cells on level=5: 2
+DEAL:4:1d::n_active_cells on level=6: 104
+DEAL:4:1d::
+DEAL:4:1d::n_dofs: 1025
+DEAL:4:1d::n_locally_owned_dofs: 204
+DEAL:4:1d::n_dofs on level=0: 17
+DEAL:4:1d::n_dofs on level=1: 33
+DEAL:4:1d::n_dofs on level=2: 65
+DEAL:4:1d::n_dofs on level=3: 129
+DEAL:4:1d::n_dofs on level=4: 257
+DEAL:4:1d::n_dofs on level=5: 513
+DEAL:4:1d::n_dofs on level=6: 1025
+DEAL:4:1d::n_locally_owned_mg_dofs on level=0: 2
+DEAL:4:1d::n_locally_owned_mg_dofs on level=1: 6
+DEAL:4:1d::n_locally_owned_mg_dofs on level=2: 12
+DEAL:4:1d::n_locally_owned_mg_dofs on level=3: 24
+DEAL:4:1d::n_locally_owned_mg_dofs on level=4: 50
+DEAL:4:1d::n_locally_owned_mg_dofs on level=5: 102
+DEAL:4:1d::n_locally_owned_mg_dofs on level=6: 204
+DEAL:4:1d::
+DEAL:4:2d::n_levels: 4
+DEAL:4:2d::n_cells: 1329
+DEAL:4:2d::n_active_cells: 1002
+DEAL:4:2d::n_cells on level=0: 21
+DEAL:4:2d::n_cells on level=1: 84
+DEAL:4:2d::n_cells on level=2: 272
+DEAL:4:2d::n_cells on level=3: 952
+DEAL:4:2d::n_active_cells on level=0: 0
+DEAL:4:2d::n_active_cells on level=1: 16
+DEAL:4:2d::n_active_cells on level=2: 34
+DEAL:4:2d::n_active_cells on level=3: 952
+DEAL:4:2d::
+DEAL:4:2d::n_dofs: 16641
+DEAL:4:2d::n_locally_owned_dofs: 3280
+DEAL:4:2d::n_dofs on level=0: 289
+DEAL:4:2d::n_dofs on level=1: 1089
+DEAL:4:2d::n_dofs on level=2: 4225
+DEAL:4:2d::n_dofs on level=3: 16641
+DEAL:4:2d::n_locally_owned_mg_dofs on level=0: 48
+DEAL:4:2d::n_locally_owned_mg_dofs on level=1: 204
+DEAL:4:2d::n_locally_owned_mg_dofs on level=2: 820
+DEAL:4:2d::n_locally_owned_mg_dofs on level=3: 3280
+DEAL:4:2d::
+DEAL:4:3d::n_levels: 4
+DEAL:4:3d::n_cells: 10642
+DEAL:4:3d::n_active_cells: 9316
+DEAL:4:3d::n_cells on level=0: 34
+DEAL:4:3d::n_cells on level=1: 272
+DEAL:4:3d::n_cells on level=2: 1448
+DEAL:4:3d::n_cells on level=3: 8888
+DEAL:4:3d::n_active_cells on level=0: 0
+DEAL:4:3d::n_active_cells on level=1: 91
+DEAL:4:3d::n_active_cells on level=2: 337
+DEAL:4:3d::n_active_cells on level=3: 8888
+DEAL:4:3d::
+DEAL:4:3d::n_dofs: 274625
+DEAL:4:3d::n_locally_owned_dofs: 52928
+DEAL:4:3d::n_dofs on level=0: 729
+DEAL:4:3d::n_dofs on level=1: 4913
+DEAL:4:3d::n_dofs on level=2: 35937
+DEAL:4:3d::n_dofs on level=3: 274625
+DEAL:4:3d::n_locally_owned_mg_dofs on level=0: 104
+DEAL:4:3d::n_locally_owned_mg_dofs on level=1: 848
+DEAL:4:3d::n_locally_owned_mg_dofs on level=2: 6680
+DEAL:4:3d::n_locally_owned_mg_dofs on level=3: 52928
+DEAL:4:3d::
+