]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Need to build constraints between ghost cells also in 2d. Let's see if this fixes...
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 28 May 2013 14:06:58 +0000 (14:06 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 28 May 2013 14:06:58 +0000 (14:06 +0000)
git-svn-id: https://svn.dealii.org/trunk@29658 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/source/dofs/dof_tools.cc
tests/mpi/trilinos_distribute_04/ncpu_2/cmp/generic

index 4772293030c1039569148d9267766da495cc5220..dab901128cfc70d485441424456f1ccca2308636 100644 (file)
@@ -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; c<cell->face(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
index be8d055f86cdd3679faaa1b80a853068ea304944..9954536507540f18265844ff35fae063b309eea7 100644 (file)
@@ -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

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.