]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Let the mapping classes only take the mapping related data object as output.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 31 Jul 2015 18:00:06 +0000 (13:00 -0500)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 31 Jul 2015 18:00:06 +0000 (13:00 -0500)
This clearly separates the fields the mapping classes
are supposed to write into, and thereby clarifies what they
are supposed to compute and what to leave alone in the
output data structure.

13 files changed:
include/deal.II/fe/mapping.h
include/deal.II/fe/mapping_cartesian.h
include/deal.II/fe/mapping_fe_field.h
include/deal.II/fe/mapping_q.h
include/deal.II/fe/mapping_q1.h
include/deal.II/fe/mapping_q1_eulerian.h
include/deal.II/fe/mapping_q_eulerian.h
source/fe/mapping_cartesian.cc
source/fe/mapping_fe_field.cc
source/fe/mapping_q.cc
source/fe/mapping_q1.cc
source/fe/mapping_q1_eulerian.cc
source/fe/mapping_q_eulerian.cc

index 6fc969415f7389d95b2563d7bb77d10b68dada97..b01c821757bed53b79003ac935932448b5907b83 100644 (file)
 DEAL_II_NAMESPACE_OPEN
 
 template <int dim> class Quadrature;
-template <int dim, int spacedim> class FEValuesData;
+template <int dim, int spacedim> class FEValues;
 template <int dim, int spacedim> class FEValuesBase;
 template <int dim, int spacedim> class FEValues;
 template <int dim, int spacedim> class FEFaceValues;
 template <int dim, int spacedim> class FESubfaceValues;
 
+
 /**
  * The transformation type used for the Mapping::transform() functions.
  *
@@ -779,7 +780,7 @@ private:
                   const CellSimilarity::Similarity                           cell_similarity,
                   const Quadrature<dim>                                     &quadrature,
                   const InternalDataBase                                    &internal_data,
-                  FEValuesData<dim,spacedim>                                &output_data) const = 0;
+                  internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const = 0;
 
   /**
    * This function is the equivalent to Mapping::fill_fe_values(),
@@ -812,7 +813,7 @@ private:
                        const unsigned int                                         face_no,
                        const Quadrature<dim-1>                                   &quadrature,
                        const InternalDataBase                                    &internal_data,
-                       FEValuesData<dim,spacedim>                                &output_data) const = 0;
+                       internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const = 0;
 
   /**
    * This function is the equivalent to Mapping::fill_fe_values(),
@@ -849,7 +850,7 @@ private:
                           const unsigned int                                         subface_no,
                           const Quadrature<dim-1>                                   &quadrature,
                           const InternalDataBase                                    &internal_data,
-                          FEValuesData<dim,spacedim>                                &output_data) const = 0;
+                          internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const = 0;
 
   /**
    * Give class @p FEValues access to the private <tt>get_...data</tt> and
index f0ae8375571e4df1eaee088c0d22d7386907114a..69ce9ddddc039325fee2a2eb8e88e91cadd2bc7b 100644 (file)
@@ -80,7 +80,7 @@ public:
                   const CellSimilarity::Similarity                           cell_similarity,
                   const Quadrature<dim>                                     &quadrature,
                   const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                  FEValuesData<dim,spacedim>                                &output_data) const;
+                  internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute mapping-related information for a face of a cell.
@@ -92,7 +92,7 @@ public:
                        const unsigned int                                         face_no,
                        const Quadrature<dim-1>                                   &quadrature,
                        const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                       FEValuesData<dim,spacedim>                                &output_data) const;
+                       internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute mapping-related information for a child of a face of a cell.
@@ -105,7 +105,7 @@ public:
                           const unsigned int                                         subface_no,
                           const Quadrature<dim-1>                                   &quadrature,
                           const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                          FEValuesData<dim,spacedim>                                &output_data) const;
+                          internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   virtual void
   transform (const VectorSlice<const std::vector<Tensor<1,dim> > > input,
index 070a8fcae1cb6f2669d241c6aa841c5410b2724d..bc9e474b50da3b23454169e9407bc4e796cb2b05 100644 (file)
@@ -444,7 +444,7 @@ protected:
                   const CellSimilarity::Similarity                           cell_similarity,
                   const Quadrature<dim>                                     &quadrature,
                   const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                  FEValuesData<dim,spacedim>                                &output_data) const;
+                  internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute mapping-related information for a face of a cell.
@@ -456,7 +456,7 @@ protected:
                        const unsigned int                                         face_no,
                        const Quadrature<dim-1>                                   &quadrature,
                        const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                       FEValuesData<dim,spacedim>                                &output_data) const;
+                       internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute mapping-related information for a child of a face of a cell.
@@ -469,7 +469,7 @@ protected:
                           const unsigned int                                         subface_no,
                           const Quadrature<dim-1>                                   &quadrature,
                           const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                          FEValuesData<dim,spacedim>                                &output_data) const;
+                          internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * This function and the next allow to generate the transform require by the
index 334dc970286329774a86fe10253a0a542718eee7..c49e8fc4ca1fb8189dfea81b17349d1719362d85 100644 (file)
@@ -206,7 +206,7 @@ protected:
                   const CellSimilarity::Similarity                           cell_similarity,
                   const Quadrature<dim>                                     &quadrature,
                   const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                  FEValuesData<dim,spacedim>                                &output_data) const;
+                  internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute mapping-related information for a face of a cell.
@@ -218,7 +218,7 @@ protected:
                        const unsigned int                                         face_no,
                        const Quadrature<dim-1>                                   &quadrature,
                        const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                       FEValuesData<dim,spacedim>                                &output_data) const;
+                       internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute mapping-related information for a child of a face of a cell.
@@ -231,7 +231,7 @@ protected:
                           const unsigned int                                         subface_no,
                           const Quadrature<dim-1>                                   &quadrature,
                           const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                          FEValuesData<dim,spacedim>                                &output_data) const;
+                          internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * For <tt>dim=2,3</tt>. Append the support points of all shape functions
index b918399bb2ecdc13d4c62494a0bba6d2f9427c6b..18f6fd190b7e11163045d4678cd1cc71a4f27a84 100644 (file)
@@ -328,7 +328,7 @@ public:
                   const CellSimilarity::Similarity                           cell_similarity,
                   const Quadrature<dim>                                     &quadrature,
                   const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                  FEValuesData<dim,spacedim>                                &output_data) const;
+                  internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute mapping-related information for a face of a cell.
@@ -340,7 +340,7 @@ public:
                        const unsigned int                                         face_no,
                        const Quadrature<dim-1>                                   &quadrature,
                        const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                       FEValuesData<dim,spacedim>                                &output_data) const;
+                       internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute mapping-related information for a child of a face of a cell.
@@ -353,7 +353,7 @@ public:
                           const unsigned int                                         subface_no,
                           const Quadrature<dim-1>                                   &quadrature,
                           const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                          FEValuesData<dim,spacedim>                                &output_data) const;
+                          internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Compute shape values and/or derivatives.
index 8b31afdc4425814ae4ad2dc6d984f654f6c24f4b..afa977da9b461e57784d9e352c38879eaf35bb1f 100644 (file)
@@ -135,7 +135,7 @@ protected:
                   const CellSimilarity::Similarity                           cell_similarity,
                   const Quadrature<dim>                                     &quadrature,
                   const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                  FEValuesData<dim,spacedim>                                &output_data) const;
+                  internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Reference to the vector of shifts.
index 34aecd29a3126689ee12be8f20e01b6c72858513..58cde27a77231ed762418974a061d9064d761aa9 100644 (file)
@@ -150,12 +150,11 @@ protected:
                   const CellSimilarity::Similarity                           cell_similarity,
                   const Quadrature<dim>                                     &quadrature,
                   const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                  FEValuesData<dim,spacedim>                                &output_data) const;
+                  internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const;
 
   /**
    * Reference to the vector of shifts.
    */
