From 9cfea4d5a1370efc48311c368dddd60c05eceb58 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 18 Mar 1998 15:42:31 +0000 Subject: [PATCH] Mostly small bugfixes. git-svn-id: https://svn.dealii.org/trunk@79 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/source/dofs/dof_constraints.cc | 7 +++- deal.II/deal.II/source/dofs/dof_handler.cc | 39 +++++++++++-------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/deal.II/deal.II/source/dofs/dof_constraints.cc b/deal.II/deal.II/source/dofs/dof_constraints.cc index ba588a6a14..66251c0e9a 100644 --- a/deal.II/deal.II/source/dofs/dof_constraints.cc +++ b/deal.II/deal.II/source/dofs/dof_constraints.cc @@ -358,7 +358,9 @@ void ConstraintMatrix::condense (dSMatrix &uncondensed) const { distribute[lines[c].line] = c; int n_rows = sparsity.n_rows(); - for (int row=0; row::max_couplings_between_dofs () const { unsigned int DoFHandler<2>::max_couplings_between_dofs () const { Assert (selected_fe != 0, ExcNoFESelected()); - unsigned int max_adjacent_cells = tria->max_adjacent_cells(); + const unsigned int max_adjacent_cells = tria->max_adjacent_cells(); // get these numbers by drawing pictures // and counting... + // example: + // x-----x--x--o + // | | | | + // | x--x--x + // | | | | + // x--x--*--x--x + // | | | | + // x--x--x | + // | | | | + // o--x--x-----x + // x = vertices connected with center vertex *; + // = total of 17 + // count lines -> 28 (don't forget to count + // mother and children separately!) if (max_adjacent_cells == 4) - return (13*selected_fe->dofs_per_vertex + - 20*selected_fe->dofs_per_line + + return (17*selected_fe->dofs_per_vertex + + 28*selected_fe->dofs_per_line + 8*selected_fe->dofs_per_quad); else if (max_adjacent_cells == 5) - return (15*selected_fe->dofs_per_vertex + - 23*selected_fe->dofs_per_line + + return (19*selected_fe->dofs_per_vertex + + 27*selected_fe->dofs_per_line + 9*selected_fe->dofs_per_quad); else - if (max_adjacent_cells == 6) - // are you really sure you - // want to use such grids?? - return (19*selected_fe->dofs_per_vertex + - 30*selected_fe->dofs_per_line + - 16*selected_fe->dofs_per_quad); - else - { - Assert (false, ExcNotImplemented()); - return 0; - }; + { + Assert (false, ExcNotImplemented()); + return 0; + }; }; -- 2.39.5