From 7f27dc2cd9f8852437d8ce2ed631dec3ca5fe712 Mon Sep 17 00:00:00 2001
From: David Wells <wellsd2@rpi.edu>
Date: Sat, 14 Oct 2017 21:09:48 -0400
Subject: [PATCH] Add codim instantiations for make_zero_boundary_constraints.

---
 source/dofs/dof_tools_constraints.inst.in | 58 +++++++++++------------
 1 file changed, 27 insertions(+), 31 deletions(-)

diff --git a/source/dofs/dof_tools_constraints.inst.in b/source/dofs/dof_tools_constraints.inst.in
index 1fda53d017..9e65987564 100644
--- a/source/dofs/dof_tools_constraints.inst.in
+++ b/source/dofs/dof_tools_constraints.inst.in
@@ -72,52 +72,48 @@ for (DH : DOFHANDLER_TEMPLATES; deal_II_dimension : DIMENSIONS)
 #endif
 }
 
-for (deal_II_dimension : DIMENSIONS)
+for (DH : DOFHANDLER_TEMPLATES; deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS)
 {
+#if deal_II_dimension <= deal_II_space_dimension
     template
     void
     DoFTools::make_zero_boundary_constraints
-    (const DoFHandler<deal_II_dimension> &,
-     ConstraintMatrix                    &,
-     const ComponentMask             &);
+    (const DH<deal_II_dimension, deal_II_space_dimension> &,
+     ConstraintMatrix                                     &,
+     const ComponentMask                                  &);
 
     template
     void
     DoFTools::make_zero_boundary_constraints
-    (const DoFHandler<deal_II_dimension> &,
+    (const DH<deal_II_dimension, deal_II_space_dimension> &,
      const types::boundary_id,
-     ConstraintMatrix                    &,
-     const ComponentMask             &);
-
-    template
-    void
-    DoFTools::make_zero_boundary_constraints
-    (const hp::DoFHandler<deal_II_dimension> &,
-     ConstraintMatrix                        &,
-     const ComponentMask                 &);
-
-    template
-    void
-    DoFTools::make_zero_boundary_constraints
-    (const hp::DoFHandler<deal_II_dimension> &,
-     const types::boundary_id,
-     ConstraintMatrix                        &,
-     const ComponentMask                 &);
+     ConstraintMatrix                                     &,
+     const ComponentMask                                  &);
+#endif
+}
 
+// intergrid transfer is not yet implemented for hp::DoFHandler
+for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS)
+{
+#if deal_II_dimension <= deal_II_space_dimension
     template
     void
-    DoFTools::compute_intergrid_constraints<deal_II_dimension> (
-        const DoFHandler<deal_II_dimension> &, const unsigned int,
-        const DoFHandler<deal_II_dimension> &, const unsigned int,
-        const InterGridMap<DoFHandler<deal_II_dimension> > &,
-        ConstraintMatrix&);
+    DoFTools::compute_intergrid_constraints
+    (const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
+     const unsigned int,
+     const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
+     const unsigned int,
+     const InterGridMap<DoFHandler<deal_II_dimension, deal_II_space_dimension> > &,
+     ConstraintMatrix &);
 
     template
     void
     DoFTools::compute_intergrid_transfer_representation<deal_II_dimension>
-    (const DoFHandler<deal_II_dimension> &, const unsigned int,
-     const DoFHandler<deal_II_dimension> &, const unsigned int,
-     const InterGridMap<DoFHandler<deal_II_dimension> > &,
+    (const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
+     const unsigned int,
+     const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
+     const unsigned int,
+     const InterGridMap<DoFHandler<deal_II_dimension, deal_II_space_dimension> > &,
      std::vector<std::map<types::global_dof_index, float> > &);
-
+#endif
 }
-- 
2.39.5