]> https://gitweb.dealii.org/ - dealii.git/commitdiff
KellyErrorEstimator<1,spacedim> with hp
authorFabian Castelli <fabian.castelli@kit.edu>
Mon, 11 Oct 2021 14:37:42 +0000 (16:37 +0200)
committerFabian Castelli <fabian.castelli@kit.edu>
Tue, 12 Oct 2021 08:32:27 +0000 (10:32 +0200)
include/deal.II/numerics/error_estimator.h
source/numerics/error_estimator_1d.cc

index 765065ee1ab54f76ec94234aaf551a3fc2fed73d..dc5704092eb57d668c41fd0e8b0be5da8d7bd035 100644 (file)
@@ -599,6 +599,8 @@ public:
     cell_diameter
   };
 
+
+
   /**
    * Implementation of the error estimator described above. You may give a
    * coefficient, but there is a default value which denotes the constant
@@ -639,6 +641,8 @@ public:
     const types::material_id  material_id    = numbers::invalid_material_id,
     const Strategy            strategy       = cell_diameter_over_24);
 
+
+
   /**
    * Call the @p estimate function, see above, with
    * <tt>mapping=MappingQ1<1>()</tt>.
@@ -660,6 +664,8 @@ public:
     const types::material_id  material_id    = numbers::invalid_material_id,
     const Strategy            strategy       = cell_diameter_over_24);
 
+
+
   /**
    * Same function as above, but accepts more than one solution vectors and
    * returns one error vector for each solution vector. For the reason of
@@ -691,6 +697,8 @@ public:
     const types::material_id  material_id  = numbers::invalid_material_id,
     const Strategy            strategy     = cell_diameter_over_24);
 
+
+
   /**
    * Call the @p estimate function, see above, with
    * <tt>mapping=MappingQ1<1>()</tt>.
@@ -713,6 +721,7 @@ public:
     const Strategy            strategy     = cell_diameter_over_24);
 
 
+
   /**
    * Equivalent to the set of functions above, except that this one takes a
    * quadrature collection for hp-finite element dof handlers.
@@ -736,6 +745,7 @@ public:
     const Strategy            strategy       = cell_diameter_over_24);
 
 
+
   /**
    * Equivalent to the set of functions above, except that this one takes a
    * quadrature collection for hp-finite element dof handlers.
@@ -758,6 +768,7 @@ public:
     const Strategy            strategy       = cell_diameter_over_24);
 
 
+
   /**
    * Equivalent to the set of functions above, except that this one takes a
    * quadrature collection for hp-finite element dof handlers.
@@ -781,6 +792,7 @@ public:
     const Strategy            strategy     = cell_diameter_over_24);
 
 
+
   /**
    * Equivalent to the set of functions above, except that this one takes a
    * quadrature collection for hp-finite element dof handlers.
@@ -802,6 +814,8 @@ public:
     const types::material_id  material_id  = numbers::invalid_material_id,
     const Strategy            strategy     = cell_diameter_over_24);
 
+
+
   /**
    * Exception
    */
@@ -813,6 +827,7 @@ public:
                    "of vector components of the finite element in use "
                    "by the DoFHandler object. In the latter case, at "
                    "least one component needs to be selected.");
+
   /**
    * Exception
    */
@@ -824,6 +839,7 @@ public:
     "scalar (has one vector component) or has as many vector "
     "components as there are in the finite element used by "
     "the DoFHandler argument.");
+
   /**
    * Exception
    */
@@ -837,6 +853,7 @@ public:
                     "element in use has "
                  << arg3
                  << " components, and these two numbers need to match.");
+
   /**
    * Exception
    */
@@ -847,6 +864,7 @@ public:
                  << " needs to be equal to the number of output vectors, "
                  << arg2
                  << ". This is not the case in your call of this function.");
+
   /**
    * Exception
    */
@@ -856,7 +874,6 @@ public:
 };
 
 
-
 DEAL_II_NAMESPACE_CLOSE
 
 #endif
index 2e0368c6c341d9a36b7088882480aa1bd4c688b2..e96a834b6499b0ef43d8b98b11ba56e708019ae3 100644 (file)
@@ -55,7 +55,6 @@
 DEAL_II_NAMESPACE_OPEN
 
 
-
 template <int spacedim>
 template <typename InputVector>
 void
@@ -199,6 +198,7 @@ KellyErrorEstimator<1, spacedim>::estimate(
 }
 
 
+
 template <int spacedim>
 template <typename InputVector>
 void
@@ -267,37 +267,13 @@ KellyErrorEstimator<1, spacedim>::estimate(
 
 
 
-template <int spacedim>
-template <typename InputVector>
-void
-KellyErrorEstimator<1, spacedim>::estimate(
-  const Mapping<1, spacedim> & /*mapping*/,
-  const DoFHandler<1, spacedim> & /*dof_handler*/,
-  const hp::QCollection<0> &,
-  const std::map<types::boundary_id,
-                 const Function<spacedim, typename InputVector::value_type> *>
-    & /*neumann_bc*/,
-  const std::vector<const InputVector *> & /*solutions*/,
-  std::vector<Vector<float> *> & /*errors*/,
-  const ComponentMask & /*component_mask_*/,
-  const Function<spacedim> * /*coefficient*/,
-  const unsigned int,
-  const types::subdomain_id /*subdomain_id*/,
-  const types::material_id /*material_id*/,
-  const Strategy /*strategy*/)
-{
-  Assert(false, ExcInternalError());
-}
-
-
-
 template <int spacedim>
 template <typename InputVector>
 void
 KellyErrorEstimator<1, spacedim>::estimate(
   const Mapping<1, spacedim> &   mapping,
   const DoFHandler<1, spacedim> &dof_handler,
-  const Quadrature<0> &,
+  const hp::QCollection<0> &,
   const std::map<types::boundary_id,
                  const Function<spacedim, typename InputVector::value_type> *>
     &                                     neumann_bc,
@@ -548,6 +524,43 @@ KellyErrorEstimator<1, spacedim>::estimate(
 }
 
 
+
+template <int spacedim>
+template <typename InputVector>
+void
+KellyErrorEstimator<1, spacedim>::estimate(
+  const Mapping<1, spacedim> &   mapping,
+  const DoFHandler<1, spacedim> &dof_handler,
+  const Quadrature<0> &          quadrature,
+  const std::map<types::boundary_id,
+                 const Function<spacedim, typename InputVector::value_type> *>
+    &                                     neumann_bc,
+  const std::vector<const InputVector *> &solutions,
+  std::vector<Vector<float> *> &          errors,
+  const ComponentMask &                   component_mask,
+  const Function<spacedim> *              coefficients,
+  const unsigned int                      n_threads,
+  const types::subdomain_id               subdomain_id,
+  const types::material_id                material_id,
+  const Strategy                          strategy)
+{
+  const hp::QCollection<0> quadrature_collection(quadrature);
+  estimate(mapping,
+           dof_handler,
+           quadrature_collection,
+           neumann_bc,
+           solutions,
+           errors,
+           component_mask,
+           coefficients,
+           n_threads,
+           subdomain_id,
+           material_id,
+           strategy);
+}
+
+
+
 // explicit instantiations
 #include "error_estimator_1d.inst"
 

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.