]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add signal
authorRene Gassmoeller <rene.gassmoeller@mailbox.org>
Thu, 30 Mar 2023 13:22:09 +0000 (09:22 -0400)
committerMaximilian Bergbauer <bergbauer@lnm.mw.tum.de>
Thu, 30 Mar 2023 18:45:46 +0000 (20:45 +0200)
include/deal.II/matrix_free/fe_point_evaluation.h
include/deal.II/non_matching/mapping_info.h

index 40b65738b1486a50f575ed014f32d06fdc74bfcb..0e19bd271edd5ea958142c4271359072851bdf6a 100644 (file)
@@ -832,6 +832,8 @@ FEPointEvaluation<n_components, dim, spacedim, Number>::FEPointEvaluation(
   , is_reinitialized(false)
 {
   setup(first_selected_component);
+  mapping_info.is_reinitialized.connect(
+    [this]() { this->is_reinitialized = false; });
 }
 
 
index 63ad40f87d07b7c4a68d2c367d6e4d184d22e8a8..3693c3758dc37fcfd4f248a3b7af0cd337411188 100644 (file)
@@ -182,6 +182,13 @@ namespace NonMatching
     UpdateFlags
     get_update_flags() const;
 
+      /**
+   * This signal is triggered right after
+   * this object is reinitialized, to let dependent
+   * objects know that they need to reinitialize as well.
+   */
+  boost::signals2::signal<void()> is_reinitialized;
+
   private:
     /**
      * Enum class for reinitialized states.
@@ -336,6 +343,8 @@ namespace NonMatching
                                             mapping_data[0]);
 
     state = State::single_cell;
+
+    is_reinitialized();
   }
 
 
@@ -413,6 +422,7 @@ namespace NonMatching
       }
 
     state = State::cell_vector;
+    is_reinitialized();
   }
 
 
@@ -509,6 +519,7 @@ namespace NonMatching
       }
 
     state = State::cell_vector;
+    is_reinitialized();
   }
 
 
@@ -611,6 +622,7 @@ namespace NonMatching
       }
 
     state = State::faces_on_cells_in_vector;
+    is_reinitialized();
   }
 
 

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.