]> https://gitweb.dealii.org/ - dealii.git/commitdiff
mesh_loop: replace cells_first by cells_after_faces
authorTimo Heister <timo.heister@gmail.com>
Tue, 5 Sep 2017 18:51:46 +0000 (14:51 -0400)
committerTimo Heister <timo.heister@gmail.com>
Tue, 5 Sep 2017 20:26:22 +0000 (16:26 -0400)
include/deal.II/meshworker/assemble_flags.h
include/deal.II/meshworker/mesh_loop.h
tests/meshworker/mesh_loop_02.cc

index 906f7961077e9d07122837f2e2b55823cee35e3a..942b0388f18f039fe3e71ace7459a24cde045823 100644 (file)
@@ -81,10 +81,10 @@ namespace MeshWorker
     assemble_boundary_faces = 0x0040,
 
     /**
-     * Assemble cell integrals before face integrals. If not specified, cells
-     * will be assembled after faces and boundaries.
+     * By default we assemble cell integrals before face integrals. If this
+     * flag is specified, cells will be assembled after faces and boundaries.
      */
-    cells_first = 0x0080,
+    cells_after_faces = 0x0080,
 
     /**
      * Combination of flags to determine if any work on cells is done.
index 256f1a8834e7596acccda33424ec03fe687151b2..f7094bd87daabaa8921db24c2301a5db072d1d22 100644 (file)
@@ -79,8 +79,8 @@ namespace MeshWorker
    * If the flag AssembleFlags::assemble_own_cells is passed, then the default
    * behavior is to first loop over faces and do the work there, and then
    * compute the actual work on the cell. It is possible to perform the
-   * integration on the cells before working on faces, by adding the flag
-   * AssembleFlags::cells_first.
+   * integration on the cells after working on faces, by adding the flag
+   * AssembleFlags::cells_after_faces.
    *
    * If the flag AssembleFlags::assemble_own_interior_faces_once is specified,
    * then each interior face is visited only once, and the @p face_worker is
@@ -148,9 +148,9 @@ namespace MeshWorker
            != (assemble_ghost_faces_once|assemble_ghost_faces_both),
            ExcMessage("You can only specify assemble_ghost_faces_once OR assemble_ghost_faces_both."));
 
-    Assert(!(flags & cells_first) ||
+    Assert(!(flags & cells_after_faces) ||
            (flags & (assemble_own_cells | assemble_ghost_cells)),
-           ExcMessage("The option cells_first only makes sense if you assemble on cells."));
+           ExcMessage("The option cells_after_faces only makes sense if you assemble on cells."));
 
     Assert((!face_worker) == !(flags & work_on_faces),
            ExcMessage("If you specify a face_worker, assemble_face_* needs to be set."));
@@ -175,7 +175,7 @@ namespace MeshWorker
       if ((!ignore_subdomain) && (current_subdomain_id == numbers::artificial_subdomain_id))
         return;
 
-      if ( (flags & (cells_first)) &&
+      if ( !(flags & (cells_after_faces)) &&
            ( ((flags & (assemble_own_cells)) && own_cell)
              || ( (flags & assemble_ghost_cells) && !own_cell) ) )
         cell_worker(cell, scratch, copy);
@@ -298,7 +298,7 @@ namespace MeshWorker
           } // faces
 
       // Execute the cell_worker if faces are handled before cells
-      if (!(flags & cells_first) &&
+      if ((flags & cells_after_faces) &&
           ( ((flags & assemble_own_cells) && own_cell) || ((flags & assemble_ghost_cells) && !own_cell)))
         cell_worker(cell, scratch, copy);
     };
index c4ba93c3b84da34a3bcd70e61d86e9e297f92156..2aa1a9240e28f828ce26f32d29579a36f174d818 100644 (file)
@@ -93,16 +93,16 @@ void test()
             assemble_boundary_faces,
             boundary_worker);
 
-  deallog << "CELLS AND BOUNDARY" << std::endl << std::endl;
+  deallog << "CELLS LAST AND BOUNDARY" << std::endl << std::endl;
 
   mesh_loop(cell, endc, cell_worker, copier, scratch, copy,
-            assemble_own_cells | assemble_boundary_faces,
+            assemble_own_cells | assemble_boundary_faces | cells_after_faces,
             boundary_worker);
 
   deallog << "CELLS FIRST AND BOUNDARY" << std::endl << std::endl;
 
   mesh_loop(cell, endc, cell_worker, copier, scratch, copy,
-            assemble_own_cells | cells_first | assemble_boundary_faces,
+            assemble_own_cells | assemble_boundary_faces,
             boundary_worker);
 
 

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.