]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Update so that extract_dofs() doesn't depend on dim or spacedim template parameters...
authorMathias Anselmann <mathias.anselmann@posteo.de>
Thu, 6 Jun 2019 21:46:40 +0000 (23:46 +0200)
committerMathias Anselmann <mathias.anselmann@posteo.de>
Thu, 6 Jun 2019 21:46:40 +0000 (23:46 +0200)
65 files changed:
include/deal.II/dofs/dof_tools.h
source/dofs/dof_tools.cc
source/dofs/dof_tools.inst.in
source/dofs/dof_tools_constraints.cc
tests/dofs/dof_tools_00a.cc
tests/dofs/dof_tools_01a.cc
tests/dofs/dof_tools_01a_constraints_false.cc
tests/dofs/dof_tools_01a_constraints_true.cc
tests/dofs/dof_tools_01a_subdomain.cc
tests/dofs/dof_tools_01b.cc
tests/dofs/dof_tools_01c.cc
tests/dofs/dof_tools_01d.cc
tests/dofs/dof_tools_02a.cc
tests/dofs/dof_tools_02a_constraints_false.cc
tests/dofs/dof_tools_02a_constraints_true.cc
tests/dofs/dof_tools_02a_subdomain.cc
tests/dofs/dof_tools_02b.cc
tests/dofs/dof_tools_02c.cc
tests/dofs/dof_tools_02d.cc
tests/dofs/dof_tools_03.cc
tests/dofs/dof_tools_04.cc
tests/dofs/dof_tools_05.cc
tests/dofs/dof_tools_06.cc
tests/dofs/dof_tools_07.cc
tests/dofs/dof_tools_08.cc
tests/dofs/dof_tools_09.cc
tests/dofs/dof_tools_10.cc
tests/dofs/dof_tools_12.cc
tests/dofs/dof_tools_12.output
tests/dofs/dof_tools_12a.cc
tests/dofs/dof_tools_13.cc
tests/dofs/dof_tools_13a.cc
tests/dofs/dof_tools_14.cc
tests/dofs/dof_tools_15a.cc
tests/dofs/dof_tools_15b.cc
tests/dofs/dof_tools_15c.cc
tests/dofs/dof_tools_15d.cc
tests/dofs/dof_tools_16a.cc
tests/dofs/dof_tools_16b.cc
tests/dofs/dof_tools_16c.cc
tests/dofs/dof_tools_16d.cc
tests/dofs/dof_tools_17a.cc
tests/dofs/dof_tools_17b.cc
tests/dofs/dof_tools_17c.cc
tests/dofs/dof_tools_17d.cc
tests/dofs/dof_tools_18a.cc
tests/dofs/dof_tools_18a_1d.cc
tests/dofs/dof_tools_18b.cc
tests/dofs/dof_tools_18c.cc
tests/dofs/dof_tools_18d.cc
tests/dofs/dof_tools_19.cc
tests/dofs/dof_tools_20.cc
tests/dofs/dof_tools_21.cc
tests/dofs/dof_tools_common.h
tests/dofs/dof_tools_common_parallel.h [new file with mode: 0644]
tests/dofs/dof_tools_fake_hp.inst.in [new file with mode: 0644]
tests/dofs/dof_tools_periodic.h
tests/dofs/extract_dofs_by_component_01.cc
tests/dofs/extract_dofs_by_component_01_hp.cc
tests/dofs/extract_dofs_by_component_01x.cc
tests/dofs/extract_dofs_by_component_01y.cc
tests/dofs/extract_dofs_by_component_02.cc
tests/dofs/extract_dofs_by_component_02_hp.cc
tests/dofs/hp_constraints_are_implemented.cc
tests/dofs/n_dofs_per_object.cc

index bc8a88c4d749aaf21f1eec3053e9b494c167bc57..5bb814c004fdf0a4ab343b5995061458c880c711 100644 (file)
@@ -1351,7 +1351,7 @@ namespace DoFTools
    * first have to be mapped to the global degrees of freedom, to correspond
    * with them.
    */
-  template <int dim, int spacedim, typename DoFHandlerType>
+  template <typename DoFHandlerType>
   void
   extract_dofs(const DoFHandlerType &dof_handler,
                const ComponentMask & component_mask,
@@ -1381,7 +1381,7 @@ namespace DoFTools
    *   sequential computations of course equals DoFHandler::n_dofs(). The
    * previous contents of this array are overwritten.
    */
-  template <int dim, int spacedim, typename DoFHandlerType>
+  template <typename DoFHandlerType>
   void
   extract_dofs(const DoFHandlerType &dof_handler,
                const BlockMask &     block_mask,
index 9607414e561dfd651ce7653ada08da0c85061c59..3e2b4d963eb412ddb1da19300a702b350ac5c45e 100644 (file)
@@ -397,7 +397,7 @@ namespace DoFTools
 
 
 
-  template <int dim, int spacedim, typename DoFHandlerType>
+  template <typename DoFHandlerType>
   void
   extract_dofs(const DoFHandlerType &dof,
                const ComponentMask & component_mask,
@@ -444,14 +444,14 @@ namespace DoFTools
 
 
 
-  template <int dim, int spacedim, typename DoFHandlerType>
+  template <typename DoFHandlerType>
   void
   extract_dofs(const DoFHandlerType &dof,
                const BlockMask &     block_mask,
                std::vector<bool> &   selected_dofs)
   {
     // simply forward to the function that works based on a component mask
-    extract_dofs<dim, spacedim, DoFHandlerType>(
+    extract_dofs<DoFHandlerType>(
       dof, dof.get_fe_collection().component_mask(block_mask), selected_dofs);
   }
 
index 39bb4fcbbd0f7919e70bc4d95fb6879c1b41cd83..bcde5579b4a5688ed78689919898594c54f3fd05 100644 (file)
@@ -689,33 +689,25 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : DIMENSIONS)
           &patch);
 
       template void
-      extract_dofs<deal_II_dimension,
-                   deal_II_space_dimension,
-                   DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
+      extract_dofs<DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
         const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
         const ComponentMask &,
         std::vector<bool> &);
 
       template void
-      extract_dofs<deal_II_dimension,
-                   deal_II_space_dimension,
-                   DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
+      extract_dofs<DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
         const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
         const BlockMask &,
         std::vector<bool> &);
 
       template void
-      extract_dofs<deal_II_dimension,
-                   deal_II_space_dimension,
-                   hp::DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
+      extract_dofs<hp::DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
         const hp::DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
         const ComponentMask &,
         std::vector<bool> &);
 
       template void
-      extract_dofs<deal_II_dimension,
-                   deal_II_space_dimension,
-                   hp::DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
+      extract_dofs<hp::DoFHandler<deal_II_dimension, deal_II_space_dimension>>(
         const hp::DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
         const BlockMask &,
         std::vector<bool> &);
