From: Wolfgang Bangerth Date: Fri, 31 Jul 2015 18:00:06 +0000 (-0500) Subject: Let the mapping classes only take the mapping related data object as output. X-Git-Tag: v8.4.0-rc2~685^2~3 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8275de568d55da85a8a67961fab9bdc31c2ed59;p=dealii.git Let the mapping classes only take the mapping related data object as output. 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. --- diff --git a/include/deal.II/fe/mapping.h b/include/deal.II/fe/mapping.h index 6fc969415f..b01c821757 100644 --- a/include/deal.II/fe/mapping.h +++ b/include/deal.II/fe/mapping.h @@ -28,12 +28,13 @@ DEAL_II_NAMESPACE_OPEN template class Quadrature; -template class FEValuesData; +template class FEValues; template class FEValuesBase; template class FEValues; template class FEFaceValues; template class FESubfaceValues; + /** * The transformation type used for the Mapping::transform() functions. * @@ -779,7 +780,7 @@ private: const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const InternalDataBase &internal_data, - FEValuesData &output_data) const = 0; + internal::FEValues::MappingRelatedData &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 &quadrature, const InternalDataBase &internal_data, - FEValuesData &output_data) const = 0; + internal::FEValues::MappingRelatedData &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 &quadrature, const InternalDataBase &internal_data, - FEValuesData &output_data) const = 0; + internal::FEValues::MappingRelatedData &output_data) const = 0; /** * Give class @p FEValues access to the private get_...data and diff --git a/include/deal.II/fe/mapping_cartesian.h b/include/deal.II/fe/mapping_cartesian.h index f0ae837557..69ce9ddddc 100644 --- a/include/deal.II/fe/mapping_cartesian.h +++ b/include/deal.II/fe/mapping_cartesian.h @@ -80,7 +80,7 @@ public: const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &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 &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &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 &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &output_data) const; virtual void transform (const VectorSlice > > input, diff --git a/include/deal.II/fe/mapping_fe_field.h b/include/deal.II/fe/mapping_fe_field.h index 070a8fcae1..bc9e474b50 100644 --- a/include/deal.II/fe/mapping_fe_field.h +++ b/include/deal.II/fe/mapping_fe_field.h @@ -444,7 +444,7 @@ protected: const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &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 &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &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 &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &output_data) const; /** * This function and the next allow to generate the transform require by the diff --git a/include/deal.II/fe/mapping_q.h b/include/deal.II/fe/mapping_q.h index 334dc97028..c49e8fc4ca 100644 --- a/include/deal.II/fe/mapping_q.h +++ b/include/deal.II/fe/mapping_q.h @@ -206,7 +206,7 @@ protected: const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &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 &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &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 &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &output_data) const; /** * For dim=2,3. Append the support points of all shape functions diff --git a/include/deal.II/fe/mapping_q1.h b/include/deal.II/fe/mapping_q1.h index b918399bb2..18f6fd190b 100644 --- a/include/deal.II/fe/mapping_q1.h +++ b/include/deal.II/fe/mapping_q1.h @@ -328,7 +328,7 @@ public: const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &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 &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &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 &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &output_data) const; /** * Compute shape values and/or derivatives. diff --git a/include/deal.II/fe/mapping_q1_eulerian.h b/include/deal.II/fe/mapping_q1_eulerian.h index 8b31afdc44..afa977da9b 100644 --- a/include/deal.II/fe/mapping_q1_eulerian.h +++ b/include/deal.II/fe/mapping_q1_eulerian.h @@ -135,7 +135,7 @@ protected: const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &output_data) const; /** * Reference to the vector of shifts. diff --git a/include/deal.II/fe/mapping_q_eulerian.h b/include/deal.II/fe/mapping_q_eulerian.h index 34aecd29a3..58cde27a77 100644 --- a/include/deal.II/fe/mapping_q_eulerian.h +++ b/include/deal.II/fe/mapping_q_eulerian.h @@ -150,12 +150,11 @@ protected: const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const; + internal::FEValues::MappingRelatedData &output_data) const; /** * Reference to the vector of shifts. */ - SmartPointer > euler_vector; /** diff --git a/source/fe/mapping_cartesian.cc b/source/fe/mapping_cartesian.cc index 405d18b49e..1df48ce7a4 100644 --- a/source/fe/mapping_cartesian.cc +++ b/source/fe/mapping_cartesian.cc @@ -321,7 +321,7 @@ fill_fe_values (const typename Triangulation::cell_iterator &cell, const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &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::cell_iterator & const unsigned int face_no, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &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::cell_iterato const unsigned int subface_no, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &output_data) const { // convert data object to internal // data for this class. fails with diff --git a/source/fe/mapping_fe_field.cc b/source/fe/mapping_fe_field.cc index b1bcb3f902..c5131efabe 100644 --- a/source/fe/mapping_fe_field.cc +++ b/source/fe/mapping_fe_field.cc @@ -379,7 +379,7 @@ fill_fe_values (const typename Triangulation::cell_iterator &cell, const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &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::cell_iterator & const unsigned int face_no, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &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::cell_iterato const unsigned int subface_no, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &output_data) const { // convert data object to internal data for this class. fails with an // exception if that is not possible diff --git a/source/fe/mapping_q.cc b/source/fe/mapping_q.cc index 6a72986504..0d96e6d922 100644 --- a/source/fe/mapping_q.cc +++ b/source/fe/mapping_q.cc @@ -296,7 +296,7 @@ fill_fe_values (const typename Triangulation::cell_iterator &cell, const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &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::cell_iterator & const unsigned int face_no, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &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::cell_iterato const unsigned int subface_no, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &output_data) const { // convert data object to internal data for this class. fails with an // exception if that is not possible diff --git a/source/fe/mapping_q1.cc b/source/fe/mapping_q1.cc index 638d46d588..2a5111fab8 100644 --- a/source/fe/mapping_q1.cc +++ b/source/fe/mapping_q1.cc @@ -740,7 +740,7 @@ fill_fe_values (const typename Triangulation::cell_iterator &cell, const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &output_data) const { // ensure that the following static_cast is really correct: Assert (dynamic_cast(&internal_data) != 0, @@ -951,7 +951,7 @@ namespace internal const unsigned int n_q_points, const std::vector &weights, const typename dealii::MappingQ1::InternalData &data, - FEValuesData &output_data) + internal::FEValues::MappingRelatedData &output_data) { const UpdateFlags update_flags(data.current_update_flags()); @@ -1089,7 +1089,7 @@ namespace internal const typename dealii::MappingQ1::DataSetDescriptor data_set, const Quadrature &quadrature, const typename dealii::MappingQ1::InternalData &data, - FEValuesData &output_data) + internal::FEValues::MappingRelatedData &output_data) { maybe_compute_q_points (data_set, data, @@ -1114,7 +1114,7 @@ fill_fe_face_values (const typename Triangulation::cell_iterator & const unsigned int face_no, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &output_data) const { // ensure that the following cast is really correct: Assert ((dynamic_cast(&internal_data) != 0), @@ -1159,7 +1159,7 @@ fill_fe_subface_values (const typename Triangulation::cell_iterato const unsigned int subface_no, const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &output_data) const { // ensure that the following cast is really correct: Assert ((dynamic_cast(&internal_data) != 0), diff --git a/source/fe/mapping_q1_eulerian.cc b/source/fe/mapping_q1_eulerian.cc index 0903bd44da..163d8e5ac2 100644 --- a/source/fe/mapping_q1_eulerian.cc +++ b/source/fe/mapping_q1_eulerian.cc @@ -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::cell_iterator &cell, const CellSimilarity::Similarity , const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &output_data) const { // call the function of the base class, but ignoring // any potentially detected cell similarity between diff --git a/source/fe/mapping_q_eulerian.cc b/source/fe/mapping_q_eulerian.cc index 47f74528c6..c679a47858 100644 --- a/source/fe/mapping_q_eulerian.cc +++ b/source/fe/mapping_q_eulerian.cc @@ -182,7 +182,7 @@ fill_fe_values (const typename Triangulation::cell_iterator &cell, const CellSimilarity::Similarity , const Quadrature &quadrature, const typename Mapping::InternalDataBase &internal_data, - FEValuesData &output_data) const + internal::FEValues::MappingRelatedData &output_data) const { // call the function of the base class, but ignoring // any potentially detected cell similarity between