-
   SmartPointer<const VECTOR, MappingQEulerian<dim,VECTOR,spacedim> > euler_vector;
 
   /**
index 405d18b49eedb82b3cee48d904383e9bbd2f2eaf..1df48ce7a403b5140ba2394f799ed5dc93de9298 100644 (file)
@@ -321,7 +321,7 @@ fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
                 const CellSimilarity::Similarity                           cell_similarity,
                 const Quadrature<dim>                                     &quadrature,
                 const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                FEValuesData<dim,spacedim>                                &output_data) const
+                internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal
   // data for this class. fails with
@@ -395,7 +395,7 @@ fill_fe_face_values (const typename Triangulation<dim,spacedim>::cell_iterator &
                      const unsigned int                                         face_no,
                      const Quadrature<dim-1>                                   &quadrature,
                      const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                     FEValuesData<dim,spacedim>                                &output_data) const
+                     internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal
   // data for this class. fails with
@@ -463,7 +463,7 @@ fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterato
                         const unsigned int                                         subface_no,
                         const Quadrature<dim-1>                                   &quadrature,
                         const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                        FEValuesData<dim,spacedim>                                &output_data) const
+                        internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal
   // data for this class. fails with
index b1bcb3f9025d6fcd6a84cd9faf78afda77ca77db..c5131efabe0f0baf02c6786ba1059bcfa9fa9b0b 100644 (file)
@@ -379,7 +379,7 @@ fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
                 const CellSimilarity::Similarity                           cell_similarity,
                 const Quadrature<dim>                                     &quadrature,
                 const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                FEValuesData<dim,spacedim>                                &output_data) const
+                internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal data for this class. fails with an
   // exception if that is not possible
@@ -552,7 +552,7 @@ fill_fe_face_values (const typename Triangulation<dim,spacedim>::cell_iterator &
                      const unsigned int                                         face_no,
                      const Quadrature<dim-1>                                   &quadrature,
                      const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                     FEValuesData<dim,spacedim>                                &output_data) const
+                     internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal data for this class. fails with an
   // exception if that is not possible
@@ -588,7 +588,7 @@ fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterato
                         const unsigned int                                         subface_no,
                         const Quadrature<dim-1>                                   &quadrature,
                         const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                        FEValuesData<dim,spacedim>                                &output_data) const
+                        internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal data for this class. fails with an
   // exception if that is not possible
index 6a729865048ce253be80bcca2d41803ad65bae5f..0d96e6d922a35034635a32ff810dbc970f597391 100644 (file)
@@ -296,7 +296,7 @@ fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
                 const CellSimilarity::Similarity                           cell_similarity,
                 const Quadrature<dim>                                     &quadrature,
                 const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                FEValuesData<dim,spacedim>                                &output_data) const
+                internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal data for this class. fails with an
   // exception if that is not possible
@@ -349,7 +349,7 @@ fill_fe_face_values (const typename Triangulation<dim,spacedim>::cell_iterator &
                      const unsigned int                                         face_no,
                      const Quadrature<dim-1>                                   &quadrature,
                      const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                     FEValuesData<dim,spacedim>                                &output_data) const
+                     internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal data for this class. fails with an
   // exception if that is not possible
@@ -391,7 +391,7 @@ fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterato
                         const unsigned int                                         subface_no,
                         const Quadrature<dim-1>                                   &quadrature,
                         const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                        FEValuesData<dim,spacedim>                                &output_data) const
+                        internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // convert data object to internal data for this class. fails with an
   // exception if that is not possible
index 638d46d5889b8050fdbb49b52e008c9d4eb63633..2a5111fab80f8448a24fc8a2901cd348e7e1ace8 100644 (file)
@@ -740,7 +740,7 @@ fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
                 const CellSimilarity::Similarity                           cell_similarity,
                 const Quadrature<dim>                                     &quadrature,
                 const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                FEValuesData<dim,spacedim>                                &output_data) const
+                internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // ensure that the following static_cast is really correct:
   Assert (dynamic_cast<const InternalData *>(&internal_data) != 0,
@@ -951,7 +951,7 @@ namespace internal
                              const unsigned int               n_q_points,
                              const std::vector<double>        &weights,
                              const typename dealii::MappingQ1<dim,spacedim>::InternalData &data,
-                             FEValuesData<dim,spacedim>                                   &output_data)
+                             internal::FEValues::MappingRelatedData<dim,spacedim>         &output_data)
     {
       const UpdateFlags update_flags(data.current_update_flags());
 
@@ -1089,7 +1089,7 @@ namespace internal
                             const typename dealii::MappingQ1<dim,spacedim>::DataSetDescriptor  data_set,
                             const Quadrature<dim-1>                                           &quadrature,
                             const typename dealii::MappingQ1<dim,spacedim>::InternalData      &data,
-                            FEValuesData<dim,spacedim>                                        &output_data)
+                            internal::FEValues::MappingRelatedData<dim,spacedim>              &output_data)
     {
       maybe_compute_q_points<dim,spacedim> (data_set,
                                             data,
@@ -1114,7 +1114,7 @@ fill_fe_face_values (const typename Triangulation<dim,spacedim>::cell_iterator &
                      const unsigned int                                         face_no,
                      const Quadrature<dim-1>                                   &quadrature,
                      const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                     FEValuesData<dim,spacedim>                                &output_data) const
+                     internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // ensure that the following cast is really correct:
   Assert ((dynamic_cast<const InternalData *>(&internal_data) != 0),
@@ -1159,7 +1159,7 @@ fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterato
                         const unsigned int                                         subface_no,
                         const Quadrature<dim-1>                                   &quadrature,
                         const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                        FEValuesData<dim,spacedim>                                &output_data) const
+                        internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // ensure that the following cast is really correct:
   Assert ((dynamic_cast<const InternalData *>(&internal_data) != 0),
index 0903bd44da6286afe6cafb523fbbcdacaba3c51d..163d8e5ac2a988b87310b4f02b9e71e09a04badf 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2001 - 2014 by the deal.II authors
+// Copyright (C) 2001 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -117,7 +117,7 @@ fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
                 const CellSimilarity::Similarity                           ,
                 const Quadrature<dim>                                     &quadrature,
                 const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                FEValuesData<dim,spacedim>                                &output_data) const
+                internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // call the function of the base class, but ignoring
   // any potentially detected cell similarity between
index 47f74528c6028b2049e4d293029a1dd4f22d8e23..c679a47858157fdb34957d206ff3cf7ccc25364b 100644 (file)
@@ -182,7 +182,7 @@ fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
                 const CellSimilarity::Similarity                           ,
                 const Quadrature<dim>                                     &quadrature,
                 const typename Mapping<dim,spacedim>::InternalDataBase    &internal_data,
-                FEValuesData<dim,spacedim>                                &output_data) const
+                internal::FEValues::MappingRelatedData<dim,spacedim>      &output_data) const
 {
   // call the function of the base class, but ignoring
   // any potentially detected cell similarity between

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.