From: bangerth Date: Thu, 21 Sep 2006 04:44:04 +0000 (+0000) Subject: Don't treat DoFs that have already been treated. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b1b95270fdc74a13bfa1812e5a068445011ba6a;p=dealii-svn.git Don't treat DoFs that have already been treated. git-svn-id: https://svn.dealii.org/trunk@13937 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 c5464b875c..f0f2ea0e55 100644 --- a/deal.II/deal.II/source/dofs/dof_tools.cc +++ b/deal.II/deal.II/source/dofs/dof_tools.cc @@ -1779,6 +1779,14 @@ namespace internal + /** + * This method removes zero + * constraints and those, which + * constrain a DoF which was + * already eliminated in one of + * the previous steps of the hp + * hanging node procedure. + */ #ifdef DEAL_II_ANON_NAMESPACE_BUG static #endif @@ -1788,12 +1796,6 @@ namespace internal const FullMatrix &face_constraints, ConstraintMatrix &constraints) { - // This method removes zero constraints - // and those, which constrain a DoF which - // was already eliminated in one of the - // previous steps of the hp hanging node - // procedure. - Assert (face_constraints.n () == master_dofs.size (), ExcDimensionMismatch(master_dofs.size (), face_constraints.n())); @@ -1804,41 +1806,42 @@ namespace internal const unsigned int n_master_dofs = master_dofs.size (); const unsigned int n_slave_dofs = slave_dofs.size (); - for (unsigned int row=0; row!=n_slave_dofs; ++row) - { - bool constraint_already_satisfied = false; - - // Check if we have an identity - // constraint, which is already - // satisfied by unification of - // the corresponding global dof - // indices - for (unsigned int i=0; i " << face_constraints (row,i) << " * " - << master_dofs[i] - << std::endl; + std::cout << " " << slave_dofs[row] + << " -> " << face_constraints (row,i) << " * " + << master_dofs[i] + << std::endl; #endif - constraints.add_entry (slave_dofs[row], - master_dofs[i], - face_constraints (row,i)); - } - } - } + constraints.add_entry (slave_dofs[row], + master_dofs[i], + face_constraints (row,i)); + } + } + } } } @@ -2349,7 +2352,6 @@ namespace internal Table<2,boost::shared_ptr,FullMatrix > > > split_face_interpolation_matrices (n_finite_elements (dof_handler), n_finite_elements (dof_handler)); - // loop over all faces //