From bb6d0603efa1f56fe3d96a7a583f4287c447a371 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Sun, 2 Jul 2017 21:46:49 -0600 Subject: [PATCH] Restrict work on vertices to those that are actually used. --- source/hp/dof_handler.cc | 171 ++++++++++++++++++++------------------- 1 file changed, 86 insertions(+), 85 deletions(-) diff --git a/source/hp/dof_handler.cc b/source/hp/dof_handler.cc index ff56aeff39..c8f7031e5e 100644 --- a/source/hp/dof_handler.cc +++ b/source/hp/dof_handler.cc @@ -1924,91 +1924,92 @@ namespace hp // work on for (unsigned int vertex_index=0; vertex_index 1) - { - const unsigned int - first_fe_index - = dealii::internal::DoFAccessor::Implementation:: - nth_active_vertex_fe_index (*this, vertex_index, 0); - - // loop over all the - // other FEs with which - // we want to identify - // the DoF indices of - // the first FE of - for (unsigned int f=1; f - (get_fe()[first_fe_index], - get_fe()[other_fe_index], - vertex_dof_identities[first_fe_index][other_fe_index]); - - // then loop - // through the - // identities we - // have. first get - // the global - // numbers of the - // dofs we want to - // identify and - // make sure they - // are not yet - // constrained to - // anything else, - // except for to - // each other. use - // the rule that we - // will always - // constrain the - // dof with the - // higher fe - // index to the - // one with the - // lower, to avoid - // circular - // reasoning. - dealii::internal::hp::DoFIdentities &identities - = *vertex_dof_identities[first_fe_index][other_fe_index]; - for (unsigned int i=0; i 1) + { + const unsigned int + first_fe_index + = dealii::internal::DoFAccessor::Implementation:: + nth_active_vertex_fe_index (*this, vertex_index, 0); + + // loop over all the + // other FEs with which + // we want to identify + // the DoF indices of + // the first FE of + for (unsigned int f=1; f + (get_fe()[first_fe_index], + get_fe()[other_fe_index], + vertex_dof_identities[first_fe_index][other_fe_index]); + + // then loop + // through the + // identities we + // have. first get + // the global + // numbers of the + // dofs we want to + // identify and + // make sure they + // are not yet + // constrained to + // anything else, + // except for to + // each other. use + // the rule that we + // will always + // constrain the + // dof with the + // higher fe + // index to the + // one with the + // lower, to avoid + // circular + // reasoning. + dealii::internal::hp::DoFIdentities &identities + = *vertex_dof_identities[first_fe_index][other_fe_index]; + for (unsigned int i=0; i