From: Wolfgang Bangerth Date: Tue, 14 Sep 2010 17:18:20 +0000 (+0000) Subject: Add an instantiation for make_hanging_node_constraints for X-Git-Tag: v8.0.0~5512 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ed2eaf30c3dcff91719b55d21a1d2cef6d59451;p=dealii.git Add an instantiation for make_hanging_node_constraints for DoFHandler<1,2>. Make things compile. Slight simplification. git-svn-id: https://svn.dealii.org/trunk@21961 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/dofs/dof_tools.cc b/deal.II/deal.II/source/dofs/dof_tools.cc index 04a0fe035d..6b5f62866f 100644 --- a/deal.II/deal.II/source/dofs/dof_tools.cc +++ b/deal.II/deal.II/source/dofs/dof_tools.cc @@ -1645,12 +1645,14 @@ namespace internal * element used on any of the * face's subfaces. */ - template + template unsigned int get_most_dominating_subface_fe_index (const face_iterator &face) { - - const unsigned int spacedim=dim; + const unsigned int dim + = face_iterator::AccessorType::dimension; + const unsigned int spacedim + = face_iterator::AccessorType::space_dimension; unsigned int dominating_subface_no = 0; for (; dominating_subface_non_children(); @@ -1886,6 +1888,64 @@ namespace internal // that a bit more //TODO[WB]: think about what to do here... } + + + static + void + make_hp_hanging_node_constraints (const dealii::DoFHandler<1,2> &, + ConstraintMatrix &) + { + // nothing to do for regular + // dof handlers in 1d + } + + + + static + void + make_oldstyle_hanging_node_constraints (const dealii::DoFHandler<1,2> &, + ConstraintMatrix &, + dealii::internal::int2type<1>) + { + // nothing to do for regular + // dof handlers in 1d + } + + + static + void + make_hp_hanging_node_constraints (const dealii::MGDoFHandler<1,2> &, + ConstraintMatrix &) + { + // nothing to do for regular + // dof handlers in 1d + } + + + + static + void + make_oldstyle_hanging_node_constraints (const dealii::MGDoFHandler<1,2> &, + ConstraintMatrix &, + dealii::internal::int2type<1>) + { + // nothing to do for regular + // dof handlers in 1d + } + + + static + void + make_oldstyle_hanging_node_constraints (const dealii::hp::DoFHandler<1,2> &/*dof_handler*/, + ConstraintMatrix &/*constraints*/, + dealii::internal::int2type<1>) + { + // we may have to compute + // constraints for + // vertices. gotta think about + // that a bit more +//TODO[WB]: think about what to do here... + } #endif @@ -2601,7 +2661,7 @@ namespace internal // can be // constrained to const unsigned int dominating_fe_index - = get_most_dominating_subface_fe_index (cell->face(face)); + = get_most_dominating_subface_fe_index (cell->face(face)); const FiniteElement &dominating_fe = dof_handler.get_fe()[dominating_fe_index]; @@ -6437,6 +6497,14 @@ DoFTools::extract_hanging_node_dofs #endif +#if deal_II_dimension < 3 +template +void +DoFTools:: +make_hanging_node_constraints (const DoFHandler &dof_handler, + ConstraintMatrix &constraints); +#endif + DEAL_II_NAMESPACE_CLOSE