From e5e3ce602e8e7541ed33c121b464a6018f33797e Mon Sep 17 00:00:00 2001 From: kronbichler Date: Tue, 28 May 2013 14:06:58 +0000 Subject: [PATCH] Need to build constraints between ghost cells also in 2d. Let's see if this fixes the currently failing tests. git-svn-id: https://svn.dealii.org/trunk@29658 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/source/dofs/dof_tools.cc | 15 ++--------- .../trilinos_distribute_04/ncpu_2/cmp/generic | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/deal.II/source/dofs/dof_tools.cc b/deal.II/source/dofs/dof_tools.cc index 4772293030..dab901128c 100644 --- a/deal.II/source/dofs/dof_tools.cc +++ b/deal.II/source/dofs/dof_tools.cc @@ -2335,21 +2335,10 @@ namespace DoFTools // Now create constraint matrix for the subfaces and // assemble it. ignore all interfaces with artificial // cells because we can only get to such interfaces if - // the current cell is a ghost cell. also ignore the - // interface if the neighboring cell is a ghost cell in - // 2d: what we would compute here are the constraints - // on the ghost cell's DoFs, but we are not interested - // in those: we only want constraints on *locally - // active* DoFs, not on *locally relevant* DoFs. - // However, in 3d we must still compute those - // constraints because it might happen that a - // constraint is related to an edge where the hanging - // node is only detected if we also look between ghosts + // the current cell is a ghost cell for (unsigned int c=0; cface(face)->n_children(); ++c) { - if (cell->neighbor_child_on_subface (face, c)->is_artificial() - || - (dim == 2 && cell->neighbor_child_on_subface (face, c)->is_ghost())) + if (cell->neighbor_child_on_subface (face, c)->is_artificial()) continue; const typename DH::active_face_iterator diff --git a/tests/mpi/trilinos_distribute_04/ncpu_2/cmp/generic b/tests/mpi/trilinos_distribute_04/ncpu_2/cmp/generic index be8d055f86..9954536507 100644 --- a/tests/mpi/trilinos_distribute_04/ncpu_2/cmp/generic +++ b/tests/mpi/trilinos_distribute_04/ncpu_2/cmp/generic @@ -1,2 +1,29 @@ +DEAL:0::locally owned: +DEAL:0::{[0,26]} +DEAL:0::relevant set: +DEAL:0::{[0,29], [33,34], [39,43]} +DEAL:0::constraint_matrix: + 0 = 0 + 1 = 0 + 2 = 0 + 4 = 0 + 6 = 0 + 8 3: 0.500000 + 8 5: 0.500000 + 9 3: 0.500000 + 9 7: 0.500000 + 12 7: 0.500000 + 12 13: 0.500000 + 14 = 0 + 15 5: 0.500000 + 17 = 0 + 21 = 0 + 23 = 0 + 24 = 0 + 26 = 0 + 27 = 0 + 41 13: 0.500000 + 41 33: 0.500000 + 43 = 0 DEAL:0::OK -- 2.39.5