]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
VectorTools::point_value and VectorTools::point_difference are now throwing an error...
authordaniel.arndt <daniel.arndt@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 9 Sep 2013 17:03:49 +0000 (17:03 +0000)
committerdaniel.arndt <daniel.arndt@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 9 Sep 2013 17:03:49 +0000 (17:03 +0000)
git-svn-id: https://svn.dealii.org/trunk@30654 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/include/deal.II/dofs/dof_tools.h
deal.II/include/deal.II/numerics/vector_tools.h
deal.II/include/deal.II/numerics/vector_tools.templates.h

index def3858884c8211fe59e09793648585111a896c6..e4d237faf3f11a4eee83eaa1f9e2b495c23268d8 100644 (file)
@@ -1132,7 +1132,7 @@ namespace DoFTools
    * function will be used for which the respective flag was set in the
    * component mask.
    *
-   note For DoFHandler objects that are built on a
+   * @note For DoFHandler objects that are built on a
    * parallel::distributed::Triangulation object
    * parallel::distributed::Triangulation::add_periodicity has to be called
    * before.
index 5cb317c4976aba105ed8f0926e15320a6a333489..801e080db9f273ce135e3e6d7bb09ece7775fe33 100644 (file)
@@ -2030,6 +2030,11 @@ namespace VectorTools
    * using a Q1-mapping for cell
    * boundaries to call the other
    * point_difference() function.
+   *
+   * @note If the cell in which the point is found
+   * is not locally owned, an exception of type 
+   * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+   * is thrown.
    */
   template <int dim, class InVector, int spacedim>
   void point_difference (const DoFHandler<dim,spacedim> &dof,
@@ -2054,6 +2059,11 @@ namespace VectorTools
    * this function uses an
    * arbitrary mapping to evaluate
    * the difference.
+   * 
+   * @note If the cell in which the point is found
+   * is not locally owned, an exception of type 
+   * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+   * is thrown.
    */
   template <int dim, class InVector, int spacedim>
   void point_difference (const Mapping<dim, spacedim>   &mapping,
@@ -2077,6 +2087,11 @@ namespace VectorTools
    * using a Q1-mapping for cell
    * boundaries to call the other
    * point_difference() function.
+   *
+   * @note If the cell in which the point is found
+   * is not locally owned, an exception of type 
+   * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+   * is thrown.
    */
   template <int dim, class InVector, int spacedim>
   void
@@ -2087,6 +2102,11 @@ namespace VectorTools
 
   /**
   * Same as above for hp.
+  *
+  * @note If the cell in which the point is found
+  * is not locally owned, an exception of type 
+  * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+  * is thrown.
   */
   template <int dim, class InVector, int spacedim>
   void
@@ -2112,6 +2132,11 @@ namespace VectorTools
    * "Possibilities for extensions" part of
    * the results section of @ref step_3
    * "step-3".
+   *
+   * @note If the cell in which the point is found
+   * is not locally owned, an exception of type 
+   * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+   * is thrown.
    */
   template <int dim, class InVector, int spacedim>
   double
@@ -2121,6 +2146,11 @@ namespace VectorTools
 
   /**
   * Same as above for hp.
+  * 
+  * @note If the cell in which the point is found
+  * is not locally owned, an exception of type 
+  * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+  * is thrown.
   */
   template <int dim, class InVector, int spacedim>
   double
@@ -2142,6 +2172,11 @@ namespace VectorTools
    * function of the same name,
    * this function uses an arbitrary
    * mapping to evaluate the difference.
+   *
+   * @note If the cell in which the point is found
+   * is not locally owned, an exception of type 
+   * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+   * is thrown.
    */
   template <int dim, class InVector, int spacedim>
   void
@@ -2153,6 +2188,11 @@ namespace VectorTools
 
   /**
   * Same as above for hp.
+  *
+  * @note If the cell in which the point is found
+  * is not locally owned, an exception of type 
+  * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+  * is thrown.
   */
   template <int dim, class InVector, int spacedim>
   void
@@ -2174,6 +2214,11 @@ namespace VectorTools
    * function of the same name,
    * this function uses an arbitrary
    * mapping to evaluate the difference.
+   *
+   * @note If the cell in which the point is found
+   * is not locally owned, an exception of type 
+   * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+   * is thrown.
    */
   template <int dim, class InVector, int spacedim>
   double
@@ -2184,6 +2229,11 @@ namespace VectorTools
 
   /**
   * Same as above for hp.
+  *
+  * @note If the cell in which the point is found
+  * is not locally owned, an exception of type 
+  * VectorTools<dim, InVector, spacedim>::ExcPointNotAvailableHere
+  * is thrown.
   */
   template <int dim, class InVector, int spacedim>
   double
@@ -2301,6 +2351,11 @@ namespace VectorTools
    * Exception
    */
   DeclException0 (ExcNonInterpolatingFE);
+
+  /**
+  * Exception
+  */
+  DeclException0 (ExcPointNotAvailableHere);
 }
 
 
index 8acb1e4eacf08d299cb93eed29a9bddb93fec855..0fb214d5ffebcdf2f6933ab7a79694a7739d6fdd 100644 (file)
@@ -5326,6 +5326,8 @@ namespace VectorTools
     const std::pair<typename DoFHandler<dim,spacedim>::active_cell_iterator, Point<spacedim> >
     cell_point = GridTools::find_active_cell_around_point (mapping, dof, point);
 
+    AssertThrow(cell_point.first->is_locally_owned(),
+                ExcPointNotAvailableHere());
     Assert(GeometryInfo<dim>::distance_to_unit_cell(cell_point.second) < 1e-10,
            ExcInternalError());
 
@@ -5426,6 +5428,8 @@ namespace VectorTools
     cell_point
       = GridTools::find_active_cell_around_point (mapping, dof, point);
 
+    AssertThrow(cell_point.first->is_locally_owned(),
+                ExcPointNotAvailableHere());
     Assert(GeometryInfo<dim>::distance_to_unit_cell(cell_point.second) < 1e-10,
            ExcInternalError());
 
@@ -5463,6 +5467,8 @@ namespace VectorTools
     const std::pair<typename hp::DoFHandler<dim,spacedim>::active_cell_iterator, Point<spacedim> >
     cell_point =  GridTools::find_active_cell_around_point (mapping, dof, point);
 
+    AssertThrow(cell_point.first->is_locally_owned(),
+                ExcPointNotAvailableHere());
     Assert(GeometryInfo<dim>::distance_to_unit_cell(cell_point.second) < 1e-10,
            ExcInternalError());
 
@@ -5499,6 +5505,8 @@ namespace VectorTools
     const std::pair<typename DoFHandler<dim,spacedim>::active_cell_iterator, Point<spacedim> >
     cell_point = GridTools::find_active_cell_around_point (mapping, dof, point);
 
+    AssertThrow(cell_point.first->is_locally_owned(),
+                ExcPointNotAvailableHere());
     Assert(GeometryInfo<dim>::distance_to_unit_cell(cell_point.second) < 1e-10,
            ExcInternalError());
 
@@ -5534,6 +5542,8 @@ namespace VectorTools
     const std::pair<typename hp::DoFHandler<dim,spacedim>::active_cell_iterator, Point<spacedim> >
     cell_point =  GridTools::find_active_cell_around_point (mapping, dof, point);
 
+    AssertThrow(cell_point.first->is_locally_owned(),
+                ExcPointNotAvailableHere());
     Assert(GeometryInfo<dim>::distance_to_unit_cell(cell_point.second) < 1e-10,
            ExcInternalError());
 

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.