]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Extract dofs per component 9070/head
authorLuca Heltai <luca.heltai@sissa.it>
Thu, 21 Nov 2019 18:38:41 +0000 (19:38 +0100)
committerLuca Heltai <luca.heltai@sissa.it>
Wed, 11 Dec 2019 12:55:59 +0000 (13:55 +0100)
Extract the set of local, active or relevant DoF indices for each

components within the mask that are owned by the current  processor. For
components disabled by the mask, an empty IndexSet is returned.

For regular DoFHandler objects, this set is the complete set with all
DoF indices. In either case, it equals what
DoFHandler::locally_owned_dofs() returns. The ownership type is fixed by
a small enum that controls which type of ownership is asked off.

Co-authored-by: Bruno Blais <blais.bruno@gmail.com>
doc/news/changes/minor/20191114LucaHeltaiBrunoBlais [new file with mode: 0644]
include/deal.II/dofs/dof_tools.h
source/dofs/dof_tools.cc
source/dofs/dof_tools.inst.in
tests/dofs/extract_dofs_per_component_01.cc [new file with mode: 0644]
tests/dofs/extract_dofs_per_component_01.with_p4est=true.mpirun=1.output [new file with mode: 0644]
tests/dofs/extract_dofs_per_component_01.with_p4est=true.mpirun=3.output [new file with mode: 0644]
tests/dofs/extract_dofs_per_component_02.cc [new file with mode: 0644]
tests/dofs/extract_dofs_per_component_02.with_p4est=true.mpirun=1.output [new file with mode: 0644]
tests/dofs/extract_dofs_per_component_02.with_p4est=true.mpirun=3.output [new file with mode: 0644]

diff --git a/doc/news/changes/minor/20191114LucaHeltaiBrunoBlais b/doc/news/changes/minor/20191114LucaHeltaiBrunoBlais
new file mode 100644 (file)
index 0000000..a4f42e1
--- /dev/null
@@ -0,0 +1,4 @@
+New: DoFTools::locally_owned_dofs_per_component() returns a vector of IndexSet, containing the locally owned
+dofs that refers to the ComponentMask passed as an argument.
+<br>
+(Bruno Blais, Luca Heltai, 2019/11/26)
index 0048749e3f137d169305bf1df7ef30a65720d449..2fe5012db38da3a12fa9066c78b6b674ac8d15c3 100644 (file)
@@ -1697,8 +1697,25 @@ namespace DoFTools
   extract_locally_relevant_dofs(const DoFHandlerType &dof_handler,
                                 IndexSet &            dof_set);
 