index c97405c77818b87f89a436ac95d6ec3637fd6fdf..9c72684871cd594d05b6bce2d550e52d0d15aeeb 100644 (file)
@@ -3133,7 +3133,7 @@ namespace DoFTools
       {
         std::vector<bool> mask(coarse_grid.get_fe(0).n_components(), false);
         mask[coarse_component] = true;
-        extract_dofs<dim, spacedim, DoFHandler<dim, spacedim>>(
+        extract_dofs<DoFHandler<dim, spacedim>>(
           coarse_grid, ComponentMask(mask), coarse_dof_is_parameter);
       }
 
index 91c6a1ad69f30f8d3009dcc219a864d97c071cde..51f41bfc7c102621694d4affd3eb9bfa184ff969 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -23,9 +24,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   const unsigned int n_components = dof_handler.get_fe().n_components();
 
index af2e87f7f6b6d93a01e0d70e0fbb8d08de7d34ae..68cdde951bd25042c7eb772cdf3b5d3d8c6929bc 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -26,9 +27,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // create sparsity pattern
   SparsityPattern sp(dof_handler.n_dofs(),
index 4b72db5c1c332f517c7f06fbfa25b18c19d1abe5..898f8572e1589c1b8d696037cb470c3909f53faa 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -28,9 +29,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   AffineConstraints<double> cm;
   DoFTools::make_hanging_node_constraints(dof_handler, cm);
index 6103c1350ac196711760001e164c3f2132607693..537011bd6a58a1d8e33d5cec9e78b33bd185c1f4 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -28,9 +29,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   AffineConstraints<double> cm;
   DoFTools::make_hanging_node_constraints(dof_handler, cm);
index 5a5e2d8a3f4fe07288c88daf6367a4584f3f0155..fa3ac5d8148f63dda67e0d19e8164a9938d6d818 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // create sparsity pattern
   SparsityPattern sp(dof_handler.n_dofs(),
index fd735e23e7ad57c7dcf9c283d6c7a91ac1c755a0..25b7643e054151afe8efd6db99ecd4d3ef823757 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -26,9 +27,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // create sparsity pattern
   DynamicSparsityPattern sp(dof_handler.n_dofs());
index 5bacfc473ef99fc77b825d922cee8c9c0b02f884..7fb71c48ae72c6fdd58e700455642c3979bc17e5 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -26,9 +27,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // we split up the matrix into
   // blocks according to the number
index dd7122bf6c25827a26abe8d0f387a894823457e4..3751e47b950a7572fa64d3e38cfa815b87383d67 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -26,9 +27,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // we split up the matrix into
   // blocks according to the number
index bdf6c4d9ed5fb1faef3c01812f331bbe08e660c2..ae83f70a34b3b9ff84135ba0bcd6178b784f0e5f 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // set up X-shape mask
   const unsigned int n_components = dof_handler.get_fe().n_components();
index b6d0bf8d1014bb8f170a49697ed3b42950f74945..fb072a99e1d3ed33442cf0477966519135596eb9 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -29,9 +30,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // set up X-shape mask
   const unsigned int n_components = dof_handler.get_fe().n_components();
index 0aeee7a8dbf8105a35f33e7dff922695d4a335f1..ac8344f1e424c5e7daefbd4c8d9d94239d969a93 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -29,9 +30,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // set up X-shape mask
   const unsigned int n_components = dof_handler.get_fe().n_components();
index 372833312563a208f5831f853232c0dee392626f..fd9424a37ef6c1c697832346915240286300e4d6 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -29,9 +30,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // set up X-shape mask
   const unsigned int n_components = dof_handler.get_fe().n_components();
index ef1e9f91800604fab914a80f76ce23b53b076d95..11451a7ae7f7e9abca07cf680d2c736faeadafb8 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // set up X-shape mask
   const unsigned int n_components = dof_handler.get_fe().n_components();
index baf7b7a46fbc9ebcefac9a3e11a4a811df6edd6b..25fee868fa5b3d4eeccb7291e2b38f746191cd16 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // set up X-shape mask
   const unsigned int n_components = dof_handler.get_fe().n_components();
index a3fb0247c5dabc021f5408e36eb3d2d63ba75a62..00a862ee7050d40abcf2daf58d473b6aa2bf17c4 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // set up X-shape mask
   const unsigned int n_components = dof_handler.get_fe().n_components();
index 917d811436cf0c54964e14319d6459cd36d4386a..b5adb37e0607043c39901511e2e14755faf2b8f6 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // use a higher output accuracy for this
   // test. the reason is that many of the
index 8bdd81893f67db4ae58c0a5b201d11d300e4eb00..521fcf87dfef9e74803e6097af83512f01b89b4a 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::extract_hanging_node_constraints
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   const types::global_dof_index n_dofs = dof_handler.n_dofs();
 
index 4ecce407c21e21558eda24ea36fc7f15eb031b4c..3bcd8cd1c027ec28896a4193513f4cec04cea080 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::extract_boundary_dofs
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   std::vector<bool> component_select(dof_handler.get_fe().n_components(), true);
   std::vector<bool> boundary_dofs(dof_handler.n_dofs());
index 7e2461b11eefd51a6e1633c29dc6ce2bc4b1c055..55a2b8dd1d1a68d56b2f84c6b57e2a9a8d382aed 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::extract_subdomain_dofs
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   std::vector<bool> dofs(dof_handler.n_dofs());
 
index 817902192ca261b1b2fdda18b7c4100ea0b5f384..3640446125722be7f46ff1b13450af9226d7f8db 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::count_dofs_per_component
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   std::vector<types::global_dof_index> n_dofs(
     dof_handler.get_fe().n_components());
index 1c76f6caa2b46d1ac36f4cd0ba6e5d3ae9a23e88..5ba5e6cf2b3f22ad12a3f54a5407a71e89d93387 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::map_dof_to_boundary_indices(const DoFHandler<int>     &,
@@ -23,9 +24,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   std::vector<types::global_dof_index> map(dof_handler.n_dofs());
   DoFTools::map_dof_to_boundary_indices(dof_handler, map);
index fdf6f57652cf00640b8dbae122cc57ca56003a46..679433b0d34e275420c8b9b39ada668f2916312c 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::map_dof_to_boundary_indices(const DoFHandler<int>     &,
@@ -24,9 +25,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   std::vector<types::global_dof_index> map(dof_handler.n_dofs());
   std::set<types::boundary_id>         boundary_ids;
index f601a811937fc8a4ba4799a5c0b87e7ec7bde2a3..2546540474ec13bba09b12d3b1da2ebf0213fc60 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::map_dofs_to_support_points (const Mapping<dim> &,
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // don't check if fe has no support
   // points
   if (dof_handler.get_fe().get_unit_support_points().size() == 0)
     return;
 
-  std::vector<Point<dim>> map(dof_handler.n_dofs());
-  MappingQ<dim>           mapping(2);
+  std::vector<Point<dof_handler.dimension>> map(dof_handler.n_dofs());
+  MappingQ<dof_handler.dimension>           mapping(2);
 
   DoFTools::map_dofs_to_support_points(mapping, dof_handler, map);
 
index fa922baac2d72be8525e36b32514744b900ae37b..a00c23268b5b567d947557215b117c26ad6da6fc 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+//#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::extract_dofs
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   std::vector<bool> selected_dofs(dof_handler.n_dofs());
   std::vector<bool> mask(dof_handler.get_fe().n_components(), false);
 
   // only select first component
   mask[0] = true;
-  DoFTools::extract_dofs<dim, dim, DoFHandler<dim>>(dof_handler,
-                                                    ComponentMask(mask),
-                                                    selected_dofs);
+  DoFTools::extract_dofs(dof_handler, ComponentMask(mask), selected_dofs);
   output_bool_vector(selected_dofs);
 
   // also select last component
   mask.back() = true;
-  DoFTools::extract_dofs<dim, dim, DoFHandler<dim>>(dof_handler,
-                                                    ComponentMask(mask),
-                                                    selected_dofs);
+  DoFTools::extract_dofs(dof_handler, ComponentMask(mask), selected_dofs);
   output_bool_vector(selected_dofs);
 }
index c5c9fe4fde99fa0f9e40bf55fefcaed99b62dd42..032dd3bd33d8e6d63810cbe26014b2539accd683 100644 (file)
 DEAL::Checking Q1 in 1d:
 DEAL::11111
 DEAL::11111
+DEAL::11111
+DEAL::11111
 DEAL::Checking Q1 in 2d:
 DEAL::111111111111111111
 DEAL::111111111111111111
+DEAL::111111111111111111
+DEAL::111111111111111111
 DEAL::Checking Q1 in 3d:
 DEAL::111111111111111111111111111111111111111111111111111111111111
 DEAL::111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking Q2 in 1d:
 DEAL::111111111
 DEAL::111111111
+DEAL::111111111
+DEAL::111111111
 DEAL::Checking Q2 in 2d:
 DEAL::111111111111111111111111111111111111111111111111111111111
 DEAL::111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111
 DEAL::Checking Q2 in 3d:
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking Q3 in 1d:
 DEAL::1111111111111
 DEAL::1111111111111
+DEAL::1111111111111
+DEAL::1111111111111
 DEAL::Checking Q3 in 2d:
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking Q3 in 3d:
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking DGQ0 in 1d:
 DEAL::1111
 DEAL::1111
+DEAL::1111
+DEAL::1111
 DEAL::Checking DGQ0 in 2d:
 DEAL::1111111111
 DEAL::1111111111
+DEAL::1111111111
+DEAL::1111111111
 DEAL::Checking DGQ0 in 3d:
 DEAL::1111111111111111111111
 DEAL::1111111111111111111111
+DEAL::1111111111111111111111
+DEAL::1111111111111111111111
 DEAL::Checking DGQ1 in 1d:
 DEAL::11111111
 DEAL::11111111
+DEAL::11111111
+DEAL::11111111
 DEAL::Checking DGQ1 in 2d:
 DEAL::1111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111
 DEAL::Checking DGQ1 in 3d:
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking DGQ3 in 1d:
 DEAL::1111111111111111
 DEAL::1111111111111111
+DEAL::1111111111111111
+DEAL::1111111111111111
 DEAL::Checking DGQ3 in 2d:
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking DGQ3 in 3d:
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking DGP0 in 1d:
 DEAL::1111
 DEAL::1111
+DEAL::1111
+DEAL::1111
 DEAL::Checking DGP0 in 2d:
 DEAL::1111111111
 DEAL::1111111111
+DEAL::1111111111
+DEAL::1111111111
 DEAL::Checking DGP0 in 3d:
 DEAL::1111111111111111111111
 DEAL::1111111111111111111111
+DEAL::1111111111111111111111
+DEAL::1111111111111111111111
 DEAL::Checking DGP1 in 1d:
 DEAL::11111111
 DEAL::11111111
+DEAL::11111111
+DEAL::11111111
 DEAL::Checking DGP1 in 2d:
 DEAL::111111111111111111111111111111
 DEAL::111111111111111111111111111111
+DEAL::111111111111111111111111111111
+DEAL::111111111111111111111111111111
 DEAL::Checking DGP1 in 3d:
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking DGP3 in 1d:
 DEAL::1111111111111111
 DEAL::1111111111111111
+DEAL::1111111111111111
+DEAL::1111111111111111
 DEAL::Checking DGP3 in 2d:
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking DGP3 in 3d:
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking Nedelec0 in 2d:
 DEAL::11111111111111111111111111111
 DEAL::11111111111111111111111111111
+DEAL::11111111111111111111111111111
+DEAL::11111111111111111111111111111
 DEAL::Checking Nedelec0 in 3d:
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking RaviartThomas0 in 2d:
 DEAL::11111111111111111111111111111
 DEAL::11111111111111111111111111111
+DEAL::11111111111111111111111111111
+DEAL::11111111111111111111111111111
 DEAL::Checking RaviartThomas1 in 2d:
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking RaviartThomas2 in 2d:
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking RaviartThomasNodal0 in 2d:
 DEAL::11111111111111111111111111111
 DEAL::11111111111111111111111111111
+DEAL::11111111111111111111111111111
+DEAL::11111111111111111111111111111
 DEAL::Checking RaviartThomasNodal1 in 2d:
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking RaviartThomasNodal2 in 2d:
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking RaviartThomasNodal0 in 3d:
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking RaviartThomasNodal1 in 3d:
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking RaviartThomasNodal2 in 3d:
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking FE_Q<1>(1)3 in 1d:
 DEAL::100100100100100
 DEAL::101101101101101
+DEAL::100100100100100
+DEAL::101101101101101
 DEAL::Checking FE_DGQ<1>(2)2 in 1d:
 DEAL::111000111000111000111000
 DEAL::111111111111111111111111
+DEAL::111000111000111000111000
+DEAL::111111111111111111111111
 DEAL::Checking FE_DGP<1>(3)1 in 1d:
 DEAL::1111111111111111
 DEAL::1111111111111111
+DEAL::1111111111111111
+DEAL::1111111111111111
 DEAL::Checking FE_Q<2>(1)3 in 2d:
 DEAL::100100100100100100100100100100100100100100100100100100
 DEAL::101101101101101101101101101101101101101101101101101101
+DEAL::100100100100100100100100100100100100100100100100100100
+DEAL::101101101101101101101101101101101101101101101101101101
 DEAL::Checking FE_DGQ<2>(2)2 in 2d:
 DEAL::111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000111111111000000000
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking FE_DGP<2>(3)1 in 2d:
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking FE_Q<3>(1)3 in 3d:
 DEAL::100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100
 DEAL::101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101
+DEAL::100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100
+DEAL::101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101101
 DEAL::Checking FE_DGQ<3>(2)2 in 3d:
 DEAL::111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000
 DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000
+DEAL::111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking FE_DGP<3>(3)1 in 3d:
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+DEAL::11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
 DEAL::Checking FE_Q<1>(1)3FE_DGQ<1>(2)2 in 1d:
 DEAL::100100000000100000000100000000100000000
 DEAL::100100000111100000111100000111100000111
+DEAL::100100000000100000000100000000100000000
+DEAL::100100000111100000111100000111100000111
 DEAL::Checking FE_DGQ<1>(2)2FE_DGP<1>(3)1 in 1d:
 DEAL::1110000000111000000011100000001110000000
 DEAL::1110001111111000111111100011111110001111
+DEAL::1110000000111000000011100000001110000000
+DEAL::1110001111111000111111100011111110001111
 DEAL::Checking FE_DGP<1>(3)1FE_DGQ<1>(2)2 in 1d:
 DEAL::1111000000111100000011110000001111000000
 DEAL::1111000111111100011111110001111111000111
+DEAL::1111000000111100000011110000001111000000
+DEAL::1111000111111100011111110001111111000111
 DEAL::Checking FE_Q<2>(1)3FE_DGQ<2>(2)2 in 2d:
 DEAL::100100100100000000000000000000100100000000000000000000100100100100000000000000000000100100000000000000000000100000000000000000000000000000000000000100100000000000000000000100100000000000000000000100000000000000000000000000000000000000
 DEAL::100100100100000000000111111111100100000000000111111111100100100100000000000111111111100100000000000111111111100000000000111111111000000000111111111100100000000000111111111100100000000000111111111100000000000111111111000000000111111111
+DEAL::100100100100000000000000000000100100000000000000000000100100100100000000000000000000100100000000000000000000100000000000000000000000000000000000000100100000000000000000000100100000000000000000000100000000000000000000000000000000000000
+DEAL::100100100100000000000111111111100100000000000111111111100100100100000000000111111111100100000000000111111111100000000000111111111000000000111111111100100000000000111111111100100000000000111111111100000000000111111111000000000111111111
 DEAL::Checking FE_DGQ<2>(2)2FE_DGP<2>(3)1 in 2d:
 DEAL::1111111110000000000000000000111111111000000000000000000011111111100000000000000000001111111110000000000000000000111111111000000000000000000011111111100000000000000000001111111110000000000000000000111111111000000000000000000011111111100000000000000000001111111110000000000000000000
 DEAL::1111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111
+DEAL::1111111110000000000000000000111111111000000000000000000011111111100000000000000000001111111110000000000000000000111111111000000000000000000011111111100000000000000000001111111110000000000000000000111111111000000000000000000011111111100000000000000000001111111110000000000000000000
+DEAL::1111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111
 DEAL::Checking FE_DGP<2>(3)1FE_DGQ<2>(2)2 in 2d:
 DEAL::1111111111000000000000000000111111111100000000000000000011111111110000000000000000001111111111000000000000000000111111111100000000000000000011111111110000000000000000001111111111000000000000000000111111111100000000000000000011111111110000000000000000001111111111000000000000000000
 DEAL::1111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111
+DEAL::1111111111000000000000000000111111111100000000000000000011111111110000000000000000001111111111000000000000000000111111111100000000000000000011111111110000000000000000001111111111000000000000000000111111111100000000000000000011111111110000000000000000001111111111000000000000000000
+DEAL::1111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111111111111100000000011111111111111111110000000001111111111111111111000000000111111111
 DEAL::Checking FE_Q<1>(1)3FE_DGP<1>(3)1FE_Q<1>(1)3 in 1d:
 DEAL::1000001000000000100000000010000000001000000000
 DEAL::1000011000010000100001000010000100001000010000
+DEAL::1000001000000000100000000010000000001000000000
+DEAL::1000011000010000100001000010000100001000010000
 DEAL::Checking FE_DGQ<1>(2)2FE_DGQ<1>(2)2FE_Q<1>(3)3 in 1d:
 DEAL::000000111000000000000000000111000000000000000000111000000000000000000111000000000000000
 DEAL::001001111000000000000011001111000000000000011001111000000000000011001111000000000000011
+DEAL::000000111000000000000000000111000000000000000000111000000000000000000111000000000000000
+DEAL::001001111000000000000011001111000000000000011001111000000000000011001111000000000000011
 DEAL::Checking FE_DGP<1>(3)1FE_DGP<1>(3)1FE_Q<1>(2)3 in 1d:
 DEAL::00000011110000000000111100000000001111000000000011110000000
 DEAL::00100111110000001001111100000010011111000000100111110000001
+DEAL::00000011110000000000111100000000001111000000000011110000000
+DEAL::00100111110000001001111100000010011111000000100111110000001
 DEAL::Checking FE_Q<2>(1)3FE_DGP<2>(3)1FE_Q<2>(1)3 in 2d:
 DEAL::1000001000001000001000000000000000100000100000000000000010000010000010000010000000000000001000001000000000000000100000000000000000000000001000001000000000000000100000100000000000000010000000000000000000000000
 DEAL::1000011000011000011000010000000000100001100001000000000010000110000110000110000100000000001000011000010000000000100001000000000000000000001000011000010000000000100001100001000000000010000100000000000000000000
+DEAL::1000001000001000001000000000000000100000100000000000000010000010000010000010000000000000001000001000000000000000100000000000000000000000001000001000000000000000100000100000000000000010000000000000000000000000
+DEAL::1000011000011000011000010000000000100001100001000000000010000110000110000110000100000000001000011000010000000000100001000000000000000000001000011000010000000000100001100001000000000010000100000000000000000000
 DEAL::Checking FE_DGQ<2>(2)2FE_DGQ<2>(2)2FE_Q<2>(3)3 in 2d:
 DEAL::000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000
 DEAL::001001001001000011000011000011000011111111111000000000000000000000000000000000001111001001000011000011000011111111111000000000000000000000000000000000001111001001001001000011000011000011000011111111111000000000000000000000000000000000001111001001000011000011000011111111111000000000000000000000000000000000001111001000011000011000011111111111000000000000000000000000000000000001111000011000011111111111000000000000000000000000000000000001111001001000011000011000011111111111000000000000000000000000000000000001111001001000011000011000011111111111000000000000000000000000000000000001111001000011000011111111111000000000000000000000000000000000001111000011000011111111111000000000000000000000000000000000001111
+DEAL::000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000
+DEAL::001001001001000011000011000011000011111111111000000000000000000000000000000000001111001001000011000011000011111111111000000000000000000000000000000000001111001001001001000011000011000011000011111111111000000000000000000000000000000000001111001001000011000011000011111111111000000000000000000000000000000000001111001000011000011000011111111111000000000000000000000000000000000001111000011000011111111111000000000000000000000000000000000001111001001000011000011000011111111111000000000000000000000000000000000001111001001000011000011000011111111111000000000000000000000000000000000001111001000011000011111111111000000000000000000000000000000000001111000011000011111111111000000000000000000000000000000000001111
 DEAL::Checking FE_DGP<2>(3)1FE_DGP<2>(3)1FE_Q<2>(2)3 in 2d:
 DEAL::00000000000000000000000011111111110000000000000000000000000000111111111100000000000000000000000000000000000001111111111000000000000000000000000000011111111110000000000000000000000000111111111100000000000000000001111111111000000000000000000000000000011111111110000000000000000000000000000111111111100000000000000000000001111111111000000000000000000011111111110000000000000
 DEAL::00100100100100100100100111111111110000000000001001001001001001111111111100000000000010010010010010010010010011111111111000000000000100100100100100111111111110000000000001001001001001111111111100000000000010010011111111111000000000000100100100100100111111111110000000000001001001001001001111111111100000000000010010010011111111111000000000000100100111111111110000000000001
+DEAL::00000000000000000000000011111111110000000000000000000000000000111111111100000000000000000000000000000000000001111111111000000000000000000000000000011111111110000000000000000000000000111111111100000000000000000001111111111000000000000000000000000000011111111110000000000000000000000000000111111111100000000000000000000001111111111000000000000000000011111111110000000000000
+DEAL::00100100100100100100100111111111110000000000001001001001001001111111111100000000000010010010010010010010010011111111111000000000000100100100100100111111111110000000000001001001001001111111111100000000000010010011111111111000000000000100100100100100111111111110000000000001001001001001001111111111100000000000010010010011111111111000000000000100100111111111110000000000001
 DEAL::Checking FE_DGQ<3>(1)3FE_DGP<3>(3)1FE_Q<3>(1)3 in 3d:
 DEAL::00000000000000000000000011111111000000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000001111111100000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000111111110000000000000000000000000000000000000001111111100000000000000000000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000001111111100000000000000000000000000000000000000011111111000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000001111111100000000000000000000000000000000000000011111111000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000001111111100000000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000111111110000000000000000000000000000000000000001111111100000000000000000000000000000000000000000011111111000000000000000000000000000000000000000111111110000000000000000000000000000000000000001111111100000000000000000000000000000000000011111111000000000000000000000000000000000000
 DEAL::00100100100100100100100111111111000000000000000000000000000000000000001001001001111111110000000000000000000000000000000000000010010010010010011111111100000000000000000000000000000000000000100100111111111000000000000000000000000000000000000001001111111110000000000000000000000000000000000000011111111100000000000000000000000000000000000000100100100100100100100111111111000000000000000000000000000000000000001001001001111111110000000000000000000000000000000000000010010011111111100000000000000000000000000000000000000111111111000000000000000000000000000000000000001001001111111110000000000000000000000000000000000000011111111100000000000000000000000000000000000000111111111000000000000000000000000000000000000111111110000000000000000000000000000000000000010010010011111111100000000000000000000000000000000000000100100100111111111000000000000000000000000000000000000001001111111110000000000000000000000000000000000000011111111100000000000000000000000000000000000000100111111111000000000000000000000000000000000000001111111110000000000000000000000000000000000000011111111100000000000000000000000000000000000011111111000000000000000000000000000000000000
-DEAL::Checking (FESystem<2>(FE_Q<2>(1),3))3FE_DGQ<2>(0)1FE_Q<2>(1)3 in 2d:
+DEAL::00000000000000000000000011111111000000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000001111111100000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000111111110000000000000000000000000000000000000001111111100000000000000000000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000001111111100000000000000000000000000000000000000011111111000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000001111111100000000000000000000000000000000000000011111111000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000001111111100000000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000111111110000000000000000000000000000000000000001111111100000000000000000000000000000000000000000011111111000000000000000000000000000000000000000111111110000000000000000000000000000000000000001111111100000000000000000000000000000000000011111111000000000000000000000000000000000000
+DEAL::00100100100100100100100111111111000000000000000000000000000000000000001001001001111111110000000000000000000000000000000000000010010010010010011111111100000000000000000000000000000000000000100100111111111000000000000000000000000000000000000001001111111110000000000000000000000000000000000000011111111100000000000000000000000000000000000000100100100100100100100111111111000000000000000000000000000000000000001001001001111111110000000000000000000000000000000000000010010011111111100000000000000000000000000000000000000111111111000000000000000000000000000000000000001001001111111110000000000000000000000000000000000000011111111100000000000000000000000000000000000000111111111000000000000000000000000000000000000111111110000000000000000000000000000000000000010010010011111111100000000000000000000000000000000000000100100100111111111000000000000000000000000000000000000001001111111110000000000000000000000000000000000000011111111100000000000000000000000000000000000000100111111111000000000000000000000000000000000000001111111110000000000000000000000000000000000000011111111100000000000000000000000000000000000011111111000000000000000000000000000000000000
+DEAL::Checking (FESystem<2>(FE_Q<2>(1), 3))3FE_DGQ<2>(0)1FE_Q<2>(1)3 in 2d:
 DEAL::1000000000001000000000001000000000001000000000000100000000000100000000000010000000000010000000000010000000000010000000000001000000000001000000000000100000000000001000000000001000000000000100000000000100000000000010000000000000
 DEAL::1000000000011000000000011000000000011000000000010100000000001100000000001010000000000110000000000110000000000110000000000101000000000011000000000010100000000001001000000000011000000000010100000000001100000000001010000000000100
-DEAL::Checking FE_DGQ<2>(3)1FESystem<2>(FE_DGQ<2>(0),3)1FESystem<2>(FE_Q<2>(2),1, FE_DGQ<2>(0),1)2 in 2d:
+DEAL::1000000000001000000000001000000000001000000000000100000000000100000000000010000000000010000000000010000000000010000000000001000000000001000000000000100000000000001000000000001000000000000100000000000100000000000010000000000000
+DEAL::1000000000011000000000011000000000011000000000010100000000001100000000001010000000000110000000000110000000000110000000000101000000000011000000000010100000000001001000000000011000000000010100000000001100000000001010000000000100
+DEAL::Checking FE_DGQ<2>(3)1FESystem<2>(FE_DGQ<2>(0), 3)1FESystem<2>(FE_Q<2>(2), 1, FE_DGQ<2>(0), 1)2 in 2d:
+DEAL::000000000000000011111111111111110000000000000000011111111111111110000000000000000000000011111111111111110000000000000000011111111111111110000000000000001111111111111111000000000001111111111111111000000000000000001111111111111111000000000000000001111111111111111000000000000011111111111111110000000000011111111111111110000000
+DEAL::000000000000000011111111111111110000001000000000011111111111111110000001000000000000000011111111111111110000001000000000011111111111111110000001000000001111111111111111000000100001111111111111111000000100000000001111111111111111000000100000000001111111111111111000000100000011111111111111110000001000011111111111111110000001
 DEAL::000000000000000011111111111111110000000000000000011111111111111110000000000000000000000011111111111111110000000000000000011111111111111110000000000000001111111111111111000000000001111111111111111000000000000000001111111111111111000000000000000001111111111111111000000000000011111111111111110000000000011111111111111110000000
 DEAL::000000000000000011111111111111110000001000000000011111111111111110000001000000000000000011111111111111110000001000000000011111111111111110000001000000001111111111111111000000100001111111111111111000000100000000001111111111111111000000100000000001111111111111111000000100000011111111111111110000001000011111111111111110000001
 DEAL::Checking FE_DGQ<2>(3)1FE_Nedelec<2>(0)2 in 2d:
 DEAL::00000000111111111111111100000011111111111111110000000011111111111111110000001111111111111111000000111111111111111100001111111111111111000000111111111111111100000011111111111111110000111111111111111100001111111111111111
 DEAL::01010101111111111111111101010111111111111111110101010111111111111111110101011111111111111111010101111111111111111101011111111111111111010101111111111111111101010111111111111111110101111111111111111101011111111111111111
-DEAL::Checking FE_Nedelec<2>(0)1FESystem<2>(FE_DGQ<2>(1),2)1FESystem<2>(FE_Q<2>(2),1, FE_Nedelec<2>(0),2)2 in 2d:
+DEAL::00000000111111111111111100000011111111111111110000000011111111111111110000001111111111111111000000111111111111111100001111111111111111000000111111111111111100000011111111111111110000111111111111111100001111111111111111
+DEAL::01010101111111111111111101010111111111111111110101010111111111111111110101011111111111111111010101111111111111111101011111111111111111010101111111111111111101010111111111111111110101111111111111111101011111111111111111
+DEAL::Checking FE_Nedelec<2>(0)1FESystem<2>(FE_DGQ<2>(1), 2)1FESystem<2>(FE_Q<2>(2), 1, FE_Nedelec<2>(0), 2)2 in 2d:
+DEAL::000000001000000100000010000001000000000000000000001000000100000010000000000000000000000001000000100000010000001000000000000000000001000000100000010000000000000000001000000100000010000000000000000100000010000000000000000000010000001000000100000000000000000000100000010000001000000000000000000100000010000000000000000100000010000000000000000
+DEAL::000000001000001100000110000011000001000000000000001000001100000110000010000000000000000001000001100000110000011000001000000000000001000001100000110000010000000000001000001100000110000010000000000100000110000010000000000000010000011000001100000100000000000000100000110000011000001000000000000100000110000010000000000100000110000010000000000
 DEAL::000000001000000100000010000001000000000000000000001000000100000010000000000000000000000001000000100000010000001000000000000000000001000000100000010000000000000000001000000100000010000000000000000100000010000000000000000000010000001000000100000000000000000000100000010000001000000000000000000100000010000000000000000100000010000000000000000
 DEAL::000000001000001100000110000011000001000000000000001000001100000110000010000000000000000001000001100000110000011000001000000000000001000001100000110000010000000000001000001100000110000010000000000100000110000010000000000000010000011000001100000100000000000000100000110000011000001000000000000100000110000010000000000100000110000010000000000
index bb25d2ae6311f63762506b5de1befa244bf6d3c9..cc95e1c917af90139885068cf97e7bdd40d1082b 100644 (file)
 // the top level directory of deal.II.
 //
 // ---------------------------------------------------------------------
-#include <deal.II/base/logstream.h>
-
-#include <deal.II/distributed/tria.h>
-
-#include <deal.II/dofs/dof_accessor.h>
-#include <deal.II/dofs/dof_handler.h>
-#include <deal.II/dofs/dof_tools.h>
-
-#include <deal.II/fe/fe_dgp.h>
-#include <deal.II/fe/fe_dgq.h>
-#include <deal.II/fe/fe_nedelec.h>
-#include <deal.II/fe/fe_q.h>
-#include <deal.II/fe/fe_raviart_thomas.h>
-#include <deal.II/fe/fe_system.h>
-
-#include <deal.II/grid/grid_generator.h>
-#include <deal.II/grid/grid_out.h>
-#include <deal.II/grid/tria_iterator.h>
-
-#include <algorithm>
-#include <fstream>
-#include <iomanip>
-#include <string>
-
-#include "../tests.h"
+#include "dof_tools_common_parallel.h"
 
 // check
 //  DoFTools::extract_dofs as in dof_tools_12 in parallel for fewer elements
 // extracted vector of the global DoF, which has to be mapped with the locally
 // owned IndexSet first.
 
-void
-output_bool_vector(std::vector<bool> &v)
-{
-  for (unsigned int i = 0; i < v.size(); ++i)
-    deallog << (v[i] ? '1' : '0');
-  deallog << std::endl;
-}
-
-
-template <int dim, typename DoFHandlerType>
+template <typename DoFHandlerType>
 void
 check_this(const DoFHandlerType &dof_handler)
 {
@@ -63,184 +30,11 @@ check_this(const DoFHandlerType &dof_handler)
 
   // only select first component
   mask[0] = true;
-  DoFTools::extract_dofs<dim, dim, DoFHandlerType>(dof_handler,
-                                                   ComponentMask(mask),
-                                                   selected_dofs);
+  DoFTools::extract_dofs(dof_handler, ComponentMask(mask), selected_dofs);
   output_bool_vector(selected_dofs);
 
   // also select last component
   mask.back() = true;
-  DoFTools::extract_dofs<dim, dim, DoFHandlerType>(dof_handler,
-                                                   ComponentMask(mask),
-                                                   selected_dofs);
+  DoFTools::extract_dofs(dof_handler, ComponentMask(mask), selected_dofs);
   output_bool_vector(selected_dofs);
 }
-
-
-template <int dim>
-void
-check(const FiniteElement<dim> &fe, const std::string &name)
-{
-  deallog << "Checking " << name << " in " << dim << "d:" << std::endl;
-
-  // create tria and dofhandler
-  // objects. set different boundary
-  // and sub-domain ids
-  parallel::distributed::Triangulation<dim> tria(MPI_COMM_WORLD);
-  GridGenerator::hyper_cube(tria, 0., 1.);
-  tria.refine_global(1);
-  for (unsigned int ref = 0; ref < 2; ++ref)
-    {
-      for (auto &cell : tria.active_cell_iterators())
-        if (cell->is_locally_owned() && cell->center()(0) < .5 &&
-            cell->center()(1) < .5)
-          cell->set_refine_flag();
-      tria.execute_coarsening_and_refinement();
-    }
-
-  // setup DoFHandler
-  DoFHandler<dim> dof_handler(tria);
-  dof_handler.distribute_dofs(fe);
-
-  // setup hp DoFHandler
-  hp::FECollection<dim> fe_collection(fe);
-  hp::DoFHandler<dim>   hp_dof_handler(tria);
-  hp_dof_handler.distribute_dofs(fe_collection);
-
-  check_this<dim, DoFHandler<dim>>(dof_handler);
-  check_this<dim, hp::DoFHandler<dim>>(hp_dof_handler);
-}
-
-
-#define CHECK(EL, deg, dim) \
-  {                         \
-    FE_##EL<dim> EL(deg);   \
-    check(EL, #EL #deg);    \
-  }
-
-#define CHECK_SYS1(sub1, N1, dim) \
-  {                               \
-    FESystem<dim> q(sub1, N1);    \
-    check(q, #sub1 #N1);          \
-  }
-
-#define CHECK_SYS2(sub1, N1, sub2, N2, dim) \
-  {                                         \
-    FESystem<dim> q(sub1, N1, sub2, N2);    \
-    check(q, #sub1 #N1 #sub2 #N2);          \
-  }
-
-#define CHECK_SYS3(sub1, N1, sub2, N2, sub3, N3, dim) \
-  {                                                   \
-    FESystem<dim> q(sub1, N1, sub2, N2, sub3, N3);    \
-    check(q, #sub1 #N1 #sub2 #N2 #sub3 #N3);          \
-  }
-
-#define CHECK_ALL(EL, deg) \
-  {                        \
-    CHECK(EL, deg, 2);     \
-    CHECK(EL, deg, 3);     \
-  }
-
-
-int
-main(int argc, char **argv)
-{
-  try
-    {
-      Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1);
-      MPILogInitAll                    logfile;
-
-      CHECK_ALL(Q, 1)
-      CHECK_ALL(Q, 2)
-      CHECK_ALL(Q, 3)
-
-      CHECK_ALL(DGQ, 0)
-      CHECK_ALL(DGQ, 1)
-      CHECK_ALL(DGQ, 3)
-
-      CHECK_ALL(DGP, 0)
-      CHECK_ALL(DGP, 1)
-      CHECK_ALL(DGP, 3)
-
-      CHECK(Nedelec, 0, 2)
-      CHECK(Nedelec, 0, 3)
-
-      CHECK(RaviartThomas, 0, 2)
-      CHECK(RaviartThomas, 1, 2)
-      CHECK(RaviartThomas, 2, 2)
-
-      CHECK(RaviartThomasNodal, 0, 2)
-      CHECK(RaviartThomasNodal, 1, 2)
-      CHECK(RaviartThomasNodal, 2, 2)
-      CHECK(RaviartThomasNodal, 0, 3)
-      CHECK(RaviartThomasNodal, 1, 3)
-      CHECK(RaviartThomasNodal, 2, 3)
-
-      CHECK_SYS1(FE_Q<2>(1), 3, 2)
-      CHECK_SYS1(FE_DGQ<2>(2), 2, 2)
-      CHECK_SYS1(FE_DGP<2>(3), 1, 2)
-
-      CHECK_SYS1(FE_Q<3>(1), 3, 3)
-      CHECK_SYS1(FE_DGQ<3>(2), 2, 3)
-      CHECK_SYS1(FE_DGP<3>(3), 1, 3)
-
-      CHECK_SYS2(FE_Q<2>(1), 3, FE_DGQ<2>(2), 2, 2)
-      CHECK_SYS2(FE_DGQ<2>(2), 2, FE_DGP<2>(3), 1, 2)
-      CHECK_SYS2(FE_DGP<2>(3), 1, FE_DGQ<2>(2), 2, 2)
-
-      CHECK_SYS3(FE_Q<2>(1), 3, FE_DGP<2>(3), 1, FE_Q<2>(1), 3, 2)
-      CHECK_SYS3(FE_DGQ<2>(2), 2, FE_DGQ<2>(2), 2, FE_Q<2>(3), 3, 2)
-      CHECK_SYS3(FE_DGP<2>(3), 1, FE_DGP<2>(3), 1, FE_Q<2>(2), 3, 2)
-
-      CHECK_SYS3(FE_DGQ<3>(1), 3, FE_DGP<3>(3), 1, FE_Q<3>(1), 3, 3)
-
-      // systems of systems
-      CHECK_SYS3(
-        (FESystem<2>(FE_Q<2>(1), 3)), 3, FE_DGQ<2>(0), 1, FE_Q<2>(1), 3, 2)
-      CHECK_SYS3(FE_DGQ<2>(3),
-                 1,
-                 FESystem<2>(FE_DGQ<2>(0), 3),
-                 1,
-                 FESystem<2>(FE_Q<2>(2), 1, FE_DGQ<2>(0), 1),
-                 2,
-                 2)
-
-      // systems with Nedelec elements
-      CHECK_SYS2(FE_DGQ<2>(3), 1, FE_Nedelec<2>(0), 2, 2)
-      CHECK_SYS3(FE_Nedelec<2>(0),
-                 1,
-                 FESystem<2>(FE_DGQ<2>(1), 2),
-                 1,
-                 FESystem<2>(FE_Q<2>(2), 1, FE_Nedelec<2>(0), 2),
-                 2,
-                 2)
-
-      return 0;
-    }
-  catch (std::exception &exc)
-    {
-      deallog << std::endl
-              << std::endl
-              << "----------------------------------------------------"
-              << std::endl;
-      deallog << "Exception on processing: " << std::endl
-              << exc.what() << std::endl
-              << "Aborting!" << std::endl
-              << "----------------------------------------------------"
-              << std::endl;
-      return 1;
-    }
-  catch (...)
-    {
-      deallog << std::endl
-              << std::endl
-              << "----------------------------------------------------"
-              << std::endl;
-      deallog << "Unknown exception!" << std::endl
-              << "Aborting!" << std::endl
-              << "----------------------------------------------------"
-              << std::endl;
-      return 1;
-    };
-}
index 423498360900f3d391b1b6e8d8ed6707763cbfa0..a7dd90d96c954e28bb1e8c0ddc02e111282bce69 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::distribute_cell_to_dof_vector
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // this doesn't make much sense if
   // the element is not primitive
index 3d797bf78fdcda0e28b2b7dc9aca86a1358cecef..816094bfc9a580933ab8baca9f73a3d07250998a 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::distribute_cell_to_dof_vector
@@ -30,9 +31,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // this doesn't make much sense if
   // the element is not primitive
@@ -56,8 +57,9 @@ check_this(const DoFHandler<dim> &dof_handler)
     std::vector<bool> component_mask(dof_handler.get_fe().n_components(),
                                      false);
     component_mask[0] = true;
-    DoFTools::extract_dofs<dim, dim, DoFHandler<dim>>(
-      dof_handler, ComponentMask(component_mask), component_dofs);
+    DoFTools::extract_dofs(dof_handler,
+                           ComponentMask(component_mask),
+                           component_dofs);
 
     for (unsigned int i = 0; i < dof_data.size(); ++i)
       if (component_dofs[i] == true)
@@ -90,8 +92,9 @@ check_this(const DoFHandler<dim> &dof_handler)
     std::vector<bool> component_mask(dof_handler.get_fe().n_components(),
                                      false);
     component_mask.back() = true;
-    DoFTools::extract_dofs<dim, dim, DoFHandler<dim>>(
-      dof_handler, ComponentMask(component_mask), component_dofs);
+    DoFTools::extract_dofs(dof_handler,
+                           ComponentMask(component_mask),
+                           component_dofs);
     for (unsigned int i = 0; i < dof_data.size(); ++i)
       if (component_dofs[i] == true)
         dof_data(i) = i + 1;
index 692abc52dd4966b1c6ba0b0ddfd06c66ab94b128..b377c73728a76d116fbf3cc8f1f5e0986041ba56 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::count_boundary_dofs
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // no other args
   deallog << dof_handler.n_boundary_dofs() << std::endl;
 
   // with std::map
-  std::map<types::boundary_id, const Function<dim> *> fm;
+  std::map<types::boundary_id, const Function<dof_handler.dimension> *> fm;
   fm[0] = nullptr;
   deallog << dof_handler.n_boundary_dofs(fm) << std::endl;
 
index be6046033cce3730cf42cba942919b020800f7b2..8f0b45ba35627844ccdb076ae8edfc01747697b4 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // test doesn't make much sense if
   // no boundary dofs exist
index fdf31c31a2aff35b2e0c0cd99a2af2e2cb242e5a..baa17d59f262000bf0728c7d4591db126dd38cd2 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // test doesn't make much sense if
   // no boundary dofs exist
index a0dcd5760cae1d00f65f23ddc9335965dd1b7d1d..ad23a41684432c3bad7d20f444c0d8863f73abcb 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // test doesn't make much sense if
   // no boundary dofs exist
index 0a31082106d39fbf2602011c61f4cc8abc126877..cfbc953fd17b5da830d058d0d68184d47f994582 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -27,9 +28,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // test doesn't make much sense if
   // no boundary dofs exist
index dccd3432ee6e466e8b76b07a41fb58c7712dd62c..70cc3c2d21297768c61adb72a8ca4a0914b32787 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -29,9 +30,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // test doesn't make much sense if
   // no boundary dofs exist
@@ -44,7 +45,7 @@ check_this(const DoFHandler<dim> &dof_handler)
   DoFTools::map_dof_to_boundary_indices(dof_handler, set, map);
 
   // create sparsity pattern
-  std::map<types::boundary_id, const Function<dim> *> boundary_ids;
+  std::map<types::boundary_id, const Function<dof_handler.dimension> *> boundary_ids;
   boundary_ids[0] = nullptr;
   SparsityPattern sp(dof_handler.n_boundary_dofs(boundary_ids),
                      dof_handler.max_couplings_between_dofs());
index 2ff74a827cfe5d8f306a27b19fc81286968094a7..6c93ba9dc0aaaee55bea57c5ebdc30d2fddd4f08 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -29,9 +30,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // test doesn't make much sense if
   // no boundary dofs exist
@@ -44,7 +45,7 @@ check_this(const DoFHandler<dim> &dof_handler)
   DoFTools::map_dof_to_boundary_indices(dof_handler, set, map);
 
   // create sparsity pattern
-  std::map<types::boundary_id, const Function<dim> *> boundary_ids;
+  std::map<types::boundary_id, const Function<dof_handler.dimension> *> boundary_ids;
   boundary_ids[0] = nullptr;
   DynamicSparsityPattern sp(dof_handler.n_boundary_dofs(boundary_ids));
   DoFTools::make_boundary_sparsity_pattern(dof_handler, boundary_ids, map, sp);
index 12628683b94d6d084d4501e09bf925ac032934b2..7d7cab8c5cee80c9df6046e7dac1a5919c4ad551 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -29,9 +30,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // test doesn't make much sense if
   // no boundary dofs exist
@@ -43,7 +44,7 @@ check_this(const DoFHandler<dim> &dof_handler)
   set.insert(0);
   DoFTools::map_dof_to_boundary_indices(dof_handler, set, map);
 
-  std::map<types::boundary_id, const Function<dim> *> boundary_ids;
+  std::map<types::boundary_id, const Function<dof_handler.dimension> *> boundary_ids;
   boundary_ids[0] = nullptr;
   const unsigned int n_boundary_dofs =
     dof_handler.n_boundary_dofs(boundary_ids);
index e0a5dbc3d8fa811121aac99093c33c2e7e0f5bc0..1afe6a71b4a8027455301a36d49b6d990c450884 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -29,9 +30,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // test doesn't make much sense if
   // no boundary dofs exist
@@ -43,7 +44,7 @@ check_this(const DoFHandler<dim> &dof_handler)
   set.insert(0);
   DoFTools::map_dof_to_boundary_indices(dof_handler, set, map);
 
-  std::map<types::boundary_id, const Function<dim> *> boundary_ids;
+  std::map<types::boundary_id, const Function<dof_handler.dimension> *> boundary_ids;
   boundary_ids[0] = nullptr;
   const types::global_dof_index n_boundary_dofs =
     dof_handler.n_boundary_dofs(boundary_ids);
index ea129fcaf67c554dc820568306e3ec76d625a17e..c84f43bd388e118926446030690f021df54165dc 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -26,9 +27,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // create sparsity pattern
   SparsityPattern sp(dof_handler.n_dofs(),
index 6a29878becee03bb57ef904e67a1921b9898fb40..96c26b2a8ae619ed7b72ea25e920f3218b0c9969 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -26,9 +27,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // create sparsity pattern
   DynamicSparsityPattern sp(dof_handler.n_dofs());
index b8f5028db4086f28c97ea71b35016ff2d37bbb6e..44aad8bfa4a9dc5c3cfdc727b9c0e9f9b0a77a25 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -26,9 +27,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // we split up the matrix into
   // blocks according to the number
index f382319e3a94f184fac27c6a409393db59b12946..e45a217cff20d3b85ab3bc2cdf8f0ddb618e3d7d 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -26,9 +27,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // we split up the matrix into
   // blocks according to the number
index 104a1670c776915336f2557695767e7b4ffabcdd..465116c4fbf9d35ae5e550be15e3d1474ccc6b62 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -43,9 +44,9 @@ make_masks(const unsigned int            n,
 }
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   Table<2, DoFTools::Coupling> mask_int;
   Table<2, DoFTools::Coupling> mask_ext;
index e2a4fb77a352dbf140bb554f0c7e6b78a0d0f512..d92dade4c10a87dec53532f0926b006eaabe1220 100644 (file)
@@ -52,9 +52,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // create sparsity pattern
   SparsityPattern sp(dof_handler.n_dofs(),
@@ -110,7 +110,7 @@ check_this()
   DoFHandler<dim> dof_handler(tr);
   dof_handler.distribute_dofs(fe);
 
-  check_this(dof_handler);
+  check_this<DoFHandler<dim> >(dof_handler);
 }
 
 
index 29e2738399ed64844cac4232464da8be0a9b1fd5..7dbf492e5284ffbe3ad53857034e6d55f80c19c9 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -43,9 +44,9 @@ make_masks(const unsigned int            n,
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   Table<2, DoFTools::Coupling> mask_int;
   Table<2, DoFTools::Coupling> mask_ext;
index ea84df9d631f783f7289014b828a037e05dfee51..0a54719a0c492353cd00205549cf7193a06ff056 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -43,9 +44,9 @@ make_masks(const unsigned int            n,
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // we split up the matrix into
   // blocks according to the number
index b25f75b363abdf25e3f33f1c4d854e28cafc42c8..18a91d96333f116cf55af4c4238209c4fa98d54a 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -43,9 +44,9 @@ make_masks(const unsigned int            n,
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // we split up the matrix into
   // blocks according to the number
index 467c710ba53464cfcb2aa6c4f5743cd5f85d1803..183f90fdc86354b97fee5c54b4fed75a2fda60a8 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::
@@ -44,9 +45,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   // there's presently a crash in the
   // Raviart-Thomas element. don't
@@ -57,7 +58,7 @@ check_this(const DoFHandler<dim> &dof_handler)
       std::string::npos)
     return;
 
-  Functions::ConstantFunction<dim> test_func(
+  Functions::ConstantFunction<dof_handler.dimension> test_func(
     1, dof_handler.get_fe().n_components());
 
   // don't run this test if hanging
@@ -73,7 +74,7 @@ check_this(const DoFHandler<dim> &dof_handler)
   deallog << cm.max_constraint_indirections() << std::endl;
 
   // L_2 project constant function onto field
-  QGauss<dim>    quadrature(6);
+  QGauss<dof_handler.dimension>    quadrature(6);
   Vector<double> solution(dof_handler.n_dofs());
 
   VectorTools::project(dof_handler, cm, quadrature, test_func, solution);
index 46af85d4609615bc337b4afe9b1c4a5369ca99e4..8c48348f91b9e83624d19f8d20669569b20f6343 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   DoFTools::extract_dofs_with_support_on_boundary
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   std::vector<bool> component_select(dof_handler.get_fe().n_components(), true);
   std::vector<bool> boundary_dofs(dof_handler.n_dofs());
index 3583a84fbd7eb95e620bb583b0d0fc17c475331b..da334c0722c19c000b5b5cdd9877cd36c29a10bd 100644 (file)
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
-  Functions::CosineFunction<dim> test_func(dof_handler.get_fe().n_components());
+  Functions::CosineFunction<dof_handler.dimension> test_func(dof_handler.get_fe().n_components());
 
   AffineConstraints<double> cm;
 
@@ -62,7 +62,7 @@ check_this(const DoFHandler<dim> &dof_handler)
   deallog << cm.n_constraints() << std::endl;
   deallog << cm.max_constraint_indirections() << std::endl;
 
-  QGauss<dim> quadrature(6);
+  QGauss<dof_handler.dimension> quadrature(6);
 
   Vector<double> unconstrained(dof_handler.n_dofs());
   Vector<double> constrained(dof_handler.n_dofs());
index 76d8f0c90b3225ec39b96f5eb06fa55bf63ac898..c60991cc18024b7cb11503b25523912c02b6df43 100644 (file)
@@ -42,9 +42,9 @@
 
 // forward declaration of the function that must be provided in the
 // .cc files
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler);
+check_this(const DoFHandlerType &dof_handler);
 
 
 
@@ -95,11 +95,19 @@ check(const FiniteElement<dim> &fe, const std::string &name)
        cell != tria.end();
        ++cell)
     cell->set_subdomain_id(cell->level());
+
+  // setup DoFHandler
   DoFHandler<dim> dof_handler(tria);
   dof_handler.distribute_dofs(fe);
 
+  // setup hp DoFHandler
+  hp::FECollection<dim> fe_collection(fe);
+  hp::DoFHandler<dim>   hp_dof_handler(tria);
+  hp_dof_handler.distribute_dofs(fe_collection);
+
   // call main function in .cc files
-  check_this(dof_handler);
+  check_this<DoFHandler<dof_handler.dimension, dof_handler.space_dimension> >(dof_handler);
+  check_this<hp::DoFHandler<hp_dof_handler.dimension, hp_dof_handler.space_dimension> >(hp_dof_handler);
 }
 
 
diff --git a/tests/dofs/dof_tools_common_parallel.h b/tests/dofs/dof_tools_common_parallel.h
new file mode 100644 (file)
index 0000000..7a613ac
--- /dev/null
@@ -0,0 +1,230 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2003 - 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.
+//
+// ---------------------------------------------------------------------
+
+// common parallel framework for the various dof_tools_*.cc tests
+
+#include <deal.II/base/logstream.h>
+
+#include <deal.II/distributed/tria.h>
+
+#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/dofs/dof_tools.h>
+
+#include <deal.II/fe/fe_dgp.h>
+#include <deal.II/fe/fe_dgq.h>
+#include <deal.II/fe/fe_nedelec.h>
+#include <deal.II/fe/fe_q.h>
+#include <deal.II/fe/fe_raviart_thomas.h>
+#include <deal.II/fe/fe_system.h>
+
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/grid_out.h>
+#include <deal.II/grid/tria_iterator.h>
+
+#include <algorithm>
+#include <fstream>
+#include <iomanip>
+#include <string>
+
+#include "../tests.h"
+
+// forward declaration of the function that must be provided in the
+// .cc files
+template <typename DoFHandlerType>
+void
+check_this(const DoFHandlerType &dof_handler);
+
+
+
+void
+output_bool_vector(std::vector<bool> &v)
+{
+  for (unsigned int i = 0; i < v.size(); ++i)
+    deallog << (v[i] ? '1' : '0');
+  deallog << std::endl;
+}
+
+
+
+template <int dim>
+void
+check(const FiniteElement<dim> &fe, const std::string &name)
+{
+  deallog << "Checking " << name << " in " << dim << "d:" << std::endl;
+
+  // create tria and dofhandler
+  // objects. set different boundary
+  // and sub-domain ids
+  parallel::distributed::Triangulation<dim> tria(MPI_COMM_WORLD);
+  GridGenerator::hyper_cube(tria, 0., 1.);
+  tria.refine_global(1);
+  for (unsigned int ref = 0; ref < 2; ++ref)
+    {
+      for (auto &cell : tria.active_cell_iterators())
+        if (cell->is_locally_owned() && cell->center()(0) < .5 &&
+            cell->center()(1) < .5)
+          cell->set_refine_flag();
+      tria.execute_coarsening_and_refinement();
+    }
+
+  // setup DoFHandler
+  DoFHandler<dim> dof_handler(tria);
+  dof_handler.distribute_dofs(fe);
+
+  // setup hp DoFHandler
+  hp::FECollection<dim> fe_collection(fe);
+  hp::DoFHandler<dim>   hp_dof_handler(tria);
+  hp_dof_handler.distribute_dofs(fe_collection);
+
+  check_this<DoFHandler<dof_handler.dimension, dof_handler.space_dimension> >(dof_handler);
+  check_this<hp::DoFHandler<hp_dof_handler.dimension, hp_dof_handler.space_dimension> >(hp_dof_handler);
+}
+
+
+
+#define CHECK(EL, deg, dim) \
+  {                         \
+    FE_##EL<dim> EL(deg);   \
+    check(EL, #EL #deg);    \
+  }
+
+#define CHECK_SYS1(sub1, N1, dim) \
+  {                               \
+    FESystem<dim> q(sub1, N1);    \
+    check(q, #sub1 #N1);          \
+  }
+
+#define CHECK_SYS2(sub1, N1, sub2, N2, dim) \
+  {                                         \
+    FESystem<dim> q(sub1, N1, sub2, N2);    \
+    check(q, #sub1 #N1 #sub2 #N2);          \
+  }
+
+#define CHECK_SYS3(sub1, N1, sub2, N2, sub3, N3, dim) \
+  {                                                   \
+    FESystem<dim> q(sub1, N1, sub2, N2, sub3, N3);    \
+    check(q, #sub1 #N1 #sub2 #N2 #sub3 #N3);          \
+  }
+
+#define CHECK_ALL(EL, deg) \
+  {                        \
+    CHECK(EL, deg, 2);     \
+    CHECK(EL, deg, 3);     \
+  }
+
+
+
+int
+main(int argc, char **argv)
+{
+  try
+    {
+      Utilities::MPI::MPI_InitFinalize mpi_initialization(argc, argv, 1);
+      MPILogInitAll                    logfile;
+
+      CHECK_ALL(Q, 1)
+      CHECK_ALL(Q, 2)
+      CHECK_ALL(Q, 3)
+
+      CHECK_ALL(DGQ, 0)
+      CHECK_ALL(DGQ, 1)
+      CHECK_ALL(DGQ, 3)
+
+      CHECK_ALL(DGP, 0)
+      CHECK_ALL(DGP, 1)
+      CHECK_ALL(DGP, 3)
+
+      CHECK(Nedelec, 0, 2)
+      CHECK(Nedelec, 0, 3)
+
+      CHECK(RaviartThomas, 0, 2)
+      CHECK(RaviartThomas, 1, 2)
+      CHECK(RaviartThomas, 2, 2)
+
+      CHECK(RaviartThomasNodal, 0, 2)
+      CHECK(RaviartThomasNodal, 1, 2)
+      CHECK(RaviartThomasNodal, 2, 2)
+      CHECK(RaviartThomasNodal, 0, 3)
+      CHECK(RaviartThomasNodal, 1, 3)
+      CHECK(RaviartThomasNodal, 2, 3)
+
+      CHECK_SYS1(FE_Q<2>(1), 3, 2)
+      CHECK_SYS1(FE_DGQ<2>(2), 2, 2)
+      CHECK_SYS1(FE_DGP<2>(3), 1, 2)
+
+      CHECK_SYS1(FE_Q<3>(1), 3, 3)
+      CHECK_SYS1(FE_DGQ<3>(2), 2, 3)
+      CHECK_SYS1(FE_DGP<3>(3), 1, 3)
+
+      CHECK_SYS2(FE_Q<2>(1), 3, FE_DGQ<2>(2), 2, 2)
+      CHECK_SYS2(FE_DGQ<2>(2), 2, FE_DGP<2>(3), 1, 2)
+      CHECK_SYS2(FE_DGP<2>(3), 1, FE_DGQ<2>(2), 2, 2)
+
+      CHECK_SYS3(FE_Q<2>(1), 3, FE_DGP<2>(3), 1, FE_Q<2>(1), 3, 2)
+      CHECK_SYS3(FE_DGQ<2>(2), 2, FE_DGQ<2>(2), 2, FE_Q<2>(3), 3, 2)
+      CHECK_SYS3(FE_DGP<2>(3), 1, FE_DGP<2>(3), 1, FE_Q<2>(2), 3, 2)
+
+      CHECK_SYS3(FE_DGQ<3>(1), 3, FE_DGP<3>(3), 1, FE_Q<3>(1), 3, 3)
+
+      // systems of systems
+      CHECK_SYS3(
+        (FESystem<2>(FE_Q<2>(1), 3)), 3, FE_DGQ<2>(0), 1, FE_Q<2>(1), 3, 2)
+      CHECK_SYS3(FE_DGQ<2>(3),
+                 1,
+                 FESystem<2>(FE_DGQ<2>(0), 3),
+                 1,
+                 FESystem<2>(FE_Q<2>(2), 1, FE_DGQ<2>(0), 1),
+                 2,
+                 2)
+
+      // systems with Nedelec elements
+      CHECK_SYS2(FE_DGQ<2>(3), 1, FE_Nedelec<2>(0), 2, 2)
+      CHECK_SYS3(FE_Nedelec<2>(0),
+                 1,
+                 FESystem<2>(FE_DGQ<2>(1), 2),
+                 1,
+                 FESystem<2>(FE_Q<2>(2), 1, FE_Nedelec<2>(0), 2),
+                 2,
+                 2)
+
+      return 0;
+    }
+  catch (std::exception &exc)
+    {
+      deallog << std::endl
+              << std::endl
+              << "----------------------------------------------------"
+              << std::endl;
+      deallog << "Exception on processing: " << std::endl
+              << exc.what() << std::endl
+              << "Aborting!" << std::endl
+              << "----------------------------------------------------"
+              << std::endl;
+      return 1;
+    }
+  catch (...)
+    {
+      deallog << std::endl
+              << std::endl
+              << "----------------------------------------------------"
+              << std::endl;
+      deallog << "Unknown exception!" << std::endl
+              << "Aborting!" << std::endl
+              << "----------------------------------------------------"
+              << std::endl;
+      return 1;
+    };
+}
diff --git a/tests/dofs/dof_tools_fake_hp.inst.in b/tests/dofs/dof_tools_fake_hp.inst.in
new file mode 100644 (file)
index 0000000..9ef870d
--- /dev/null
@@ -0,0 +1,83 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2004 - 2019 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.
+//
+// ---------------------------------------------------------------------
+
+#ifndef dealii_dof_tools_fake_hp_h
+#define dealii_dof_tools_fake_hp_h
+// fake hp check_this function that does nothing
+
+template<>
+void
+check_this(const hp::DoFHandler<1, 1> &dof_handler)
+{
+    // nothing to do here
+}
+
+template<>
+void
+check_this(const hp::DoFHandler<1, 2> &dof_handler)
+{
+    // nothing to do here
+}
+
+template<>
+void
+check_this(const hp::DoFHandler<1, 3> &dof_handler)
+{
+    // nothing to do here
+}
+
+template<>
+void
+check_this(const hp::DoFHandler<2, 1> &dof_handler)
+{
+    // nothing to do here
+}
+
+template<>
+void
+check_this(const hp::DoFHandler<2, 2> &dof_handler)
+{
+    // nothing to do here
+}
+
+template<>
+void
+check_this(const hp::DoFHandler<2, 3> &dof_handler)
+{
+    // nothing to do here
+}
+
+template<>
+void
+check_this(const hp::DoFHandler<3, 1> &dof_handler)
+{
+    // nothing to do here
+}
+
+template<>
+void
+check_this(const hp::DoFHandler<3, 2> &dof_handler)
+{
+    // nothing to do here
+}
+
+template<>
+void
+check_this(const hp::DoFHandler<3, 3> &dof_handler)
+{
+    // nothing to do here
+}
+
+#endif // dealii_dof_tools_fake_hp_h
index d7cdb5555221f0851935725b31b972e14d7d9e39..bfb48240db685b004152b61fc1f162e9a71bba43 100644 (file)
@@ -44,9 +44,9 @@
 
 // forward declaration of the function that must be provided in the
 // .cc files
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler);
+check_this(const DoFHandlerType &dof_handler);
 
 
 
index ee1b4cce7c0417d1c90c2cf27fbdb12a36ab86ff..d0f8587d2e6e73669181021259f4c83af541e467 100644 (file)
@@ -70,8 +70,7 @@ check()
         component_mask[c] = (int_mask & (1 << c));
 
       std::vector<bool> dofs(dof.n_dofs());
-      DoFTools::extract_dofs<dim, dim, DoFHandler<dim>>(
-        dof, ComponentMask(component_mask), dofs);
+      DoFTools::extract_dofs(dof, ComponentMask(component_mask), dofs);
 
       for (unsigned int d = 0; d < dof.n_dofs(); ++d)
         deallog << dofs[d];
index 9ddd85cafcbc0f45ff67d068ea6f202f9a97d31f..92de6e06983e9384a1c079b6e9ae2a274af0b245 100644 (file)
@@ -71,8 +71,7 @@ check()
         component_mask[c] = (int_mask & (1 << c));
 
       std::vector<bool> dofs(dof.n_dofs());
-      DoFTools::extract_dofs<dim, dim, hp::DoFHandler<dim>>(
-        dof, ComponentMask(component_mask), dofs);
+      DoFTools::extract_dofs(dof, ComponentMask(component_mask), dofs);
 
       for (unsigned int d = 0; d < dof.n_dofs(); ++d)
         deallog << dofs[d];
index 0c52237192659ab1ca7617d281a4dc03fc207f3a..e5f5726f1f80628527b57f09a8f47f64fde23bbb 100644 (file)
@@ -63,8 +63,7 @@ check()
   component_mask[0] = true;
 
   std::vector<bool> dofs(dof.n_dofs());
-  DoFTools::extract_dofs<dim, dim, DoFHandler<dim>>(
-    dof, ComponentMask(component_mask), dofs);
+  DoFTools::extract_dofs(dof, ComponentMask(component_mask), dofs);
 
   for (unsigned int d = 0; d < dof.n_dofs(); ++d)
     deallog << dofs[d];
index 9f537c577f1d575b9efd1ece2bd097e58a7d747d..3b0a516a7f90d7d61ad26250bc6fe16f7e0264a2 100644 (file)
@@ -67,8 +67,7 @@ check()
       component_mask[comp] = true;
 
       std::vector<bool> dofs(dof.n_dofs());
-      DoFTools::extract_dofs<dim, dim, DoFHandler<dim>>(
-        dof, ComponentMask(component_mask), dofs);
+      DoFTools::extract_dofs(dof, ComponentMask(component_mask), dofs);
 
       for (unsigned int d = 0; d < dof.n_dofs(); ++d)
         deallog << dofs[d];
index 4bbae112487e75ccb478360419f89e4912c11aca..9b72031d372255bbe4fc924e4c634b1b4aac547a 100644 (file)
@@ -70,8 +70,7 @@ check()
         component_mask[c] = (int_mask & (1 << c));
 
       std::vector<bool> dofs(dof.n_dofs());
-      DoFTools::extract_dofs<dim, dim, DoFHandler<dim>>(
-        dof, BlockMask(component_mask), dofs);
+      DoFTools::extract_dofs(dof, BlockMask(component_mask), dofs);
 
       for (unsigned int d = 0; d < dof.n_dofs(); ++d)
         deallog << dofs[d];
index 6762eeb656a6cc1249a20e13f668cbf80a6adecc..20e88da1a34436348a5824082d9f3db4807b00c8 100644 (file)
@@ -71,8 +71,7 @@ check()
         component_mask[c] = (int_mask & (1 << c));
 
       std::vector<bool> dofs(dof.n_dofs());
-      DoFTools::extract_dofs<dim, dim, hp::DoFHandler<dim>>(
-        dof, BlockMask(component_mask), dofs);
+      DoFTools::extract_dofs(dof, BlockMask(component_mask), dofs);
 
       for (unsigned int d = 0; d < dof.n_dofs(); ++d)
         deallog << dofs[d];
index 22e347c3cdfe8753c3ce2c20888780381ab1dda4..5812c8e087949f0d60415cf8829ad15084aedda4 100644 (file)
@@ -18,6 +18,7 @@
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   FE::hp_constraints_are_implemented
@@ -25,9 +26,9 @@
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
   deallog << dof_handler.get_fe().get_name() << ": "
           << (dof_handler.get_fe().hp_constraints_are_implemented() ? "true" :
index 107ba128b5384a22cb1fcfde6db513338f95b232..30c4e02641173e1ac8ec9d2402a3ec3d792b1cf9 100644 (file)
 
 #include "../tests.h"
 #include "dof_tools_common.h"
+#include "dof_tools_fake_hp.inst.in"
 
 // check
 //   FiniteElement::n_dofs_per_object
 
 
 
-template <int dim>
+template <typename DoFHandlerType>
 void
-check_this(const DoFHandler<dim> &dof_handler)
+check_this(const DoFHandlerType &dof_handler)
 {
-  const FiniteElement<dim> &fe = dof_handler.get_fe();
+  const FiniteElement<dof_handler.dimension> &fe = dof_handler.get_fe();
   deallog << fe.dofs_per_vertex << ' ' << fe.dofs_per_line << ' '
           << fe.dofs_per_quad << ' ' << fe.dofs_per_hex << std::endl;
   deallog << fe.template n_dofs_per_object<0>() << ' '

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

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.