+
   /**
+   * Extract the set of locally owned DoF indices for each component within the
+   * mask that are owned by the current  processor. For components disabled by
+   * the mask, an empty IndexSet is returned. For a scalar DoFHandler built on a
+   * sequential triangulation, the return vector contains a single complete
+   * IndexSet with all DoF indices. If the mask contains all components (which
+   * also corresponds to the default value), then the union of the returned
+   * index sets equlas what DoFHandler::locally_owned_dofs() returns.
    *
+   * @authors Bruno Blais, Luca Heltai, 2019
+   */
+  template <typename DoFHandlerType>
+  std::vector<IndexSet>
+  locally_owned_dofs_per_component(
+    const DoFHandlerType &dof_handler,
+    const ComponentMask & components = ComponentMask());
+
+  /**
    * For each processor, determine the set of locally owned degrees of freedom
    * as an IndexSet. This function then returns a vector of index sets, where
    * the vector has size equal to the number of MPI processes that participate
index eea300d155e81c060149947f14dfe47594a13b75..d785bba776e5e42f5d6cd9325ffedb382e7a7183 100644 (file)
@@ -456,6 +456,40 @@ namespace DoFTools
 
 
 
+  template <typename DoFHandlerType>
+  std::vector<IndexSet>
+  locally_owned_dofs_per_component(const DoFHandlerType &dof,
+                                   const ComponentMask & component_mask)
+  {
+    const auto n_comps = dof.get_fe_collection().n_components();
+    Assert(component_mask.represents_n_components(n_comps),
+           ExcMessage(
+             "The given component mask is not sized correctly to represent the "
+             "components of the given finite element."));
+
+    const auto &locally_owned_dofs = dof.locally_owned_dofs();
+
+    // get the component association of each DoF and then select the ones
+    // that match the given set of components
+    std::vector<unsigned char> dofs_by_component(dof.n_locally_owned_dofs());
+    internal::get_component_association(dof, component_mask, dofs_by_component);
+
+    std::vector<IndexSet> index_per_comp(n_comps, IndexSet(dof.n_dofs()));
+
+    for (types::global_dof_index i = 0; i < dof.n_locally_owned_dofs(); ++i)
+      {
+        const auto &comp_i = dofs_by_component[i];
+        if (component_mask[comp_i])
+          index_per_comp[comp_i].add_index(
+            locally_owned_dofs.nth_index_in_set(i));
+      }
+    for (auto &c : index_per_comp)
+      c.compress();
+    return index_per_comp;
+  }
+
+
+
   template <typename DoFHandlerType>
   void
   extract_level_dofs(const unsigned int    level,
index 8f6f286626060d3a9bf948762163b84e3c950e2c..c3d0d14f60c6531c47c19948bf85421d18ad7343 100644 (file)
@@ -38,6 +38,11 @@ for (DoFHandler : DOFHANDLER_TEMPLATES;
       DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
       const DoFHandler<deal_II_dimension, deal_II_space_dimension> &dof_handler,
       IndexSet &                                                    dof_set);
+
+    template std::vector<IndexSet> DoFTools::locally_owned_dofs_per_component<
+      DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
+      const DoFHandler<deal_II_dimension, deal_II_space_dimension> &dof_handler,
+      const ComponentMask &                                         components);
 #endif
   }
 
diff --git a/tests/dofs/extract_dofs_per_component_01.cc b/tests/dofs/extract_dofs_per_component_01.cc
new file mode 100644 (file)
index 0000000..c147723
--- /dev/null
@@ -0,0 +1,86 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2000 - 2018 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.md at
+// the top level directory of deal.II.
+//
+// ---------------------------------------------------------------------
+
+
+// Test extract_dofs_per_components on an hyper cube
+// with two components. The points obtained for component 0
+// of the dofhandler should be identical (and in the same order)
+// as the points obtained for component 1
+
+
+#include <deal.II/distributed/tria.h>
+
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/dofs/dof_tools.h>
+
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/mapping_q.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 "../tests.h"
+
+
+
+template <int dim>
+void
+test()
+{
+  parallel::distributed::Triangulation<dim> tr(MPI_COMM_WORLD);
+
+  GridGenerator::hyper_cube(tr);
+  tr.refine_global(2);
+
+  FESystem<dim>   fe(FE_Q<dim>(1), 2);
+  DoFHandler<dim> dof(tr);
+  dof.distribute_dofs(fe);
+
+  ComponentMask mask(fe.n_components(), true);
+
+  std::vector<IndexSet> dofs_per_components =
+    DoFTools::locally_owned_dofs_per_component(dof, mask);
+
+  MappingQ<dim>                                 mapping(1);
+  std::map<types::global_dof_index, Point<dim>> support_points;
+
+  DoFTools::map_dofs_to_support_points(mapping, dof, support_points);
+
+  for (unsigned int c = 0; c < dofs_per_components.size(); ++c)
+    {
+      deallog << "Component : " << c << std::endl;
+      for (auto index : dofs_per_components[c])
+        deallog << support_points[index] << std::endl;
+    }
+}
+
+
+int
+main(int argc, char **argv)
+{
+  Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1);
+
+  MPILogInitAll init;
+
+  deallog.push("2d");
+  test<2>();
+  deallog.pop();
+  deallog.push("3d");
+  test<3>();
+  deallog.pop();
+}
diff --git a/tests/dofs/extract_dofs_per_component_01.with_p4est=true.mpirun=1.output b/tests/dofs/extract_dofs_per_component_01.with_p4est=true.mpirun=1.output
new file mode 100644 (file)
index 0000000..8345669
--- /dev/null
@@ -0,0 +1,305 @@
+
+DEAL:0:2d::Component : 0
+DEAL:0:2d::0.00000 0.00000
+DEAL:0:2d::0.250000 0.00000
+DEAL:0:2d::0.00000 0.250000
+DEAL:0:2d::0.250000 0.250000
+DEAL:0:2d::0.500000 0.00000
+DEAL:0:2d::0.500000 0.250000
+DEAL:0:2d::0.00000 0.500000
+DEAL:0:2d::0.250000 0.500000
+DEAL:0:2d::0.500000 0.500000
+DEAL:0:2d::0.750000 0.00000
+DEAL:0:2d::0.750000 0.250000
+DEAL:0:2d::1.00000 0.00000
+DEAL:0:2d::1.00000 0.250000
+DEAL:0:2d::0.750000 0.500000
+DEAL:0:2d::1.00000 0.500000
+DEAL:0:2d::0.00000 0.750000
+DEAL:0:2d::0.250000 0.750000
+DEAL:0:2d::0.500000 0.750000
+DEAL:0:2d::0.00000 1.00000
+DEAL:0:2d::0.250000 1.00000
+DEAL:0:2d::0.500000 1.00000
+DEAL:0:2d::0.750000 0.750000
+DEAL:0:2d::1.00000 0.750000
+DEAL:0:2d::0.750000 1.00000
+DEAL:0:2d::1.00000 1.00000
+DEAL:0:2d::Component : 1
+DEAL:0:2d::0.00000 0.00000
+DEAL:0:2d::0.250000 0.00000
+DEAL:0:2d::0.00000 0.250000
+DEAL:0:2d::0.250000 0.250000
+DEAL:0:2d::0.500000 0.00000
+DEAL:0:2d::0.500000 0.250000
+DEAL:0:2d::0.00000 0.500000
+DEAL:0:2d::0.250000 0.500000
+DEAL:0:2d::0.500000 0.500000
+DEAL:0:2d::0.750000 0.00000
+DEAL:0:2d::0.750000 0.250000
+DEAL:0:2d::1.00000 0.00000
+DEAL:0:2d::1.00000 0.250000
+DEAL:0:2d::0.750000 0.500000
+DEAL:0:2d::1.00000 0.500000
+DEAL:0:2d::0.00000 0.750000
+DEAL:0:2d::0.250000 0.750000
+DEAL:0:2d::0.500000 0.750000
+DEAL:0:2d::0.00000 1.00000
+DEAL:0:2d::0.250000 1.00000
+DEAL:0:2d::0.500000 1.00000
+DEAL:0:2d::0.750000 0.750000
+DEAL:0:2d::1.00000 0.750000
+DEAL:0:2d::0.750000 1.00000
+DEAL:0:2d::1.00000 1.00000
+DEAL:0:3d::Component : 0
+DEAL:0:3d::0.00000 0.00000 0.00000
+DEAL:0:3d::0.250000 0.00000 0.00000
+DEAL:0:3d::0.00000 0.250000 0.00000
+DEAL:0:3d::0.250000 0.250000 0.00000
+DEAL:0:3d::0.00000 0.00000 0.250000
+DEAL:0:3d::0.250000 0.00000 0.250000
+DEAL:0:3d::0.00000 0.250000 0.250000
+DEAL:0:3d::0.250000 0.250000 0.250000
+DEAL:0:3d::0.500000 0.00000 0.00000
+DEAL:0:3d::0.500000 0.250000 0.00000
+DEAL:0:3d::0.500000 0.00000 0.250000
+DEAL:0:3d::0.500000 0.250000 0.250000
+DEAL:0:3d::0.00000 0.500000 0.00000
+DEAL:0:3d::0.250000 0.500000 0.00000
+DEAL:0:3d::0.00000 0.500000 0.250000
+DEAL:0:3d::0.250000 0.500000 0.250000
+DEAL:0:3d::0.500000 0.500000 0.00000
+DEAL:0:3d::0.500000 0.500000 0.250000
+DEAL:0:3d::0.00000 0.00000 0.500000
+DEAL:0:3d::0.250000 0.00000 0.500000
+DEAL:0:3d::0.00000 0.250000 0.500000
+DEAL:0:3d::0.250000 0.250000 0.500000
+DEAL:0:3d::0.500000 0.00000 0.500000
+DEAL:0:3d::0.500000 0.250000 0.500000
+DEAL:0:3d::0.00000 0.500000 0.500000
+DEAL:0:3d::0.250000 0.500000 0.500000
+DEAL:0:3d::0.500000 0.500000 0.500000
+DEAL:0:3d::0.750000 0.00000 0.00000
+DEAL:0:3d::0.750000 0.250000 0.00000
+DEAL:0:3d::0.750000 0.00000 0.250000
+DEAL:0:3d::0.750000 0.250000 0.250000
+DEAL:0:3d::1.00000 0.00000 0.00000
+DEAL:0:3d::1.00000 0.250000 0.00000
+DEAL:0:3d::1.00000 0.00000 0.250000
+DEAL:0:3d::1.00000 0.250000 0.250000
+DEAL:0:3d::0.750000 0.500000 0.00000
+DEAL:0:3d::0.750000 0.500000 0.250000
+DEAL:0:3d::1.00000 0.500000 0.00000
+DEAL:0:3d::1.00000 0.500000 0.250000
+DEAL:0:3d::0.750000 0.00000 0.500000
+DEAL:0:3d::0.750000 0.250000 0.500000
+DEAL:0:3d::1.00000 0.00000 0.500000
+DEAL:0:3d::1.00000 0.250000 0.500000
+DEAL:0:3d::0.750000 0.500000 0.500000
+DEAL:0:3d::1.00000 0.500000 0.500000
+DEAL:0:3d::0.00000 0.750000 0.00000
+DEAL:0:3d::0.250000 0.750000 0.00000
+DEAL:0:3d::0.00000 0.750000 0.250000
+DEAL:0:3d::0.250000 0.750000 0.250000
+DEAL:0:3d::0.500000 0.750000 0.00000
+DEAL:0:3d::0.500000 0.750000 0.250000
+DEAL:0:3d::0.00000 1.00000 0.00000
+DEAL:0:3d::0.250000 1.00000 0.00000
+DEAL:0:3d::0.00000 1.00000 0.250000
+DEAL:0:3d::0.250000 1.00000 0.250000
+DEAL:0:3d::0.500000 1.00000 0.00000
+DEAL:0:3d::0.500000 1.00000 0.250000
+DEAL:0:3d::0.00000 0.750000 0.500000
+DEAL:0:3d::0.250000 0.750000 0.500000
+DEAL:0:3d::0.500000 0.750000 0.500000
+DEAL:0:3d::0.00000 1.00000 0.500000
+DEAL:0:3d::0.250000 1.00000 0.500000
+DEAL:0:3d::0.500000 1.00000 0.500000
+DEAL:0:3d::0.750000 0.750000 0.00000
+DEAL:0:3d::0.750000 0.750000 0.250000
+DEAL:0:3d::1.00000 0.750000 0.00000
+DEAL:0:3d::1.00000 0.750000 0.250000
+DEAL:0:3d::0.750000 1.00000 0.00000
+DEAL:0:3d::0.750000 1.00000 0.250000
+DEAL:0:3d::1.00000 1.00000 0.00000
+DEAL:0:3d::1.00000 1.00000 0.250000
+DEAL:0:3d::0.750000 0.750000 0.500000
+DEAL:0:3d::1.00000 0.750000 0.500000
+DEAL:0:3d::0.750000 1.00000 0.500000
+DEAL:0:3d::1.00000 1.00000 0.500000
+DEAL:0:3d::0.00000 0.00000 0.750000
+DEAL:0:3d::0.250000 0.00000 0.750000
+DEAL:0:3d::0.00000 0.250000 0.750000
+DEAL:0:3d::0.250000 0.250000 0.750000
+DEAL:0:3d::0.500000 0.00000 0.750000
+DEAL:0:3d::0.500000 0.250000 0.750000
+DEAL:0:3d::0.00000 0.500000 0.750000
+DEAL:0:3d::0.250000 0.500000 0.750000
+DEAL:0:3d::0.500000 0.500000 0.750000
+DEAL:0:3d::0.00000 0.00000 1.00000
+DEAL:0:3d::0.250000 0.00000 1.00000
+DEAL:0:3d::0.00000 0.250000 1.00000
+DEAL:0:3d::0.250000 0.250000 1.00000
+DEAL:0:3d::0.500000 0.00000 1.00000
+DEAL:0:3d::0.500000 0.250000 1.00000
+DEAL:0:3d::0.00000 0.500000 1.00000
+DEAL:0:3d::0.250000 0.500000 1.00000
+DEAL:0:3d::0.500000 0.500000 1.00000
+DEAL:0:3d::0.750000 0.00000 0.750000
+DEAL:0:3d::0.750000 0.250000 0.750000
+DEAL:0:3d::1.00000 0.00000 0.750000
+DEAL:0:3d::1.00000 0.250000 0.750000
+DEAL:0:3d::0.750000 0.500000 0.750000
+DEAL:0:3d::1.00000 0.500000 0.750000
+DEAL:0:3d::0.750000 0.00000 1.00000
+DEAL:0:3d::0.750000 0.250000 1.00000
+DEAL:0:3d::1.00000 0.00000 1.00000
+DEAL:0:3d::1.00000 0.250000 1.00000
+DEAL:0:3d::0.750000 0.500000 1.00000
+DEAL:0:3d::1.00000 0.500000 1.00000
+DEAL:0:3d::0.00000 0.750000 0.750000
+DEAL:0:3d::0.250000 0.750000 0.750000
+DEAL:0:3d::0.500000 0.750000 0.750000
+DEAL:0:3d::0.00000 1.00000 0.750000
+DEAL:0:3d::0.250000 1.00000 0.750000
+DEAL:0:3d::0.500000 1.00000 0.750000
+DEAL:0:3d::0.00000 0.750000 1.00000
+DEAL:0:3d::0.250000 0.750000 1.00000
+DEAL:0:3d::0.500000 0.750000 1.00000
+DEAL:0:3d::0.00000 1.00000 1.00000
+DEAL:0:3d::0.250000 1.00000 1.00000
+DEAL:0:3d::0.500000 1.00000 1.00000
+DEAL:0:3d::0.750000 0.750000 0.750000
+DEAL:0:3d::1.00000 0.750000 0.750000
+DEAL:0:3d::0.750000 1.00000 0.750000
+DEAL:0:3d::1.00000 1.00000 0.750000
+DEAL:0:3d::0.750000 0.750000 1.00000
+DEAL:0:3d::1.00000 0.750000 1.00000
+DEAL:0:3d::0.750000 1.00000 1.00000
+DEAL:0:3d::1.00000 1.00000 1.00000
+DEAL:0:3d::Component : 1
+DEAL:0:3d::0.00000 0.00000 0.00000
+DEAL:0:3d::0.250000 0.00000 0.00000
+DEAL:0:3d::0.00000 0.250000 0.00000
+DEAL:0:3d::0.250000 0.250000 0.00000
+DEAL:0:3d::0.00000 0.00000 0.250000
+DEAL:0:3d::0.250000 0.00000 0.250000
+DEAL:0:3d::0.00000 0.250000 0.250000
+DEAL:0:3d::0.250000 0.250000 0.250000
+DEAL:0:3d::0.500000 0.00000 0.00000
+DEAL:0:3d::0.500000 0.250000 0.00000
+DEAL:0:3d::0.500000 0.00000 0.250000
+DEAL:0:3d::0.500000 0.250000 0.250000
+DEAL:0:3d::0.00000 0.500000 0.00000
+DEAL:0:3d::0.250000 0.500000 0.00000
+DEAL:0:3d::0.00000 0.500000 0.250000
+DEAL:0:3d::0.250000 0.500000 0.250000
+DEAL:0:3d::0.500000 0.500000 0.00000
+DEAL:0:3d::0.500000 0.500000 0.250000
+DEAL:0:3d::0.00000 0.00000 0.500000
+DEAL:0:3d::0.250000 0.00000 0.500000
+DEAL:0:3d::0.00000 0.250000 0.500000
+DEAL:0:3d::0.250000 0.250000 0.500000
+DEAL:0:3d::0.500000 0.00000 0.500000
+DEAL:0:3d::0.500000 0.250000 0.500000
+DEAL:0:3d::0.00000 0.500000 0.500000
+DEAL:0:3d::0.250000 0.500000 0.500000
+DEAL:0:3d::0.500000 0.500000 0.500000
+DEAL:0:3d::0.750000 0.00000 0.00000
+DEAL:0:3d::0.750000 0.250000 0.00000
+DEAL:0:3d::0.750000 0.00000 0.250000
+DEAL:0:3d::0.750000 0.250000 0.250000
+DEAL:0:3d::1.00000 0.00000 0.00000
+DEAL:0:3d::1.00000 0.250000 0.00000
+DEAL:0:3d::1.00000 0.00000 0.250000
+DEAL:0:3d::1.00000 0.250000 0.250000
+DEAL:0:3d::0.750000 0.500000 0.00000
+DEAL:0:3d::0.750000 0.500000 0.250000
+DEAL:0:3d::1.00000 0.500000 0.00000
+DEAL:0:3d::1.00000 0.500000 0.250000
+DEAL:0:3d::0.750000 0.00000 0.500000
+DEAL:0:3d::0.750000 0.250000 0.500000
+DEAL:0:3d::1.00000 0.00000 0.500000
+DEAL:0:3d::1.00000 0.250000 0.500000
+DEAL:0:3d::0.750000 0.500000 0.500000
+DEAL:0:3d::1.00000 0.500000 0.500000
+DEAL:0:3d::0.00000 0.750000 0.00000
+DEAL:0:3d::0.250000 0.750000 0.00000
+DEAL:0:3d::0.00000 0.750000 0.250000
+DEAL:0:3d::0.250000 0.750000 0.250000
+DEAL:0:3d::0.500000 0.750000 0.00000
+DEAL:0:3d::0.500000 0.750000 0.250000
+DEAL:0:3d::0.00000 1.00000 0.00000
+DEAL:0:3d::0.250000 1.00000 0.00000
+DEAL:0:3d::0.00000 1.00000 0.250000
+DEAL:0:3d::0.250000 1.00000 0.250000
+DEAL:0:3d::0.500000 1.00000 0.00000
+DEAL:0:3d::0.500000 1.00000 0.250000
+DEAL:0:3d::0.00000 0.750000 0.500000
+DEAL:0:3d::0.250000 0.750000 0.500000
+DEAL:0:3d::0.500000 0.750000 0.500000
+DEAL:0:3d::0.00000 1.00000 0.500000
+DEAL:0:3d::0.250000 1.00000 0.500000
+DEAL:0:3d::0.500000 1.00000 0.500000
+DEAL:0:3d::0.750000 0.750000 0.00000
+DEAL:0:3d::0.750000 0.750000 0.250000
+DEAL:0:3d::1.00000 0.750000 0.00000
+DEAL:0:3d::1.00000 0.750000 0.250000
+DEAL:0:3d::0.750000 1.00000 0.00000
+DEAL:0:3d::0.750000 1.00000 0.250000
+DEAL:0:3d::1.00000 1.00000 0.00000
+DEAL:0:3d::1.00000 1.00000 0.250000
+DEAL:0:3d::0.750000 0.750000 0.500000
+DEAL:0:3d::1.00000 0.750000 0.500000
+DEAL:0:3d::0.750000 1.00000 0.500000
+DEAL:0:3d::1.00000 1.00000 0.500000
+DEAL:0:3d::0.00000 0.00000 0.750000
+DEAL:0:3d::0.250000 0.00000 0.750000
+DEAL:0:3d::0.00000 0.250000 0.750000
+DEAL:0:3d::0.250000 0.250000 0.750000
+DEAL:0:3d::0.500000 0.00000 0.750000
+DEAL:0:3d::0.500000 0.250000 0.750000
+DEAL:0:3d::0.00000 0.500000 0.750000
+DEAL:0:3d::0.250000 0.500000 0.750000
+DEAL:0:3d::0.500000 0.500000 0.750000
+DEAL:0:3d::0.00000 0.00000 1.00000
+DEAL:0:3d::0.250000 0.00000 1.00000
+DEAL:0:3d::0.00000 0.250000 1.00000
+DEAL:0:3d::0.250000 0.250000 1.00000
+DEAL:0:3d::0.500000 0.00000 1.00000
+DEAL:0:3d::0.500000 0.250000 1.00000
+DEAL:0:3d::0.00000 0.500000 1.00000
+DEAL:0:3d::0.250000 0.500000 1.00000
+DEAL:0:3d::0.500000 0.500000 1.00000
+DEAL:0:3d::0.750000 0.00000 0.750000
+DEAL:0:3d::0.750000 0.250000 0.750000
+DEAL:0:3d::1.00000 0.00000 0.750000
+DEAL:0:3d::1.00000 0.250000 0.750000
+DEAL:0:3d::0.750000 0.500000 0.750000
+DEAL:0:3d::1.00000 0.500000 0.750000
+DEAL:0:3d::0.750000 0.00000 1.00000
+DEAL:0:3d::0.750000 0.250000 1.00000
+DEAL:0:3d::1.00000 0.00000 1.00000
+DEAL:0:3d::1.00000 0.250000 1.00000
+DEAL:0:3d::0.750000 0.500000 1.00000
+DEAL:0:3d::1.00000 0.500000 1.00000
+DEAL:0:3d::0.00000 0.750000 0.750000
+DEAL:0:3d::0.250000 0.750000 0.750000
+DEAL:0:3d::0.500000 0.750000 0.750000
+DEAL:0:3d::0.00000 1.00000 0.750000
+DEAL:0:3d::0.250000 1.00000 0.750000
+DEAL:0:3d::0.500000 1.00000 0.750000
+DEAL:0:3d::0.00000 0.750000 1.00000
+DEAL:0:3d::0.250000 0.750000 1.00000
+DEAL:0:3d::0.500000 0.750000 1.00000
+DEAL:0:3d::0.00000 1.00000 1.00000
+DEAL:0:3d::0.250000 1.00000 1.00000
+DEAL:0:3d::0.500000 1.00000 1.00000
+DEAL:0:3d::0.750000 0.750000 0.750000
+DEAL:0:3d::1.00000 0.750000 0.750000
+DEAL:0:3d::0.750000 1.00000 0.750000
+DEAL:0:3d::1.00000 1.00000 0.750000
+DEAL:0:3d::0.750000 0.750000 1.00000
+DEAL:0:3d::1.00000 0.750000 1.00000
+DEAL:0:3d::0.750000 1.00000 1.00000
+DEAL:0:3d::1.00000 1.00000 1.00000
diff --git a/tests/dofs/extract_dofs_per_component_01.with_p4est=true.mpirun=3.output b/tests/dofs/extract_dofs_per_component_01.with_p4est=true.mpirun=3.output
new file mode 100644 (file)
index 0000000..da2b0b1
--- /dev/null
@@ -0,0 +1,317 @@
+
+DEAL:0:2d::Component : 0
+DEAL:0:2d::0.00000 0.00000
+DEAL:0:2d::0.250000 0.00000
+DEAL:0:2d::0.00000 0.250000
+DEAL:0:2d::0.250000 0.250000
+DEAL:0:2d::0.500000 0.00000
+DEAL:0:2d::0.500000 0.250000
+DEAL:0:2d::0.00000 0.500000
+DEAL:0:2d::0.250000 0.500000
+DEAL:0:2d::0.500000 0.500000
+DEAL:0:2d::Component : 1
+DEAL:0:2d::0.00000 0.00000
+DEAL:0:2d::0.250000 0.00000
+DEAL:0:2d::0.00000 0.250000
+DEAL:0:2d::0.250000 0.250000
+DEAL:0:2d::0.500000 0.00000
+DEAL:0:2d::0.500000 0.250000
+DEAL:0:2d::0.00000 0.500000
+DEAL:0:2d::0.250000 0.500000
+DEAL:0:2d::0.500000 0.500000
+DEAL:0:3d::Component : 0
+DEAL:0:3d::0.00000 0.00000 0.00000
+DEAL:0:3d::0.250000 0.00000 0.00000
+DEAL:0:3d::0.00000 0.250000 0.00000
+DEAL:0:3d::0.250000 0.250000 0.00000
+DEAL:0:3d::0.00000 0.00000 0.250000
+DEAL:0:3d::0.250000 0.00000 0.250000
+DEAL:0:3d::0.00000 0.250000 0.250000
+DEAL:0:3d::0.250000 0.250000 0.250000
+DEAL:0:3d::0.500000 0.00000 0.00000
+DEAL:0:3d::0.500000 0.250000 0.00000
+DEAL:0:3d::0.500000 0.00000 0.250000
+DEAL:0:3d::0.500000 0.250000 0.250000
+DEAL:0:3d::0.00000 0.500000 0.00000
+DEAL:0:3d::0.250000 0.500000 0.00000
+DEAL:0:3d::0.00000 0.500000 0.250000
+DEAL:0:3d::0.250000 0.500000 0.250000
+DEAL:0:3d::0.500000 0.500000 0.00000
+DEAL:0:3d::0.500000 0.500000 0.250000
+DEAL:0:3d::0.00000 0.00000 0.500000
+DEAL:0:3d::0.250000 0.00000 0.500000
+DEAL:0:3d::0.00000 0.250000 0.500000
+DEAL:0:3d::0.250000 0.250000 0.500000
+DEAL:0:3d::0.500000 0.00000 0.500000
+DEAL:0:3d::0.500000 0.250000 0.500000
+DEAL:0:3d::0.00000 0.500000 0.500000
+DEAL:0:3d::0.250000 0.500000 0.500000
+DEAL:0:3d::0.500000 0.500000 0.500000
+DEAL:0:3d::0.750000 0.00000 0.00000
+DEAL:0:3d::0.750000 0.250000 0.00000
+DEAL:0:3d::0.750000 0.00000 0.250000
+DEAL:0:3d::0.750000 0.250000 0.250000
+DEAL:0:3d::1.00000 0.00000 0.00000
+DEAL:0:3d::1.00000 0.250000 0.00000
+DEAL:0:3d::1.00000 0.00000 0.250000
+DEAL:0:3d::1.00000 0.250000 0.250000
+DEAL:0:3d::0.750000 0.500000 0.00000
+DEAL:0:3d::0.750000 0.500000 0.250000
+DEAL:0:3d::1.00000 0.500000 0.00000
+DEAL:0:3d::1.00000 0.500000 0.250000
+DEAL:0:3d::0.750000 0.00000 0.500000
+DEAL:0:3d::0.750000 0.250000 0.500000
+DEAL:0:3d::1.00000 0.00000 0.500000
+DEAL:0:3d::1.00000 0.250000 0.500000
+DEAL:0:3d::0.750000 0.500000 0.500000
+DEAL:0:3d::1.00000 0.500000 0.500000
+DEAL:0:3d::0.00000 0.750000 0.00000
+DEAL:0:3d::0.250000 0.750000 0.00000
+DEAL:0:3d::0.00000 0.750000 0.250000
+DEAL:0:3d::0.250000 0.750000 0.250000
+DEAL:0:3d::0.500000 0.750000 0.00000
+DEAL:0:3d::0.500000 0.750000 0.250000
+DEAL:0:3d::0.00000 1.00000 0.00000
+DEAL:0:3d::0.250000 1.00000 0.00000
+DEAL:0:3d::0.00000 1.00000 0.250000
+DEAL:0:3d::0.250000 1.00000 0.250000
+DEAL:0:3d::0.500000 1.00000 0.00000
+DEAL:0:3d::0.500000 1.00000 0.250000
+DEAL:0:3d::0.00000 0.750000 0.500000
+DEAL:0:3d::0.250000 0.750000 0.500000
+DEAL:0:3d::0.500000 0.750000 0.500000
+DEAL:0:3d::0.00000 1.00000 0.500000
+DEAL:0:3d::0.250000 1.00000 0.500000
+DEAL:0:3d::0.500000 1.00000 0.500000
+DEAL:0:3d::Component : 1
+DEAL:0:3d::0.00000 0.00000 0.00000
+DEAL:0:3d::0.250000 0.00000 0.00000
+DEAL:0:3d::0.00000 0.250000 0.00000
+DEAL:0:3d::0.250000 0.250000 0.00000
+DEAL:0:3d::0.00000 0.00000 0.250000
+DEAL:0:3d::0.250000 0.00000 0.250000
+DEAL:0:3d::0.00000 0.250000 0.250000
+DEAL:0:3d::0.250000 0.250000 0.250000
+DEAL:0:3d::0.500000 0.00000 0.00000
+DEAL:0:3d::0.500000 0.250000 0.00000
+DEAL:0:3d::0.500000 0.00000 0.250000
+DEAL:0:3d::0.500000 0.250000 0.250000
+DEAL:0:3d::0.00000 0.500000 0.00000
+DEAL:0:3d::0.250000 0.500000 0.00000
+DEAL:0:3d::0.00000 0.500000 0.250000
+DEAL:0:3d::0.250000 0.500000 0.250000
+DEAL:0:3d::0.500000 0.500000 0.00000
+DEAL:0:3d::0.500000 0.500000 0.250000
+DEAL:0:3d::0.00000 0.00000 0.500000
+DEAL:0:3d::0.250000 0.00000 0.500000
+DEAL:0:3d::0.00000 0.250000 0.500000
+DEAL:0:3d::0.250000 0.250000 0.500000
+DEAL:0:3d::0.500000 0.00000 0.500000
+DEAL:0:3d::0.500000 0.250000 0.500000
+DEAL:0:3d::0.00000 0.500000 0.500000
+DEAL:0:3d::0.250000 0.500000 0.500000
+DEAL:0:3d::0.500000 0.500000 0.500000
+DEAL:0:3d::0.750000 0.00000 0.00000
+DEAL:0:3d::0.750000 0.250000 0.00000
+DEAL:0:3d::0.750000 0.00000 0.250000
+DEAL:0:3d::0.750000 0.250000 0.250000
+DEAL:0:3d::1.00000 0.00000 0.00000
+DEAL:0:3d::1.00000 0.250000 0.00000
+DEAL:0:3d::1.00000 0.00000 0.250000
+DEAL:0:3d::1.00000 0.250000 0.250000
+DEAL:0:3d::0.750000 0.500000 0.00000
+DEAL:0:3d::0.750000 0.500000 0.250000
+DEAL:0:3d::1.00000 0.500000 0.00000
+DEAL:0:3d::1.00000 0.500000 0.250000
+DEAL:0:3d::0.750000 0.00000 0.500000
+DEAL:0:3d::0.750000 0.250000 0.500000
+DEAL:0:3d::1.00000 0.00000 0.500000
+DEAL:0:3d::1.00000 0.250000 0.500000
+DEAL:0:3d::0.750000 0.500000 0.500000
+DEAL:0:3d::1.00000 0.500000 0.500000
+DEAL:0:3d::0.00000 0.750000 0.00000
+DEAL:0:3d::0.250000 0.750000 0.00000
+DEAL:0:3d::0.00000 0.750000 0.250000
+DEAL:0:3d::0.250000 0.750000 0.250000
+DEAL:0:3d::0.500000 0.750000 0.00000
+DEAL:0:3d::0.500000 0.750000 0.250000
+DEAL:0:3d::0.00000 1.00000 0.00000
+DEAL:0:3d::0.250000 1.00000 0.00000
+DEAL:0:3d::0.00000 1.00000 0.250000
+DEAL:0:3d::0.250000 1.00000 0.250000
+DEAL:0:3d::0.500000 1.00000 0.00000
+DEAL:0:3d::0.500000 1.00000 0.250000
+DEAL:0:3d::0.00000 0.750000 0.500000
+DEAL:0:3d::0.250000 0.750000 0.500000
+DEAL:0:3d::0.500000 0.750000 0.500000
+DEAL:0:3d::0.00000 1.00000 0.500000
+DEAL:0:3d::0.250000 1.00000 0.500000
+DEAL:0:3d::0.500000 1.00000 0.500000
+
+DEAL:1:2d::Component : 0
+DEAL:1:2d::0.750000 0.00000
+DEAL:1:2d::0.750000 0.250000
+DEAL:1:2d::1.00000 0.00000
+DEAL:1:2d::1.00000 0.250000
+DEAL:1:2d::0.750000 0.500000
+DEAL:1:2d::1.00000 0.500000
+DEAL:1:2d::0.00000 0.750000
+DEAL:1:2d::0.250000 0.750000
+DEAL:1:2d::0.500000 0.750000
+DEAL:1:2d::0.00000 1.00000
+DEAL:1:2d::0.250000 1.00000
+DEAL:1:2d::0.500000 1.00000
+DEAL:1:2d::Component : 1
+DEAL:1:2d::0.750000 0.00000
+DEAL:1:2d::0.750000 0.250000
+DEAL:1:2d::1.00000 0.00000
+DEAL:1:2d::1.00000 0.250000
+DEAL:1:2d::0.750000 0.500000
+DEAL:1:2d::1.00000 0.500000
+DEAL:1:2d::0.00000 0.750000
+DEAL:1:2d::0.250000 0.750000
+DEAL:1:2d::0.500000 0.750000
+DEAL:1:2d::0.00000 1.00000
+DEAL:1:2d::0.250000 1.00000
+DEAL:1:2d::0.500000 1.00000
+DEAL:1:3d::Component : 0
+DEAL:1:3d::0.750000 0.750000 0.00000
+DEAL:1:3d::0.750000 0.750000 0.250000
+DEAL:1:3d::1.00000 0.750000 0.00000
+DEAL:1:3d::1.00000 0.750000 0.250000
+DEAL:1:3d::0.750000 1.00000 0.00000
+DEAL:1:3d::0.750000 1.00000 0.250000
+DEAL:1:3d::1.00000 1.00000 0.00000
+DEAL:1:3d::1.00000 1.00000 0.250000
+DEAL:1:3d::0.750000 0.750000 0.500000
+DEAL:1:3d::1.00000 0.750000 0.500000
+DEAL:1:3d::0.750000 1.00000 0.500000
+DEAL:1:3d::1.00000 1.00000 0.500000
+DEAL:1:3d::0.00000 0.00000 0.750000
+DEAL:1:3d::0.250000 0.00000 0.750000
+DEAL:1:3d::0.00000 0.250000 0.750000
+DEAL:1:3d::0.250000 0.250000 0.750000
+DEAL:1:3d::0.500000 0.00000 0.750000
+DEAL:1:3d::0.500000 0.250000 0.750000
+DEAL:1:3d::0.00000 0.500000 0.750000
+DEAL:1:3d::0.250000 0.500000 0.750000
+DEAL:1:3d::0.500000 0.500000 0.750000
+DEAL:1:3d::0.00000 0.00000 1.00000
+DEAL:1:3d::0.250000 0.00000 1.00000
+DEAL:1:3d::0.00000 0.250000 1.00000
+DEAL:1:3d::0.250000 0.250000 1.00000
+DEAL:1:3d::0.500000 0.00000 1.00000
+DEAL:1:3d::0.500000 0.250000 1.00000
+DEAL:1:3d::0.00000 0.500000 1.00000
+DEAL:1:3d::0.250000 0.500000 1.00000
+DEAL:1:3d::0.500000 0.500000 1.00000
+DEAL:1:3d::Component : 1
+DEAL:1:3d::0.750000 0.750000 0.00000
+DEAL:1:3d::0.750000 0.750000 0.250000
+DEAL:1:3d::1.00000 0.750000 0.00000
+DEAL:1:3d::1.00000 0.750000 0.250000
+DEAL:1:3d::0.750000 1.00000 0.00000
+DEAL:1:3d::0.750000 1.00000 0.250000
+DEAL:1:3d::1.00000 1.00000 0.00000
+DEAL:1:3d::1.00000 1.00000 0.250000
+DEAL:1:3d::0.750000 0.750000 0.500000
+DEAL:1:3d::1.00000 0.750000 0.500000
+DEAL:1:3d::0.750000 1.00000 0.500000
+DEAL:1:3d::1.00000 1.00000 0.500000
+DEAL:1:3d::0.00000 0.00000 0.750000
+DEAL:1:3d::0.250000 0.00000 0.750000
+DEAL:1:3d::0.00000 0.250000 0.750000
+DEAL:1:3d::0.250000 0.250000 0.750000
+DEAL:1:3d::0.500000 0.00000 0.750000
+DEAL:1:3d::0.500000 0.250000 0.750000
+DEAL:1:3d::0.00000 0.500000 0.750000
+DEAL:1:3d::0.250000 0.500000 0.750000
+DEAL:1:3d::0.500000 0.500000 0.750000
+DEAL:1:3d::0.00000 0.00000 1.00000
+DEAL:1:3d::0.250000 0.00000 1.00000
+DEAL:1:3d::0.00000 0.250000 1.00000
+DEAL:1:3d::0.250000 0.250000 1.00000
+DEAL:1:3d::0.500000 0.00000 1.00000
+DEAL:1:3d::0.500000 0.250000 1.00000
+DEAL:1:3d::0.00000 0.500000 1.00000
+DEAL:1:3d::0.250000 0.500000 1.00000
+DEAL:1:3d::0.500000 0.500000 1.00000
+
+
+DEAL:2:2d::Component : 0
+DEAL:2:2d::0.750000 0.750000
+DEAL:2:2d::1.00000 0.750000
+DEAL:2:2d::0.750000 1.00000
+DEAL:2:2d::1.00000 1.00000
+DEAL:2:2d::Component : 1
+DEAL:2:2d::0.750000 0.750000
+DEAL:2:2d::1.00000 0.750000
+DEAL:2:2d::0.750000 1.00000
+DEAL:2:2d::1.00000 1.00000
+DEAL:2:3d::Component : 0
+DEAL:2:3d::0.750000 0.00000 0.750000
+DEAL:2:3d::0.750000 0.250000 0.750000
+DEAL:2:3d::1.00000 0.00000 0.750000
+DEAL:2:3d::1.00000 0.250000 0.750000
+DEAL:2:3d::0.750000 0.500000 0.750000
+DEAL:2:3d::1.00000 0.500000 0.750000
+DEAL:2:3d::0.750000 0.00000 1.00000
+DEAL:2:3d::0.750000 0.250000 1.00000
+DEAL:2:3d::1.00000 0.00000 1.00000
+DEAL:2:3d::1.00000 0.250000 1.00000
+DEAL:2:3d::0.750000 0.500000 1.00000
+DEAL:2:3d::1.00000 0.500000 1.00000
+DEAL:2:3d::0.00000 0.750000 0.750000
+DEAL:2:3d::0.250000 0.750000 0.750000
+DEAL:2:3d::0.500000 0.750000 0.750000
+DEAL:2:3d::0.00000 1.00000 0.750000
+DEAL:2:3d::0.250000 1.00000 0.750000
+DEAL:2:3d::0.500000 1.00000 0.750000
+DEAL:2:3d::0.00000 0.750000 1.00000
+DEAL:2:3d::0.250000 0.750000 1.00000
+DEAL:2:3d::0.500000 0.750000 1.00000
+DEAL:2:3d::0.00000 1.00000 1.00000
+DEAL:2:3d::0.250000 1.00000 1.00000
+DEAL:2:3d::0.500000 1.00000 1.00000
+DEAL:2:3d::0.750000 0.750000 0.750000
+DEAL:2:3d::1.00000 0.750000 0.750000
+DEAL:2:3d::0.750000 1.00000 0.750000
+DEAL:2:3d::1.00000 1.00000 0.750000
+DEAL:2:3d::0.750000 0.750000 1.00000
+DEAL:2:3d::1.00000 0.750000 1.00000
+DEAL:2:3d::0.750000 1.00000 1.00000
+DEAL:2:3d::1.00000 1.00000 1.00000
+DEAL:2:3d::Component : 1
+DEAL:2:3d::0.750000 0.00000 0.750000
+DEAL:2:3d::0.750000 0.250000 0.750000
+DEAL:2:3d::1.00000 0.00000 0.750000
+DEAL:2:3d::1.00000 0.250000 0.750000
+DEAL:2:3d::0.750000 0.500000 0.750000
+DEAL:2:3d::1.00000 0.500000 0.750000
+DEAL:2:3d::0.750000 0.00000 1.00000
+DEAL:2:3d::0.750000 0.250000 1.00000
+DEAL:2:3d::1.00000 0.00000 1.00000
+DEAL:2:3d::1.00000 0.250000 1.00000
+DEAL:2:3d::0.750000 0.500000 1.00000
+DEAL:2:3d::1.00000 0.500000 1.00000
+DEAL:2:3d::0.00000 0.750000 0.750000
+DEAL:2:3d::0.250000 0.750000 0.750000
+DEAL:2:3d::0.500000 0.750000 0.750000
+DEAL:2:3d::0.00000 1.00000 0.750000
+DEAL:2:3d::0.250000 1.00000 0.750000
+DEAL:2:3d::0.500000 1.00000 0.750000
+DEAL:2:3d::0.00000 0.750000 1.00000
+DEAL:2:3d::0.250000 0.750000 1.00000
+DEAL:2:3d::0.500000 0.750000 1.00000
+DEAL:2:3d::0.00000 1.00000 1.00000
+DEAL:2:3d::0.250000 1.00000 1.00000
+DEAL:2:3d::0.500000 1.00000 1.00000
+DEAL:2:3d::0.750000 0.750000 0.750000
+DEAL:2:3d::1.00000 0.750000 0.750000
+DEAL:2:3d::0.750000 1.00000 0.750000
+DEAL:2:3d::1.00000 1.00000 0.750000
+DEAL:2:3d::0.750000 0.750000 1.00000
+DEAL:2:3d::1.00000 0.750000 1.00000
+DEAL:2:3d::0.750000 1.00000 1.00000
+DEAL:2:3d::1.00000 1.00000 1.00000
+
diff --git a/tests/dofs/extract_dofs_per_component_02.cc b/tests/dofs/extract_dofs_per_component_02.cc
new file mode 100644 (file)
index 0000000..b423f66
--- /dev/null
@@ -0,0 +1,86 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2000 - 2018 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.md at
+// the top level directory of deal.II.
+//
+// ---------------------------------------------------------------------
+
+
+// Test extract_dofs_per_components on an hyper cube
+// with three components. The mask of component 1 is set to false
+// and only component 0 and component 1 should be extracted
+
+
+#include <deal.II/distributed/tria.h>
+
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/dofs/dof_tools.h>
+
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/mapping_q.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 "../tests.h"
+
+
+
+template <int dim>
+void
+test()
+{
+  parallel::distributed::Triangulation<dim> tr(MPI_COMM_WORLD);
+
+  GridGenerator::hyper_cube(tr);
+  tr.refine_global(2);
+
+  FESystem<dim>   fe(FE_Q<dim>(1), 3);
+  DoFHandler<dim> dof(tr);
+  dof.distribute_dofs(fe);
+
+  ComponentMask mask(fe.n_components(), true);
+  mask.set(1, false);
+
+  std::vector<IndexSet> dofs_per_components =
+    DoFTools::locally_owned_dofs_per_component(dof, mask);
+
+  MappingQ<dim>                                 mapping(1);
+  std::map<types::global_dof_index, Point<dim>> support_points;
+
+  DoFTools::map_dofs_to_support_points(mapping, dof, support_points);
+
+  for (unsigned int c = 0; c < dofs_per_components.size(); ++c)
+    {
+      deallog << "Component : " << c << std::endl;
+      for (auto index : dofs_per_components[c])
+        deallog << support_points[index] << std::endl;
+    }
+}
+
+
+int
+main(int argc, char **argv)
+{
+  Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1);
+
+  MPILogInitAll init;
+
+  deallog.push("2d");
+  test<2>();
+  deallog.pop();
+  deallog.push("3d");
+  test<3>();
+  deallog.pop();
+}
diff --git a/tests/dofs/extract_dofs_per_component_02.with_p4est=true.mpirun=1.output b/tests/dofs/extract_dofs_per_component_02.with_p4est=true.mpirun=1.output
new file mode 100644 (file)
index 0000000..80b75ee
--- /dev/null
@@ -0,0 +1,307 @@
+
+DEAL:0:2d::Component : 0
+DEAL:0:2d::0.00000 0.00000
+DEAL:0:2d::0.250000 0.00000
+DEAL:0:2d::0.00000 0.250000
+DEAL:0:2d::0.250000 0.250000
+DEAL:0:2d::0.500000 0.00000
+DEAL:0:2d::0.500000 0.250000
+DEAL:0:2d::0.00000 0.500000
+DEAL:0:2d::0.250000 0.500000
+DEAL:0:2d::0.500000 0.500000
+DEAL:0:2d::0.750000 0.00000
+DEAL:0:2d::0.750000 0.250000
+DEAL:0:2d::1.00000 0.00000
+DEAL:0:2d::1.00000 0.250000
+DEAL:0:2d::0.750000 0.500000
+DEAL:0:2d::1.00000 0.500000
+DEAL:0:2d::0.00000 0.750000
+DEAL:0:2d::0.250000 0.750000
+DEAL:0:2d::0.500000 0.750000
+DEAL:0:2d::0.00000 1.00000
+DEAL:0:2d::0.250000 1.00000
+DEAL:0:2d::0.500000 1.00000
+DEAL:0:2d::0.750000 0.750000
+DEAL:0:2d::1.00000 0.750000
+DEAL:0:2d::0.750000 1.00000
+DEAL:0:2d::1.00000 1.00000
+DEAL:0:2d::Component : 1
+DEAL:0:2d::Component : 2
+DEAL:0:2d::0.00000 0.00000
+DEAL:0:2d::0.250000 0.00000
+DEAL:0:2d::0.00000 0.250000
+DEAL:0:2d::0.250000 0.250000
+DEAL:0:2d::0.500000 0.00000
+DEAL:0:2d::0.500000 0.250000
+DEAL:0:2d::0.00000 0.500000
+DEAL:0:2d::0.250000 0.500000
+DEAL:0:2d::0.500000 0.500000
+DEAL:0:2d::0.750000 0.00000
+DEAL:0:2d::0.750000 0.250000
+DEAL:0:2d::1.00000 0.00000
+DEAL:0:2d::1.00000 0.250000
+DEAL:0:2d::0.750000 0.500000
+DEAL:0:2d::1.00000 0.500000
+DEAL:0:2d::0.00000 0.750000
+DEAL:0:2d::0.250000 0.750000
+DEAL:0:2d::0.500000 0.750000
+DEAL:0:2d::0.00000 1.00000
+DEAL:0:2d::0.250000 1.00000
+DEAL:0:2d::0.500000 1.00000
+DEAL:0:2d::0.750000 0.750000
+DEAL:0:2d::1.00000 0.750000
+DEAL:0:2d::0.750000 1.00000
+DEAL:0:2d::1.00000 1.00000
+DEAL:0:3d::Component : 0
+DEAL:0:3d::0.00000 0.00000 0.00000
+DEAL:0:3d::0.250000 0.00000 0.00000
+DEAL:0:3d::0.00000 0.250000 0.00000
+DEAL:0:3d::0.250000 0.250000 0.00000
+DEAL:0:3d::0.00000 0.00000 0.250000
+DEAL:0:3d::0.250000 0.00000 0.250000
+DEAL:0:3d::0.00000 0.250000 0.250000
+DEAL:0:3d::0.250000 0.250000 0.250000
+DEAL:0:3d::0.500000 0.00000 0.00000
+DEAL:0:3d::0.500000 0.250000 0.00000
+DEAL:0:3d::0.500000 0.00000 0.250000
+DEAL:0:3d::0.500000 0.250000 0.250000
+DEAL:0:3d::0.00000 0.500000 0.00000
+DEAL:0:3d::0.250000 0.500000 0.00000
+DEAL:0:3d::0.00000 0.500000 0.250000
+DEAL:0:3d::0.250000 0.500000 0.250000
+DEAL:0:3d::0.500000 0.500000 0.00000
+DEAL:0:3d::0.500000 0.500000 0.250000
+DEAL:0:3d::0.00000 0.00000 0.500000
+DEAL:0:3d::0.250000 0.00000 0.500000
+DEAL:0:3d::0.00000 0.250000 0.500000
+DEAL:0:3d::0.250000 0.250000 0.500000
+DEAL:0:3d::0.500000 0.00000 0.500000
+DEAL:0:3d::0.500000 0.250000 0.500000
+DEAL:0:3d::0.00000 0.500000 0.500000
+DEAL:0:3d::0.250000 0.500000 0.500000
+DEAL:0:3d::0.500000 0.500000 0.500000
+DEAL:0:3d::0.750000 0.00000 0.00000
+DEAL:0:3d::0.750000 0.250000 0.00000
+DEAL:0:3d::0.750000 0.00000 0.250000
+DEAL:0:3d::0.750000 0.250000 0.250000
+DEAL:0:3d::1.00000 0.00000 0.00000
+DEAL:0:3d::1.00000 0.250000 0.00000
+DEAL:0:3d::1.00000 0.00000 0.250000
+DEAL:0:3d::1.00000 0.250000 0.250000
+DEAL:0:3d::0.750000 0.500000 0.00000
+DEAL:0:3d::0.750000 0.500000 0.250000
+DEAL:0:3d::1.00000 0.500000 0.00000
+DEAL:0:3d::1.00000 0.500000 0.250000
+DEAL:0:3d::0.750000 0.00000 0.500000
+DEAL:0:3d::0.750000 0.250000 0.500000
+DEAL:0:3d::1.00000 0.00000 0.500000
+DEAL:0:3d::1.00000 0.250000 0.500000
+DEAL:0:3d::0.750000 0.500000 0.500000
+DEAL:0:3d::1.00000 0.500000 0.500000
+DEAL:0:3d::0.00000 0.750000 0.00000
+DEAL:0:3d::0.250000 0.750000 0.00000
+DEAL:0:3d::0.00000 0.750000 0.250000
+DEAL:0:3d::0.250000 0.750000 0.250000
+DEAL:0:3d::0.500000 0.750000 0.00000
+DEAL:0:3d::0.500000 0.750000 0.250000
+DEAL:0:3d::0.00000 1.00000 0.00000
+DEAL:0:3d::0.250000 1.00000 0.00000
+DEAL:0:3d::0.00000 1.00000 0.250000
+DEAL:0:3d::0.250000 1.00000 0.250000
+DEAL:0:3d::0.500000 1.00000 0.00000
+DEAL:0:3d::0.500000 1.00000 0.250000
+DEAL:0:3d::0.00000 0.750000 0.500000
+DEAL:0:3d::0.250000 0.750000 0.500000
+DEAL:0:3d::0.500000 0.750000 0.500000
+DEAL:0:3d::0.00000 1.00000 0.500000
+DEAL:0:3d::0.250000 1.00000 0.500000
+DEAL:0:3d::0.500000 1.00000 0.500000
+DEAL:0:3d::0.750000 0.750000 0.00000
+DEAL:0:3d::0.750000 0.750000 0.250000
+DEAL:0:3d::1.00000 0.750000 0.00000
+DEAL:0:3d::1.00000 0.750000 0.250000
+DEAL:0:3d::0.750000 1.00000 0.00000
+DEAL:0:3d::0.750000 1.00000 0.250000
+DEAL:0:3d::1.00000 1.00000 0.00000
+DEAL:0:3d::1.00000 1.00000 0.250000
+DEAL:0:3d::0.750000 0.750000 0.500000
+DEAL:0:3d::1.00000 0.750000 0.500000
+DEAL:0:3d::0.750000 1.00000 0.500000
+DEAL:0:3d::1.00000 1.00000 0.500000
+DEAL:0:3d::0.00000 0.00000 0.750000
+DEAL:0:3d::0.250000 0.00000 0.750000
+DEAL:0:3d::0.00000 0.250000 0.750000
+DEAL:0:3d::0.250000 0.250000 0.750000
+DEAL:0:3d::0.500000 0.00000 0.750000
+DEAL:0:3d::0.500000 0.250000 0.750000
+DEAL:0:3d::0.00000 0.500000 0.750000
+DEAL:0:3d::0.250000 0.500000 0.750000
+DEAL:0:3d::0.500000 0.500000 0.750000
+DEAL:0:3d::0.00000 0.00000 1.00000
+DEAL:0:3d::0.250000 0.00000 1.00000
+DEAL:0:3d::0.00000 0.250000 1.00000
+DEAL:0:3d::0.250000 0.250000 1.00000
+DEAL:0:3d::0.500000 0.00000 1.00000
+DEAL:0:3d::0.500000 0.250000 1.00000
+DEAL:0:3d::0.00000 0.500000 1.00000
+DEAL:0:3d::0.250000 0.500000 1.00000
+DEAL:0:3d::0.500000 0.500000 1.00000
+DEAL:0:3d::0.750000 0.00000 0.750000
+DEAL:0:3d::0.750000 0.250000 0.750000
+DEAL:0:3d::1.00000 0.00000 0.750000
+DEAL:0:3d::1.00000 0.250000 0.750000
+DEAL:0:3d::0.750000 0.500000 0.750000
+DEAL:0:3d::1.00000 0.500000 0.750000
+DEAL:0:3d::0.750000 0.00000 1.00000
+DEAL:0:3d::0.750000 0.250000 1.00000
+DEAL:0:3d::1.00000 0.00000 1.00000
+DEAL:0:3d::1.00000 0.250000 1.00000
+DEAL:0:3d::0.750000 0.500000 1.00000
+DEAL:0:3d::1.00000 0.500000 1.00000
+DEAL:0:3d::0.00000 0.750000 0.750000
+DEAL:0:3d::0.250000 0.750000 0.750000
+DEAL:0:3d::0.500000 0.750000 0.750000
+DEAL:0:3d::0.00000 1.00000 0.750000
+DEAL:0:3d::0.250000 1.00000 0.750000
+DEAL:0:3d::0.500000 1.00000 0.750000
+DEAL:0:3d::0.00000 0.750000 1.00000
+DEAL:0:3d::0.250000 0.750000 1.00000
+DEAL:0:3d::0.500000 0.750000 1.00000
+DEAL:0:3d::0.00000 1.00000 1.00000
+DEAL:0:3d::0.250000 1.00000 1.00000
+DEAL:0:3d::0.500000 1.00000 1.00000
+DEAL:0:3d::0.750000 0.750000 0.750000
+DEAL:0:3d::1.00000 0.750000 0.750000
+DEAL:0:3d::0.750000 1.00000 0.750000
+DEAL:0:3d::1.00000 1.00000 0.750000
+DEAL:0:3d::0.750000 0.750000 1.00000
+DEAL:0:3d::1.00000 0.750000 1.00000
+DEAL:0:3d::0.750000 1.00000 1.00000
+DEAL:0:3d::1.00000 1.00000 1.00000
+DEAL:0:3d::Component : 1
+DEAL:0:3d::Component : 2
+DEAL:0:3d::0.00000 0.00000 0.00000
+DEAL:0:3d::0.250000 0.00000 0.00000
+DEAL:0:3d::0.00000 0.250000 0.00000
+DEAL:0:3d::0.250000 0.250000 0.00000
+DEAL:0:3d::0.00000 0.00000 0.250000
+DEAL:0:3d::0.250000 0.00000 0.250000
+DEAL:0:3d::0.00000 0.250000 0.250000
+DEAL:0:3d::0.250000 0.250000 0.250000
+DEAL:0:3d::0.500000 0.00000 0.00000
+DEAL:0:3d::0.500000 0.250000 0.00000
+DEAL:0:3d::0.500000 0.00000 0.250000
+DEAL:0:3d::0.500000 0.250000 0.250000
+DEAL:0:3d::0.00000 0.500000 0.00000
+DEAL:0:3d::0.250000 0.500000 0.00000
+DEAL:0:3d::0.00000 0.500000 0.250000
+DEAL:0:3d::0.250000 0.500000 0.250000
+DEAL:0:3d::0.500000 0.500000 0.00000
+DEAL:0:3d::0.500000 0.500000 0.250000
+DEAL:0:3d::0.00000 0.00000 0.500000
+DEAL:0:3d::0.250000 0.00000 0.500000
+DEAL:0:3d::0.00000 0.250000 0.500000
+DEAL:0:3d::0.250000 0.250000 0.500000
+DEAL:0:3d::0.500000 0.00000 0.500000
+DEAL:0:3d::0.500000 0.250000 0.500000
+DEAL:0:3d::0.00000 0.500000 0.500000
+DEAL:0:3d::0.250000 0.500000 0.500000
+DEAL:0:3d::0.500000 0.500000 0.500000
+DEAL:0:3d::0.750000 0.00000 0.00000
+DEAL:0:3d::0.750000 0.250000 0.00000
+DEAL:0:3d::0.750000 0.00000 0.250000
+DEAL:0:3d::0.750000 0.250000 0.250000
+DEAL:0:3d::1.00000 0.00000 0.00000
+DEAL:0:3d::1.00000 0.250000 0.00000
+DEAL:0:3d::1.00000 0.00000 0.250000
+DEAL:0:3d::1.00000 0.250000 0.250000
+DEAL:0:3d::0.750000 0.500000 0.00000
+DEAL:0:3d::0.750000 0.500000 0.250000
+DEAL:0:3d::1.00000 0.500000 0.00000
+DEAL:0:3d::1.00000 0.500000 0.250000
+DEAL:0:3d::0.750000 0.00000 0.500000
+DEAL:0:3d::0.750000 0.250000 0.500000
+DEAL:0:3d::1.00000 0.00000 0.500000
+DEAL:0:3d::1.00000 0.250000 0.500000
+DEAL:0:3d::0.750000 0.500000 0.500000
+DEAL:0:3d::1.00000 0.500000 0.500000
+DEAL:0:3d::0.00000 0.750000 0.00000
+DEAL:0:3d::0.250000 0.750000 0.00000
+DEAL:0:3d::0.00000 0.750000 0.250000
+DEAL:0:3d::0.250000 0.750000 0.250000
+DEAL:0:3d::0.500000 0.750000 0.00000
+DEAL:0:3d::0.500000 0.750000 0.250000
+DEAL:0:3d::0.00000 1.00000 0.00000
+DEAL:0:3d::0.250000 1.00000 0.00000
+DEAL:0:3d::0.00000 1.00000 0.250000
+DEAL:0:3d::0.250000 1.00000 0.250000
+DEAL:0:3d::0.500000 1.00000 0.00000
+DEAL:0:3d::0.500000 1.00000 0.250000
+DEAL:0:3d::0.00000 0.750000 0.500000
+DEAL:0:3d::0.250000 0.750000 0.500000
+DEAL:0:3d::0.500000 0.750000 0.500000
+DEAL:0:3d::0.00000 1.00000 0.500000
+DEAL:0:3d::0.250000 1.00000 0.500000
+DEAL:0:3d::0.500000 1.00000 0.500000
+DEAL:0:3d::0.750000 0.750000 0.00000
+DEAL:0:3d::0.750000 0.750000 0.250000
+DEAL:0:3d::1.00000 0.750000 0.00000
+DEAL:0:3d::1.00000 0.750000 0.250000
+DEAL:0:3d::0.750000 1.00000 0.00000
+DEAL:0:3d::0.750000 1.00000 0.250000
+DEAL:0:3d::1.00000 1.00000 0.00000
+DEAL:0:3d::1.00000 1.00000 0.250000
+DEAL:0:3d::0.750000 0.750000 0.500000
+DEAL:0:3d::1.00000 0.750000 0.500000
+DEAL:0:3d::0.750000 1.00000 0.500000
+DEAL:0:3d::1.00000 1.00000 0.500000
+DEAL:0:3d::0.00000 0.00000 0.750000
+DEAL:0:3d::0.250000 0.00000 0.750000
+DEAL:0:3d::0.00000 0.250000 0.750000
+DEAL:0:3d::0.250000 0.250000 0.750000
+DEAL:0:3d::0.500000 0.00000 0.750000
+DEAL:0:3d::0.500000 0.250000 0.750000
+DEAL:0:3d::0.00000 0.500000 0.750000
+DEAL:0:3d::0.250000 0.500000 0.750000
+DEAL:0:3d::0.500000 0.500000 0.750000
+DEAL:0:3d::0.00000 0.00000 1.00000
+DEAL:0:3d::0.250000 0.00000 1.00000
+DEAL:0:3d::0.00000 0.250000 1.00000
+DEAL:0:3d::0.250000 0.250000 1.00000
+DEAL:0:3d::0.500000 0.00000 1.00000
+DEAL:0:3d::0.500000 0.250000 1.00000
+DEAL:0:3d::0.00000 0.500000 1.00000
+DEAL:0:3d::0.250000 0.500000 1.00000
+DEAL:0:3d::0.500000 0.500000 1.00000
+DEAL:0:3d::0.750000 0.00000 0.750000
+DEAL:0:3d::0.750000 0.250000 0.750000
+DEAL:0:3d::1.00000 0.00000 0.750000
+DEAL:0:3d::1.00000 0.250000 0.750000
+DEAL:0:3d::0.750000 0.500000 0.750000
+DEAL:0:3d::1.00000 0.500000 0.750000
+DEAL:0:3d::0.750000 0.00000 1.00000
+DEAL:0:3d::0.750000 0.250000 1.00000
+DEAL:0:3d::1.00000 0.00000 1.00000
+DEAL:0:3d::1.00000 0.250000 1.00000
+DEAL:0:3d::0.750000 0.500000 1.00000
+DEAL:0:3d::1.00000 0.500000 1.00000
+DEAL:0:3d::0.00000 0.750000 0.750000
+DEAL:0:3d::0.250000 0.750000 0.750000
+DEAL:0:3d::0.500000 0.750000 0.750000
+DEAL:0:3d::0.00000 1.00000 0.750000
+DEAL:0:3d::0.250000 1.00000 0.750000
+DEAL:0:3d::0.500000 1.00000 0.750000
+DEAL:0:3d::0.00000 0.750000 1.00000
+DEAL:0:3d::0.250000 0.750000 1.00000
+DEAL:0:3d::0.500000 0.750000 1.00000
+DEAL:0:3d::0.00000 1.00000 1.00000
+DEAL:0:3d::0.250000 1.00000 1.00000
+DEAL:0:3d::0.500000 1.00000 1.00000
+DEAL:0:3d::0.750000 0.750000 0.750000
+DEAL:0:3d::1.00000 0.750000 0.750000
+DEAL:0:3d::0.750000 1.00000 0.750000
+DEAL:0:3d::1.00000 1.00000 0.750000
+DEAL:0:3d::0.750000 0.750000 1.00000
+DEAL:0:3d::1.00000 0.750000 1.00000
+DEAL:0:3d::0.750000 1.00000 1.00000
+DEAL:0:3d::1.00000 1.00000 1.00000
diff --git a/tests/dofs/extract_dofs_per_component_02.with_p4est=true.mpirun=3.output b/tests/dofs/extract_dofs_per_component_02.with_p4est=true.mpirun=3.output
new file mode 100644 (file)
index 0000000..5833aad
--- /dev/null
@@ -0,0 +1,323 @@
+
+DEAL:0:2d::Component : 0
+DEAL:0:2d::0.00000 0.00000
+DEAL:0:2d::0.250000 0.00000
+DEAL:0:2d::0.00000 0.250000
+DEAL:0:2d::0.250000 0.250000
+DEAL:0:2d::0.500000 0.00000
+DEAL:0:2d::0.500000 0.250000
+DEAL:0:2d::0.00000 0.500000
+DEAL:0:2d::0.250000 0.500000
+DEAL:0:2d::0.500000 0.500000
+DEAL:0:2d::Component : 1
+DEAL:0:2d::Component : 2
+DEAL:0:2d::0.00000 0.00000
+DEAL:0:2d::0.250000 0.00000
+DEAL:0:2d::0.00000 0.250000
+DEAL:0:2d::0.250000 0.250000
+DEAL:0:2d::0.500000 0.00000
+DEAL:0:2d::0.500000 0.250000
+DEAL:0:2d::0.00000 0.500000
+DEAL:0:2d::0.250000 0.500000
+DEAL:0:2d::0.500000 0.500000
+DEAL:0:3d::Component : 0
+DEAL:0:3d::0.00000 0.00000 0.00000
+DEAL:0:3d::0.250000 0.00000 0.00000
+DEAL:0:3d::0.00000 0.250000 0.00000
+DEAL:0:3d::0.250000 0.250000 0.00000
+DEAL:0:3d::0.00000 0.00000 0.250000
+DEAL:0:3d::0.250000 0.00000 0.250000
+DEAL:0:3d::0.00000 0.250000 0.250000
+DEAL:0:3d::0.250000 0.250000 0.250000
+DEAL:0:3d::0.500000 0.00000 0.00000
+DEAL:0:3d::0.500000 0.250000 0.00000
+DEAL:0:3d::0.500000 0.00000 0.250000
+DEAL:0:3d::0.500000 0.250000 0.250000
+DEAL:0:3d::0.00000 0.500000 0.00000
+DEAL:0:3d::0.250000 0.500000 0.00000
+DEAL:0:3d::0.00000 0.500000 0.250000
+DEAL:0:3d::0.250000 0.500000 0.250000
+DEAL:0:3d::0.500000 0.500000 0.00000
+DEAL:0:3d::0.500000 0.500000 0.250000
+DEAL:0:3d::0.00000 0.00000 0.500000
+DEAL:0:3d::0.250000 0.00000 0.500000
+DEAL:0:3d::0.00000 0.250000 0.500000
+DEAL:0:3d::0.250000 0.250000 0.500000
+DEAL:0:3d::0.500000 0.00000 0.500000
+DEAL:0:3d::0.500000 0.250000 0.500000
+DEAL:0:3d::0.00000 0.500000 0.500000
+DEAL:0:3d::0.250000 0.500000 0.500000
+DEAL:0:3d::0.500000 0.500000 0.500000
+DEAL:0:3d::0.750000 0.00000 0.00000
+DEAL:0:3d::0.750000 0.250000 0.00000
+DEAL:0:3d::0.750000 0.00000 0.250000
+DEAL:0:3d::0.750000 0.250000 0.250000
+DEAL:0:3d::1.00000 0.00000 0.00000
+DEAL:0:3d::1.00000 0.250000 0.00000
+DEAL:0:3d::1.00000 0.00000 0.250000
+DEAL:0:3d::1.00000 0.250000 0.250000
+DEAL:0:3d::0.750000 0.500000 0.00000
+DEAL:0:3d::0.750000 0.500000 0.250000
+DEAL:0:3d::1.00000 0.500000 0.00000
+DEAL:0:3d::1.00000 0.500000 0.250000
+DEAL:0:3d::0.750000 0.00000 0.500000
+DEAL:0:3d::0.750000 0.250000 0.500000
+DEAL:0:3d::1.00000 0.00000 0.500000
+DEAL:0:3d::1.00000 0.250000 0.500000
+DEAL:0:3d::0.750000 0.500000 0.500000
+DEAL:0:3d::1.00000 0.500000 0.500000
+DEAL:0:3d::0.00000 0.750000 0.00000
+DEAL:0:3d::0.250000 0.750000 0.00000
+DEAL:0:3d::0.00000 0.750000 0.250000
+DEAL:0:3d::0.250000 0.750000 0.250000
+DEAL:0:3d::0.500000 0.750000 0.00000
+DEAL:0:3d::0.500000 0.750000 0.250000
+DEAL:0:3d::0.00000 1.00000 0.00000
+DEAL:0:3d::0.250000 1.00000 0.00000
+DEAL:0:3d::0.00000 1.00000 0.250000
+DEAL:0:3d::0.250000 1.00000 0.250000
+DEAL:0:3d::0.500000 1.00000 0.00000
+DEAL:0:3d::0.500000 1.00000 0.250000
+DEAL:0:3d::0.00000 0.750000 0.500000
+DEAL:0:3d::0.250000 0.750000 0.500000
+DEAL:0:3d::0.500000 0.750000 0.500000
+DEAL:0:3d::0.00000 1.00000 0.500000
+DEAL:0:3d::0.250000 1.00000 0.500000
+DEAL:0:3d::0.500000 1.00000 0.500000
+DEAL:0:3d::Component : 1
+DEAL:0:3d::Component : 2
+DEAL:0:3d::0.00000 0.00000 0.00000
+DEAL:0:3d::0.250000 0.00000 0.00000
+DEAL:0:3d::0.00000 0.250000 0.00000
+DEAL:0:3d::0.250000 0.250000 0.00000
+DEAL:0:3d::0.00000 0.00000 0.250000
+DEAL:0:3d::0.250000 0.00000 0.250000
+DEAL:0:3d::0.00000 0.250000 0.250000
+DEAL:0:3d::0.250000 0.250000 0.250000
+DEAL:0:3d::0.500000 0.00000 0.00000
+DEAL:0:3d::0.500000 0.250000 0.00000
+DEAL:0:3d::0.500000 0.00000 0.250000
+DEAL:0:3d::0.500000 0.250000 0.250000
+DEAL:0:3d::0.00000 0.500000 0.00000
+DEAL:0:3d::0.250000 0.500000 0.00000
+DEAL:0:3d::0.00000 0.500000 0.250000
+DEAL:0:3d::0.250000 0.500000 0.250000
+DEAL:0:3d::0.500000 0.500000 0.00000
+DEAL:0:3d::0.500000 0.500000 0.250000
+DEAL:0:3d::0.00000 0.00000 0.500000
+DEAL:0:3d::0.250000 0.00000 0.500000
+DEAL:0:3d::0.00000 0.250000 0.500000
+DEAL:0:3d::0.250000 0.250000 0.500000
+DEAL:0:3d::0.500000 0.00000 0.500000
+DEAL:0:3d::0.500000 0.250000 0.500000
+DEAL:0:3d::0.00000 0.500000 0.500000
+DEAL:0:3d::0.250000 0.500000 0.500000
+DEAL:0:3d::0.500000 0.500000 0.500000
+DEAL:0:3d::0.750000 0.00000 0.00000
+DEAL:0:3d::0.750000 0.250000 0.00000
+DEAL:0:3d::0.750000 0.00000 0.250000
+DEAL:0:3d::0.750000 0.250000 0.250000
+DEAL:0:3d::1.00000 0.00000 0.00000
+DEAL:0:3d::1.00000 0.250000 0.00000
+DEAL:0:3d::1.00000 0.00000 0.250000
+DEAL:0:3d::1.00000 0.250000 0.250000
+DEAL:0:3d::0.750000 0.500000 0.00000
+DEAL:0:3d::0.750000 0.500000 0.250000
+DEAL:0:3d::1.00000 0.500000 0.00000
+DEAL:0:3d::1.00000 0.500000 0.250000
+DEAL:0:3d::0.750000 0.00000 0.500000
+DEAL:0:3d::0.750000 0.250000 0.500000
+DEAL:0:3d::1.00000 0.00000 0.500000
+DEAL:0:3d::1.00000 0.250000 0.500000
+DEAL:0:3d::0.750000 0.500000 0.500000
+DEAL:0:3d::1.00000 0.500000 0.500000
+DEAL:0:3d::0.00000 0.750000 0.00000
+DEAL:0:3d::0.250000 0.750000 0.00000
+DEAL:0:3d::0.00000 0.750000 0.250000
+DEAL:0:3d::0.250000 0.750000 0.250000
+DEAL:0:3d::0.500000 0.750000 0.00000
+DEAL:0:3d::0.500000 0.750000 0.250000
+DEAL:0:3d::0.00000 1.00000 0.00000
+DEAL:0:3d::0.250000 1.00000 0.00000
+DEAL:0:3d::0.00000 1.00000 0.250000
+DEAL:0:3d::0.250000 1.00000 0.250000
+DEAL:0:3d::0.500000 1.00000 0.00000
+DEAL:0:3d::0.500000 1.00000 0.250000
+DEAL:0:3d::0.00000 0.750000 0.500000
+DEAL:0:3d::0.250000 0.750000 0.500000
+DEAL:0:3d::0.500000 0.750000 0.500000
+DEAL:0:3d::0.00000 1.00000 0.500000
+DEAL:0:3d::0.250000 1.00000 0.500000
+DEAL:0:3d::0.500000 1.00000 0.500000
+
+DEAL:1:2d::Component : 0
+DEAL:1:2d::0.750000 0.00000
+DEAL:1:2d::0.750000 0.250000
+DEAL:1:2d::1.00000 0.00000
+DEAL:1:2d::1.00000 0.250000
+DEAL:1:2d::0.750000 0.500000
+DEAL:1:2d::1.00000 0.500000
+DEAL:1:2d::0.00000 0.750000
+DEAL:1:2d::0.250000 0.750000
+DEAL:1:2d::0.500000 0.750000
+DEAL:1:2d::0.00000 1.00000
+DEAL:1:2d::0.250000 1.00000
+DEAL:1:2d::0.500000 1.00000
+DEAL:1:2d::Component : 1
+DEAL:1:2d::Component : 2
+DEAL:1:2d::0.750000 0.00000
+DEAL:1:2d::0.750000 0.250000
+DEAL:1:2d::1.00000 0.00000
+DEAL:1:2d::1.00000 0.250000
+DEAL:1:2d::0.750000 0.500000
+DEAL:1:2d::1.00000 0.500000
+DEAL:1:2d::0.00000 0.750000
+DEAL:1:2d::0.250000 0.750000
+DEAL:1:2d::0.500000 0.750000
+DEAL:1:2d::0.00000 1.00000
+DEAL:1:2d::0.250000 1.00000
+DEAL:1:2d::0.500000 1.00000
+DEAL:1:3d::Component : 0
+DEAL:1:3d::0.750000 0.750000 0.00000
+DEAL:1:3d::0.750000 0.750000 0.250000
+DEAL:1:3d::1.00000 0.750000 0.00000
+DEAL:1:3d::1.00000 0.750000 0.250000
+DEAL:1:3d::0.750000 1.00000 0.00000
+DEAL:1:3d::0.750000 1.00000 0.250000
+DEAL:1:3d::1.00000 1.00000 0.00000
+DEAL:1:3d::1.00000 1.00000 0.250000
+DEAL:1:3d::0.750000 0.750000 0.500000
+DEAL:1:3d::1.00000 0.750000 0.500000
+DEAL:1:3d::0.750000 1.00000 0.500000
+DEAL:1:3d::1.00000 1.00000 0.500000
+DEAL:1:3d::0.00000 0.00000 0.750000
+DEAL:1:3d::0.250000 0.00000 0.750000
+DEAL:1:3d::0.00000 0.250000 0.750000
+DEAL:1:3d::0.250000 0.250000 0.750000
+DEAL:1:3d::0.500000 0.00000 0.750000
+DEAL:1:3d::0.500000 0.250000 0.750000
+DEAL:1:3d::0.00000 0.500000 0.750000
+DEAL:1:3d::0.250000 0.500000 0.750000
+DEAL:1:3d::0.500000 0.500000 0.750000
+DEAL:1:3d::0.00000 0.00000 1.00000
+DEAL:1:3d::0.250000 0.00000 1.00000
+DEAL:1:3d::0.00000 0.250000 1.00000
+DEAL:1:3d::0.250000 0.250000 1.00000
+DEAL:1:3d::0.500000 0.00000 1.00000
+DEAL:1:3d::0.500000 0.250000 1.00000
+DEAL:1:3d::0.00000 0.500000 1.00000
+DEAL:1:3d::0.250000 0.500000 1.00000
+DEAL:1:3d::0.500000 0.500000 1.00000
+DEAL:1:3d::Component : 1
+DEAL:1:3d::Component : 2
+DEAL:1:3d::0.750000 0.750000 0.00000
+DEAL:1:3d::0.750000 0.750000 0.250000
+DEAL:1:3d::1.00000 0.750000 0.00000
+DEAL:1:3d::1.00000 0.750000 0.250000
+DEAL:1:3d::0.750000 1.00000 0.00000
+DEAL:1:3d::0.750000 1.00000 0.250000
+DEAL:1:3d::1.00000 1.00000 0.00000
+DEAL:1:3d::1.00000 1.00000 0.250000
+DEAL:1:3d::0.750000 0.750000 0.500000
+DEAL:1:3d::1.00000 0.750000 0.500000
+DEAL:1:3d::0.750000 1.00000 0.500000
+DEAL:1:3d::1.00000 1.00000 0.500000
+DEAL:1:3d::0.00000 0.00000 0.750000
+DEAL:1:3d::0.250000 0.00000 0.750000
+DEAL:1:3d::0.00000 0.250000 0.750000
+DEAL:1:3d::0.250000 0.250000 0.750000
+DEAL:1:3d::0.500000 0.00000 0.750000
+DEAL:1:3d::0.500000 0.250000 0.750000
+DEAL:1:3d::0.00000 0.500000 0.750000
+DEAL:1:3d::0.250000 0.500000 0.750000
+DEAL:1:3d::0.500000 0.500000 0.750000
+DEAL:1:3d::0.00000 0.00000 1.00000
+DEAL:1:3d::0.250000 0.00000 1.00000
+DEAL:1:3d::0.00000 0.250000 1.00000
+DEAL:1:3d::0.250000 0.250000 1.00000
+DEAL:1:3d::0.500000 0.00000 1.00000
+DEAL:1:3d::0.500000 0.250000 1.00000
+DEAL:1:3d::0.00000 0.500000 1.00000
+DEAL:1:3d::0.250000 0.500000 1.00000
+DEAL:1:3d::0.500000 0.500000 1.00000
+
+
+DEAL:2:2d::Component : 0
+DEAL:2:2d::0.750000 0.750000
+DEAL:2:2d::1.00000 0.750000
+DEAL:2:2d::0.750000 1.00000
+DEAL:2:2d::1.00000 1.00000
+DEAL:2:2d::Component : 1
+DEAL:2:2d::Component : 2
+DEAL:2:2d::0.750000 0.750000
+DEAL:2:2d::1.00000 0.750000
+DEAL:2:2d::0.750000 1.00000
+DEAL:2:2d::1.00000 1.00000
+DEAL:2:3d::Component : 0
+DEAL:2:3d::0.750000 0.00000 0.750000
+DEAL:2:3d::0.750000 0.250000 0.750000
+DEAL:2:3d::1.00000 0.00000 0.750000
+DEAL:2:3d::1.00000 0.250000 0.750000
+DEAL:2:3d::0.750000 0.500000 0.750000
+DEAL:2:3d::1.00000 0.500000 0.750000
+DEAL:2:3d::0.750000 0.00000 1.00000
+DEAL:2:3d::0.750000 0.250000 1.00000
+DEAL:2:3d::1.00000 0.00000 1.00000
+DEAL:2:3d::1.00000 0.250000 1.00000
+DEAL:2:3d::0.750000 0.500000 1.00000
+DEAL:2:3d::1.00000 0.500000 1.00000
+DEAL:2:3d::0.00000 0.750000 0.750000
+DEAL:2:3d::0.250000 0.750000 0.750000
+DEAL:2:3d::0.500000 0.750000 0.750000
+DEAL:2:3d::0.00000 1.00000 0.750000
+DEAL:2:3d::0.250000 1.00000 0.750000
+DEAL:2:3d::0.500000 1.00000 0.750000
+DEAL:2:3d::0.00000 0.750000 1.00000
+DEAL:2:3d::0.250000 0.750000 1.00000
+DEAL:2:3d::0.500000 0.750000 1.00000
+DEAL:2:3d::0.00000 1.00000 1.00000
+DEAL:2:3d::0.250000 1.00000 1.00000
+DEAL:2:3d::0.500000 1.00000 1.00000
+DEAL:2:3d::0.750000 0.750000 0.750000
+DEAL:2:3d::1.00000 0.750000 0.750000
+DEAL:2:3d::0.750000 1.00000 0.750000
+DEAL:2:3d::1.00000 1.00000 0.750000
+DEAL:2:3d::0.750000 0.750000 1.00000
+DEAL:2:3d::1.00000 0.750000 1.00000
+DEAL:2:3d::0.750000 1.00000 1.00000
+DEAL:2:3d::1.00000 1.00000 1.00000
+DEAL:2:3d::Component : 1
+DEAL:2:3d::Component : 2
+DEAL:2:3d::0.750000 0.00000 0.750000
+DEAL:2:3d::0.750000 0.250000 0.750000
+DEAL:2:3d::1.00000 0.00000 0.750000
+DEAL:2:3d::1.00000 0.250000 0.750000
+DEAL:2:3d::0.750000 0.500000 0.750000
+DEAL:2:3d::1.00000 0.500000 0.750000
+DEAL:2:3d::0.750000 0.00000 1.00000
+DEAL:2:3d::0.750000 0.250000 1.00000
+DEAL:2:3d::1.00000 0.00000 1.00000
+DEAL:2:3d::1.00000 0.250000 1.00000
+DEAL:2:3d::0.750000 0.500000 1.00000
+DEAL:2:3d::1.00000 0.500000 1.00000
+DEAL:2:3d::0.00000 0.750000 0.750000
+DEAL:2:3d::0.250000 0.750000 0.750000
+DEAL:2:3d::0.500000 0.750000 0.750000
+DEAL:2:3d::0.00000 1.00000 0.750000
+DEAL:2:3d::0.250000 1.00000 0.750000
+DEAL:2:3d::0.500000 1.00000 0.750000
+DEAL:2:3d::0.00000 0.750000 1.00000
+DEAL:2:3d::0.250000 0.750000 1.00000
+DEAL:2:3d::0.500000 0.750000 1.00000
+DEAL:2:3d::0.00000 1.00000 1.00000
+DEAL:2:3d::0.250000 1.00000 1.00000
+DEAL:2:3d::0.500000 1.00000 1.00000
+DEAL:2:3d::0.750000 0.750000 0.750000
+DEAL:2:3d::1.00000 0.750000 0.750000
+DEAL:2:3d::0.750000 1.00000 0.750000
+DEAL:2:3d::1.00000 1.00000 0.750000
+DEAL:2:3d::0.750000 0.750000 1.00000
+DEAL:2:3d::1.00000 0.750000 1.00000
+DEAL:2:3d::0.750000 1.00000 1.00000
+DEAL:2:3d::1.00000 1.00000 1.00000
+

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.