From: Wolfgang Bangerth Date: Sat, 7 Nov 2015 20:59:23 +0000 (-0600) Subject: Reshuffle the argument list of FE::fill_fe_*_values(). X-Git-Tag: v8.4.0-rc2~237^2~1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=472fc164a2cc60cdc626a7c747960d25f25ff150;p=dealii.git Reshuffle the argument list of FE::fill_fe_*_values(). This brings the argument list in line with the changes made to Mapping in #1204. In essence, it is all about sorting the list in a halfway reasonable order. No functional changes. The patch changes all of the derived finite element classes as well. In some cases it changes the name of arguments to match a uniform style. --- diff --git a/include/deal.II/fe/fe.h b/include/deal.II/fe/fe.h index 70f222997d..3b3207449e 100644 --- a/include/deal.II/fe/fe.h +++ b/include/deal.II/fe/fe.h @@ -2256,36 +2256,36 @@ protected: */ virtual void - fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, + fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, const Quadrature &quadrature, + const Mapping &mapping, const typename Mapping::InternalDataBase &mapping_internal, - const InternalDataBase &fe_internal, const dealii::internal::FEValues::MappingRelatedData &mapping_data, - dealii::internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const = 0; + const InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const = 0; virtual void - fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, + fill_fe_face_values (const typename Triangulation::cell_iterator &cell, const unsigned int face_no, const Quadrature &quadrature, + const Mapping &mapping, const typename Mapping::InternalDataBase &mapping_internal, - const InternalDataBase &fe_internal, const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const InternalDataBase &fe_internal, dealii::internal::FEValues::FiniteElementRelatedData &output_data) const = 0; virtual void - fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, + fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, const unsigned int face_no, const unsigned int sub_no, const Quadrature &quadrature, + const Mapping &mapping, const typename Mapping::InternalDataBase &mapping_internal, - const InternalDataBase &fe_internal, const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const InternalDataBase &fe_internal, dealii::internal::FEValues::FiniteElementRelatedData &output_data) const = 0; friend class InternalDataBase; diff --git a/include/deal.II/fe/fe_dgp_nonparametric.h b/include/deal.II/fe/fe_dgp_nonparametric.h index 50556f7097..33d2b64724 100644 --- a/include/deal.II/fe/fe_dgp_nonparametric.h +++ b/include/deal.II/fe/fe_dgp_nonparametric.h @@ -536,37 +536,37 @@ protected: virtual void - fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const; + fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const unsigned int sub_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; private: diff --git a/include/deal.II/fe/fe_face.h b/include/deal.II/fe/fe_face.h index acafae2abe..973af22f08 100644 --- a/include/deal.II/fe/fe_face.h +++ b/include/deal.II/fe/fe_face.h @@ -280,37 +280,37 @@ protected: virtual void - fill_fe_values (const Mapping<1,spacedim> &mapping, - const typename Triangulation<1,spacedim>::cell_iterator &cell, - const Quadrature<1> &quadrature, - const typename Mapping<1,spacedim>::InternalDataBase &mapping_internal, - const typename FiniteElement<1,spacedim>::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData<1,spacedim> &mapping_data, - internal::FEValues::FiniteElementRelatedData<1,spacedim> &output_data, - const CellSimilarity::Similarity cell_similarity) const; + fill_fe_values (const typename Triangulation<1,spacedim>::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature<1> &quadrature, + const Mapping<1,spacedim> &mapping, + const typename Mapping<1,spacedim>::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData<1, spacedim> &mapping_data, + const typename FiniteElement<1,spacedim>::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData<1, spacedim> &output_data) const; virtual void - fill_fe_face_values (const Mapping<1,spacedim> &mapping, - const typename Triangulation<1,spacedim>::cell_iterator &cell, - const unsigned int face_no, - const Quadrature<0> &quadrature, - const typename Mapping<1,spacedim>::InternalDataBase &mapping_internal, - const typename FiniteElement<1,spacedim>::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData<1,spacedim> &mapping_data, - internal::FEValues::FiniteElementRelatedData<1,spacedim> &output_data) const; + fill_fe_face_values (const typename Triangulation<1,spacedim>::cell_iterator &cell, + const unsigned int face_no, + const Quadrature<0> &quadrature, + const Mapping<1,spacedim> &mapping, + const typename Mapping<1,spacedim>::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData<1, spacedim> &mapping_data, + const typename FiniteElement<1,spacedim>::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData<1, spacedim> &output_data) const; virtual void - fill_fe_subface_values (const Mapping<1,spacedim> &mapping, - const typename Triangulation<1,spacedim>::cell_iterator &cell, - const unsigned int face_no, - const unsigned int sub_no, - const Quadrature<0> &quadrature, - const typename Mapping<1,spacedim>::InternalDataBase &mapping_internal, - const typename FiniteElement<1,spacedim>::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData<1,spacedim> &mapping_data, - internal::FEValues::FiniteElementRelatedData<1,spacedim> &output_data) const; + fill_fe_subface_values (const typename Triangulation<1,spacedim>::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature<0> &quadrature, + const Mapping<1,spacedim> &mapping, + const typename Mapping<1,spacedim>::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData<1, spacedim> &mapping_data, + const typename FiniteElement<1,spacedim>::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData<1, spacedim> &output_data) const; /** diff --git a/include/deal.II/fe/fe_nothing.h b/include/deal.II/fe/fe_nothing.h index 3985b5dac6..90e3ce9567 100644 --- a/include/deal.II/fe/fe_nothing.h +++ b/include/deal.II/fe/fe_nothing.h @@ -131,37 +131,37 @@ public: virtual void - fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const; + fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const unsigned int sub_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; /** * Prepare internal data structures and fill in values independent of the diff --git a/include/deal.II/fe/fe_poly.h b/include/deal.II/fe/fe_poly.h index a2f3bc3489..43ba79eb3e 100644 --- a/include/deal.II/fe/fe_poly.h +++ b/include/deal.II/fe/fe_poly.h @@ -306,37 +306,37 @@ protected: virtual void - fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const; + fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const unsigned int sub_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; /** * Determine the values that need to be computed on the unit cell to be able diff --git a/include/deal.II/fe/fe_poly.templates.h b/include/deal.II/fe/fe_poly.templates.h index cd3e28dbd0..fb160960b2 100644 --- a/include/deal.II/fe/fe_poly.templates.h +++ b/include/deal.II/fe/fe_poly.templates.h @@ -231,21 +231,21 @@ FE_Poly::update_each (const UpdateFlags flags) const template void FE_Poly:: -fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const +fill_fe_values (const typename Triangulation::cell_iterator &, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); const UpdateFlags flags(fe_data.update_each); @@ -295,31 +295,31 @@ fill_fe_values (const Mapping &ma template void FE_Poly:: -fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const +fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); // offset determines which data set // to take (all data sets for all // faces are stored contiguously) const typename QProjector::DataSetDescriptor offset - = QProjector::DataSetDescriptor::face (face, - cell->face_orientation(face), - cell->face_flip(face), - cell->face_rotation(face), + = QProjector::DataSetDescriptor::face (face_no, + cell->face_orientation(face_no), + cell->face_flip(face_no), + cell->face_rotation(face_no), quadrature.size()); const UpdateFlags flags(fe_data.update_each); @@ -372,34 +372,34 @@ fill_fe_face_values (const Mapping template void FE_Poly:: -fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face, - const unsigned int subface, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const +fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); // offset determines which data set // to take (all data sets for all // sub-faces are stored contiguously) const typename QProjector::DataSetDescriptor offset - = QProjector::DataSetDescriptor::subface (face, subface, - cell->face_orientation(face), - cell->face_flip(face), - cell->face_rotation(face), + = QProjector::DataSetDescriptor::subface (face_no, sub_no, + cell->face_orientation(face_no), + cell->face_flip(face_no), + cell->face_rotation(face_no), quadrature.size(), - cell->subface_case(face)); + cell->subface_case(face_no)); const UpdateFlags flags(fe_data.update_each); diff --git a/include/deal.II/fe/fe_poly_face.h b/include/deal.II/fe/fe_poly_face.h index 294fcee367..9454af99fd 100644 --- a/include/deal.II/fe/fe_poly_face.h +++ b/include/deal.II/fe/fe_poly_face.h @@ -155,37 +155,37 @@ protected: virtual void - fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const; + fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const unsigned int sub_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; /** * Determine the values that need to be computed on the unit cell to be able diff --git a/include/deal.II/fe/fe_poly_face.templates.h b/include/deal.II/fe/fe_poly_face.templates.h index 2e5a78a164..abeb919b75 100644 --- a/include/deal.II/fe/fe_poly_face.templates.h +++ b/include/deal.II/fe/fe_poly_face.templates.h @@ -88,14 +88,14 @@ FE_PolyFace::update_each (const UpdateFlags flags) const template void FE_PolyFace:: -fill_fe_values (const Mapping &, - const typename Triangulation::cell_iterator &, +fill_fe_values (const typename Triangulation::cell_iterator &, + const CellSimilarity::Similarity , const Quadrature &, + const Mapping &, const typename Mapping::InternalDataBase &, + const dealii::internal::FEValues::MappingRelatedData &, const typename FiniteElement::InternalDataBase &, - const internal::FEValues::MappingRelatedData &, - internal::FEValues::FiniteElementRelatedData &, - const CellSimilarity::Similarity ) const + dealii::internal::FEValues::FiniteElementRelatedData &) const { // Do nothing, since we do not have // values in the interior @@ -106,21 +106,21 @@ fill_fe_values (const Mapping &, template void FE_PolyFace:: -fill_fe_face_values (const Mapping &, - const typename Triangulation::cell_iterator &, - const unsigned int face, - const Quadrature& quadrature, +fill_fe_face_values (const typename Triangulation::cell_iterator &, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &, const typename Mapping::InternalDataBase &, - const typename FiniteElement::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData &, - internal::FEValues::FiniteElementRelatedData &output_data) const + const dealii::internal::FEValues::MappingRelatedData &, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); if (fe_data.update_each & update_values) for (unsigned int i=0; i &, // Fill data for quad shape functions if (this->dofs_per_quad !=0) { - const unsigned int foffset = this->first_quad_index + this->dofs_per_quad * face; + const unsigned int foffset = this->first_quad_index + this->dofs_per_quad * face_no; for (unsigned int k=0; kdofs_per_quad; ++k) output_data.shape_values(foffset+k,i) = fe_data.shape_values[k+this->first_face_quad_index][i]; } @@ -151,7 +151,7 @@ fill_fe_face_values (const Mapping &, for (unsigned int line=0; line::lines_per_face; ++line) { for (unsigned int k=0; kdofs_per_line; ++k) - output_data.shape_values(foffset+GeometryInfo::face_to_cell_lines(face, line)*this->dofs_per_line+k,i) + output_data.shape_values(foffset+GeometryInfo::face_to_cell_lines(face_no, line)*this->dofs_per_line+k,i) = fe_data.shape_values[k+(line*this->dofs_per_line)+this->first_face_line_index][i]; } } @@ -164,7 +164,7 @@ fill_fe_face_values (const Mapping &, // Fill data for vertex shape functions if (this->dofs_per_vertex != 0) for (unsigned int lvertex=0; lvertex::vertices_per_face; ++lvertex) - output_data.shape_values(GeometryInfo::face_to_cell_vertices(face, lvertex),i) + output_data.shape_values(GeometryInfo::face_to_cell_vertices(face_no, lvertex),i) = fe_data.shape_values[lvertex][i]; break; } @@ -176,25 +176,25 @@ fill_fe_face_values (const Mapping &, template void FE_PolyFace:: -fill_fe_subface_values (const Mapping &, - const typename Triangulation::cell_iterator &, - const unsigned int face, - const unsigned int subface, - const Quadrature& quadrature, +fill_fe_subface_values (const typename Triangulation::cell_iterator &, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &, const typename Mapping::InternalDataBase &, - const typename FiniteElement::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData &, - internal::FEValues::FiniteElementRelatedData &output_data) const + const dealii::internal::FEValues::MappingRelatedData &, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); - const unsigned int foffset = fe_data.shape_values.size() * face; - const unsigned int offset = subface*quadrature.size(); + const unsigned int foffset = fe_data.shape_values.size() * face_no; + const unsigned int offset = sub_no*quadrature.size(); if (fe_data.update_each & update_values) { diff --git a/include/deal.II/fe/fe_poly_tensor.h b/include/deal.II/fe/fe_poly_tensor.h index f1a0a303c2..33ec7876ac 100644 --- a/include/deal.II/fe/fe_poly_tensor.h +++ b/include/deal.II/fe/fe_poly_tensor.h @@ -316,37 +316,37 @@ protected: virtual void - fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const; + fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const unsigned int sub_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; /** * Fields of cell-independent data for FE_PolyTensor. Stores the values of diff --git a/include/deal.II/fe/fe_system.h b/include/deal.II/fe/fe_system.h index ace5ac4e14..4b64df4fbf 100644 --- a/include/deal.II/fe/fe_system.h +++ b/include/deal.II/fe/fe_system.h @@ -878,37 +878,37 @@ protected: virtual void - fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const; + fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; virtual void - fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const unsigned int sub_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_internal, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const; + fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const; /** * Do the work for the three fill_fe*_values functions. diff --git a/source/fe/fe_dgp_nonparametric.cc b/source/fe/fe_dgp_nonparametric.cc index 9cb3f39a4d..f66cfb0b6b 100644 --- a/source/fe/fe_dgp_nonparametric.cc +++ b/source/fe/fe_dgp_nonparametric.cc @@ -282,26 +282,26 @@ FE_DGPNonparametric::get_data ( template void FE_DGPNonparametric:: -fill_fe_values (const Mapping &, - const typename Triangulation::cell_iterator &, +fill_fe_values (const typename Triangulation::cell_iterator &, + const CellSimilarity::Similarity , const Quadrature &, + const Mapping &, const typename Mapping::InternalDataBase &, - const typename FiniteElement::InternalDataBase &fe_data, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity /*cell_similarity*/) const + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { - Assert (fe_data.update_each & update_quadrature_points, ExcInternalError()); + Assert (fe_internal.update_each & update_quadrature_points, ExcInternalError()); const unsigned int n_q_points = mapping_data.quadrature_points.size(); - std::vector values(fe_data.update_each & update_values ? this->dofs_per_cell : 0); - std::vector > grads(fe_data.update_each & update_gradients ? this->dofs_per_cell : 0); - std::vector > grad_grads(fe_data.update_each & update_hessians ? this->dofs_per_cell : 0); + std::vector values(fe_internal.update_each & update_values ? this->dofs_per_cell : 0); + std::vector > grads(fe_internal.update_each & update_gradients ? this->dofs_per_cell : 0); + std::vector > grad_grads(fe_internal.update_each & update_hessians ? this->dofs_per_cell : 0); std::vector > empty_vector_of_3rd_order_tensors; std::vector > empty_vector_of_4th_order_tensors; - if (fe_data.update_each & (update_values | update_gradients)) + if (fe_internal.update_each & (update_values | update_gradients)) for (unsigned int i=0; i &, empty_vector_of_3rd_order_tensors, empty_vector_of_4th_order_tensors); - if (fe_data.update_each & update_values) + if (fe_internal.update_each & update_values) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_values[k][i] = values[k]; - if (fe_data.update_each & update_gradients) + if (fe_internal.update_each & update_gradients) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_gradients[k][i] = grads[k]; - if (fe_data.update_each & update_hessians) + if (fe_internal.update_each & update_hessians) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_hessians[k][i] = grad_grads[k]; } @@ -328,26 +328,26 @@ fill_fe_values (const Mapping &, template void FE_DGPNonparametric:: -fill_fe_face_values (const Mapping &, - const typename Triangulation::cell_iterator &, - const unsigned int, - const Quadrature&, +fill_fe_face_values (const typename Triangulation::cell_iterator &, + const unsigned int , + const Quadrature &, + const Mapping &, const typename Mapping::InternalDataBase &, - const typename FiniteElement::InternalDataBase &fe_data, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { - Assert (fe_data.update_each & update_quadrature_points, ExcInternalError()); + Assert (fe_internal.update_each & update_quadrature_points, ExcInternalError()); const unsigned int n_q_points = mapping_data.quadrature_points.size(); - std::vector values(fe_data.update_each & update_values ? this->dofs_per_cell : 0); - std::vector > grads(fe_data.update_each & update_gradients ? this->dofs_per_cell : 0); - std::vector > grad_grads(fe_data.update_each & update_hessians ? this->dofs_per_cell : 0); + std::vector values(fe_internal.update_each & update_values ? this->dofs_per_cell : 0); + std::vector > grads(fe_internal.update_each & update_gradients ? this->dofs_per_cell : 0); + std::vector > grad_grads(fe_internal.update_each & update_hessians ? this->dofs_per_cell : 0); std::vector > empty_vector_of_3rd_order_tensors; std::vector > empty_vector_of_4th_order_tensors; - if (fe_data.update_each & (update_values | update_gradients)) + if (fe_internal.update_each & (update_values | update_gradients)) for (unsigned int i=0; i &, empty_vector_of_3rd_order_tensors, empty_vector_of_4th_order_tensors); - if (fe_data.update_each & update_values) + if (fe_internal.update_each & update_values) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_values[k][i] = values[k]; - if (fe_data.update_each & update_gradients) + if (fe_internal.update_each & update_gradients) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_gradients[k][i] = grads[k]; - if (fe_data.update_each & update_hessians) + if (fe_internal.update_each & update_hessians) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_hessians[k][i] = grad_grads[k]; } @@ -374,27 +374,27 @@ fill_fe_face_values (const Mapping &, template void FE_DGPNonparametric:: -fill_fe_subface_values (const Mapping &, - const typename Triangulation::cell_iterator &, - const unsigned int, - const unsigned int, - const Quadrature&, +fill_fe_subface_values (const typename Triangulation::cell_iterator &, + const unsigned int , + const unsigned int , + const Quadrature &, + const Mapping &, const typename Mapping::InternalDataBase &, - const typename FiniteElement::InternalDataBase &fe_data, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { - Assert (fe_data.update_each & update_quadrature_points, ExcInternalError()); + Assert (fe_internal.update_each & update_quadrature_points, ExcInternalError()); const unsigned int n_q_points = mapping_data.quadrature_points.size(); - std::vector values(fe_data.update_each & update_values ? this->dofs_per_cell : 0); - std::vector > grads(fe_data.update_each & update_gradients ? this->dofs_per_cell : 0); - std::vector > grad_grads(fe_data.update_each & update_hessians ? this->dofs_per_cell : 0); + std::vector values(fe_internal.update_each & update_values ? this->dofs_per_cell : 0); + std::vector > grads(fe_internal.update_each & update_gradients ? this->dofs_per_cell : 0); + std::vector > grad_grads(fe_internal.update_each & update_hessians ? this->dofs_per_cell : 0); std::vector > empty_vector_of_3rd_order_tensors; std::vector > empty_vector_of_4th_order_tensors; - if (fe_data.update_each & (update_values | update_gradients)) + if (fe_internal.update_each & (update_values | update_gradients)) for (unsigned int i=0; i &, empty_vector_of_3rd_order_tensors, empty_vector_of_4th_order_tensors); - if (fe_data.update_each & update_values) + if (fe_internal.update_each & update_values) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_values[k][i] = values[k]; - if (fe_data.update_each & update_gradients) + if (fe_internal.update_each & update_gradients) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_gradients[k][i] = grads[k]; - if (fe_data.update_each & update_hessians) + if (fe_internal.update_each & update_hessians) for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_hessians[k][i] = grad_grads[k]; } diff --git a/source/fe/fe_face.cc b/source/fe/fe_face.cc index 5297500ea5..e3e40dd428 100644 --- a/source/fe/fe_face.cc +++ b/source/fe/fe_face.cc @@ -477,14 +477,14 @@ FE_FaceQ<1,spacedim>::update_each (const UpdateFlags flags) const template void FE_FaceQ<1,spacedim>:: -fill_fe_values(const Mapping<1,spacedim> &, - const typename Triangulation<1,spacedim>::cell_iterator &, +fill_fe_values(const typename Triangulation<1,spacedim>::cell_iterator &, + const CellSimilarity::Similarity , const Quadrature<1> &, + const Mapping<1,spacedim> &, const typename Mapping<1,spacedim>::InternalDataBase &, + const dealii::internal::FEValues::MappingRelatedData<1, spacedim> &, const typename FiniteElement<1,spacedim>::InternalDataBase &, - const internal::FEValues::MappingRelatedData<1,spacedim> &, - internal::FEValues::FiniteElementRelatedData<1,spacedim> &, - const CellSimilarity::Similarity ) const + dealii::internal::FEValues::FiniteElementRelatedData<1, spacedim> &) const { // Do nothing, since we do not have values in the interior } @@ -494,17 +494,17 @@ fill_fe_values(const Mapping<1,spacedim> &, template void FE_FaceQ<1,spacedim>:: -fill_fe_face_values (const Mapping<1,spacedim> &, - const typename Triangulation<1,spacedim>::cell_iterator &, - const unsigned int face, +fill_fe_face_values (const typename Triangulation<1,spacedim>::cell_iterator &, + const unsigned int face, const Quadrature<0> &, + const Mapping<1,spacedim> &, const typename Mapping<1,spacedim>::InternalDataBase &, - const typename FiniteElement<1,spacedim>::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData<1,spacedim> &, - internal::FEValues::FiniteElementRelatedData<1,spacedim> &output_data) const + const dealii::internal::FEValues::MappingRelatedData<1, spacedim> &, + const typename FiniteElement<1,spacedim>::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData<1, spacedim> &output_data) const { const unsigned int foffset = face; - if (fedata.update_each & update_values) + if (fe_internal.update_each & update_values) { for (unsigned int k=0; kdofs_per_cell; ++k) output_data.shape_values(k,0) = 0.; @@ -516,15 +516,15 @@ fill_fe_face_values (const Mapping<1,spacedim> &, template void FE_FaceQ<1,spacedim>:: -fill_fe_subface_values (const Mapping<1,spacedim> &, - const typename Triangulation<1,spacedim>::cell_iterator &, - const unsigned int , - const unsigned int , +fill_fe_subface_values (const typename Triangulation<1,spacedim>::cell_iterator &, + const unsigned int , + const unsigned int , const Quadrature<0> &, + const Mapping<1,spacedim> &, const typename Mapping<1,spacedim>::InternalDataBase &, + const dealii::internal::FEValues::MappingRelatedData<1, spacedim> &, const typename FiniteElement<1,spacedim>::InternalDataBase &, - const internal::FEValues::MappingRelatedData<1,spacedim> &, - internal::FEValues::FiniteElementRelatedData<1,spacedim> &) const + dealii::internal::FEValues::FiniteElementRelatedData<1, spacedim> &) const { Assert(false, ExcMessage("There are no sub-face values to fill in 1D!")); } diff --git a/source/fe/fe_nothing.cc b/source/fe/fe_nothing.cc index 3d5d9733c2..f4a7f96db5 100644 --- a/source/fe/fe_nothing.cc +++ b/source/fe/fe_nothing.cc @@ -110,14 +110,14 @@ FE_Nothing::get_data (const UpdateFlags /*flags*/, template void FE_Nothing:: -fill_fe_values (const Mapping & /*mapping*/, - const typename Triangulation::cell_iterator & /*cell*/, - const Quadrature & /*quadrature*/, - const typename Mapping::InternalDataBase & /*mapping_data*/, - const typename FiniteElement::InternalDataBase & /*fedata*/, - const internal::FEValues::MappingRelatedData &/*mapping_data*/, - internal::FEValues::FiniteElementRelatedData &/*output_data*/, - const CellSimilarity::Similarity /*cell_similarity*/) const +fill_fe_values (const typename Triangulation::cell_iterator &, + const CellSimilarity::Similarity , + const Quadrature &, + const Mapping &, + const typename Mapping::InternalDataBase &, + const dealii::internal::FEValues::MappingRelatedData &, + const typename FiniteElement::InternalDataBase &, + dealii::internal::FEValues::FiniteElementRelatedData &) const { // leave data fields empty } @@ -127,34 +127,38 @@ fill_fe_values (const Mapping & /*mapping*/, template void FE_Nothing:: -fill_fe_face_values (const Mapping & /*mapping*/, - const typename Triangulation::cell_iterator & /*cell*/, - const unsigned int /*face*/, - const Quadrature & /*quadrature*/, - const typename Mapping::InternalDataBase & /*mapping_data*/, - const typename FiniteElement::InternalDataBase & /*fedata*/, - const internal::FEValues::MappingRelatedData &/*mapping_data*/, - internal::FEValues::FiniteElementRelatedData &/*output_data*/) const +fill_fe_face_values (const typename Triangulation::cell_iterator &, + const unsigned int , + const Quadrature &, + const Mapping &, + const typename Mapping::InternalDataBase &, + const dealii::internal::FEValues::MappingRelatedData &, + const typename FiniteElement::InternalDataBase &, + dealii::internal::FEValues::FiniteElementRelatedData &) const { // leave data fields empty } + + template void FE_Nothing:: -fill_fe_subface_values (const Mapping & /*mapping*/, - const typename Triangulation::cell_iterator & /*cell*/, - const unsigned int /*face*/, - const unsigned int /*subface*/, - const Quadrature & /*quadrature*/, - const typename Mapping::InternalDataBase & /*mapping_data*/, - const typename FiniteElement::InternalDataBase & /*fedata*/, - const internal::FEValues::MappingRelatedData &/*mapping_data*/, - internal::FEValues::FiniteElementRelatedData &/*output_data*/) const +fill_fe_subface_values (const typename Triangulation::cell_iterator &, + const unsigned int , + const unsigned int , + const Quadrature &, + const Mapping &, + const typename Mapping::InternalDataBase &, + const dealii::internal::FEValues::MappingRelatedData &, + const typename FiniteElement::InternalDataBase &, + dealii::internal::FEValues::FiniteElementRelatedData &) const { // leave data fields empty } + + template bool FE_Nothing::is_dominating() const diff --git a/source/fe/fe_poly.cc b/source/fe/fe_poly.cc index c4c49b6ddd..bd52bab078 100644 --- a/source/fe/fe_poly.cc +++ b/source/fe/fe_poly.cc @@ -31,21 +31,21 @@ DEAL_II_NAMESPACE_OPEN template <> void FE_Poly,1,2>:: -fill_fe_values (const Mapping<1,2> &mapping, - const Triangulation<1,2>::cell_iterator &, - const Quadrature<1> &quadrature, - const Mapping<1,2>::InternalDataBase &mapping_internal, - const FiniteElement<1,2>::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData<1,2> &mapping_data, - internal::FEValues::FiniteElementRelatedData<1,2> &output_data, - const CellSimilarity::Similarity cell_similarity) const +fill_fe_values (const Triangulation<1,2>::cell_iterator &, + const CellSimilarity::Similarity cell_similarity, + const Quadrature<1> &quadrature, + const Mapping<1,2> &mapping, + const Mapping<1,2>::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData<1,2> &mapping_data, + const FiniteElement<1,2>::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData<1,2> &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); for (unsigned int k=0; kdofs_per_cell; ++k) { @@ -90,20 +90,20 @@ fill_fe_values (const Mapping<1,2> &mapping, template <> void FE_Poly,2,3>:: -fill_fe_values (const Mapping<2,3> &mapping, - const Triangulation<2,3>::cell_iterator &, - const Quadrature<2> &quadrature, - const Mapping<2,3>::InternalDataBase &mapping_internal, - const FiniteElement<2,3>::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData<2,3> &mapping_data, - internal::FEValues::FiniteElementRelatedData<2,3> &output_data, - const CellSimilarity::Similarity cell_similarity) const +fill_fe_values (const Triangulation<2,3>::cell_iterator &, + const CellSimilarity::Similarity cell_similarity, + const Quadrature<2> &quadrature, + const Mapping<2,3> &mapping, + const Mapping<2,3>::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData<2,3> &mapping_data, + const FiniteElement<2,3>::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData<2,3> &output_data) const { // assert that the following dynamics // cast is really well-defined. - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); for (unsigned int k=0; kdofs_per_cell; ++k) { @@ -147,22 +147,22 @@ fill_fe_values (const Mapping<2,3> &mapping, template <> void FE_Poly,1,2>:: -fill_fe_values (const Mapping<1,2> &mapping, - const Triangulation<1,2>::cell_iterator &, - const Quadrature<1> &quadrature, - const Mapping<1,2>::InternalDataBase &mapping_internal, - const FiniteElement<1,2>::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData<1,2> &mapping_data, - internal::FEValues::FiniteElementRelatedData<1,2> &output_data, - const CellSimilarity::Similarity cell_similarity) const +fill_fe_values (const Triangulation<1,2>::cell_iterator &, + const CellSimilarity::Similarity cell_similarity, + const Quadrature<1> &quadrature, + const Mapping<1,2> &mapping, + const Mapping<1,2>::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData<1,2> &mapping_data, + const FiniteElement<1,2>::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData<1,2> &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); for (unsigned int k=0; kdofs_per_cell; ++k) { @@ -206,17 +206,17 @@ fill_fe_values (const Mapping<1,2> &mapping, template <> void FE_Poly,2,3>:: -fill_fe_values (const Mapping<2,3> &mapping, - const Triangulation<2,3>::cell_iterator &, - const Quadrature<2> &quadrature, - const Mapping<2,3>::InternalDataBase &mapping_internal, - const FiniteElement<2,3>::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData<2,3> &mapping_data, - internal::FEValues::FiniteElementRelatedData<2,3> &output_data, - const CellSimilarity::Similarity cell_similarity) const +fill_fe_values (const Triangulation<2,3>::cell_iterator &, + const CellSimilarity::Similarity cell_similarity, + const Quadrature<2> &quadrature, + const Mapping<2,3> &mapping, + const Mapping<2,3>::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData<2,3> &mapping_data, + const FiniteElement<2,3>::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData<2,3> &output_data) const { - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); for (unsigned int k=0; kdofs_per_cell; ++k) { diff --git a/source/fe/fe_poly_tensor.cc b/source/fe/fe_poly_tensor.cc index dfc24c3bc7..99aa1f533a 100644 --- a/source/fe/fe_poly_tensor.cc +++ b/source/fe/fe_poly_tensor.cc @@ -289,22 +289,22 @@ FE_PolyTensor::shape_grad_grad_component (const unsigned int template void FE_PolyTensor:: -fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const +fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + const InternalData &fe_data = static_cast (fe_internal); const unsigned int n_q_points = quadrature.size(); @@ -758,22 +758,22 @@ fill_fe_values (const Mapping &ma template void FE_PolyTensor:: -fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const +fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + const InternalData &fe_data = static_cast (fe_internal); const unsigned int n_q_points = quadrature.size(); // offset determines which data set @@ -781,10 +781,10 @@ fill_fe_face_values (const Mapping // faces are stored contiguously) const typename QProjector::DataSetDescriptor offset - = QProjector::DataSetDescriptor::face (face, - cell->face_orientation(face), - cell->face_flip(face), - cell->face_rotation(face), + = QProjector::DataSetDescriptor::face (face_no, + cell->face_orientation(face_no), + cell->face_flip(face_no), + cell->face_rotation(face_no), n_q_points); //TODO: Size assertions @@ -1217,23 +1217,23 @@ fill_fe_face_values (const Mapping template void FE_PolyTensor:: -fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face, - const unsigned int subface, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fedata, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const +fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { // convert data object to internal // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + const InternalData &fe_data = static_cast (fe_internal); const unsigned int n_q_points = quadrature.size(); @@ -1241,12 +1241,12 @@ fill_fe_subface_values (const Mapping // to take (all data sets for all // sub-faces are stored contiguously) const typename QProjector::DataSetDescriptor offset - = QProjector::DataSetDescriptor::subface (face, subface, - cell->face_orientation(face), - cell->face_flip(face), - cell->face_rotation(face), + = QProjector::DataSetDescriptor::subface (face_no, sub_no, + cell->face_orientation(face_no), + cell->face_flip(face_no), + cell->face_rotation(face_no), n_q_points, - cell->subface_case(face)); + cell->subface_case(face_no)); // Assert(mapping_type == independent // || ( mapping_type == independent_on_cartesian diff --git a/source/fe/fe_system.cc b/source/fe/fe_system.cc index 51697cfda7..34b97c49d3 100644 --- a/source/fe/fe_system.cc +++ b/source/fe/fe_system.cc @@ -1001,17 +1001,17 @@ FESystem::get_subface_data (const UpdateFlags flags, template void FESystem:: -fill_fe_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_data, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data, - const CellSimilarity::Similarity cell_similarity) const +fill_fe_values (const typename Triangulation::cell_iterator &cell, + const CellSimilarity::Similarity cell_similarity, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { compute_fill(mapping, cell, invalid_face_number, invalid_face_number, - quadrature, cell_similarity, mapping_internal, fe_data, + quadrature, cell_similarity, mapping_internal, fe_internal, mapping_data, output_data); } @@ -1020,17 +1020,17 @@ fill_fe_values (const Mapping &mapping, template void FESystem:: -fill_fe_face_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_data, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const +fill_fe_face_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { compute_fill (mapping, cell, face_no, invalid_face_number, quadrature, - CellSimilarity::none, mapping_internal, fe_data, + CellSimilarity::none, mapping_internal, fe_internal, mapping_data, output_data); } @@ -1040,18 +1040,18 @@ fill_fe_face_values (const Mapping &mapping, template void FESystem:: -fill_fe_subface_values (const Mapping &mapping, - const typename Triangulation::cell_iterator &cell, - const unsigned int face_no, - const unsigned int sub_no, - const Quadrature &quadrature, - const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fe_data, - const internal::FEValues::MappingRelatedData &mapping_data, - internal::FEValues::FiniteElementRelatedData &output_data) const +fill_fe_subface_values (const typename Triangulation::cell_iterator &cell, + const unsigned int face_no, + const unsigned int sub_no, + const Quadrature &quadrature, + const Mapping &mapping, + const typename Mapping::InternalDataBase &mapping_internal, + const dealii::internal::FEValues::MappingRelatedData &mapping_data, + const typename FiniteElement::InternalDataBase &fe_internal, + dealii::internal::FEValues::FiniteElementRelatedData &output_data) const { compute_fill (mapping, cell, face_no, sub_no, quadrature, - CellSimilarity::none, mapping_internal, fe_data, + CellSimilarity::none, mapping_internal, fe_internal, mapping_data, output_data); } @@ -1068,7 +1068,7 @@ compute_fill (const Mapping &mapping, const Quadrature &quadrature, const CellSimilarity::Similarity cell_similarity, const typename Mapping::InternalDataBase &mapping_internal, - const typename FiniteElement::InternalDataBase &fedata, + const typename FiniteElement::InternalDataBase &fe_internal, const internal::FEValues::MappingRelatedData &mapping_data, internal::FEValues::FiniteElementRelatedData &output_data) const { @@ -1076,8 +1076,8 @@ compute_fill (const Mapping &mapping, // data for this class. fails with // an exception if that is not // possible - Assert (dynamic_cast (&fedata) != 0, ExcInternalError()); - const InternalData &fe_data = static_cast (fedata); + Assert (dynamic_cast (&fe_internal) != 0, ExcInternalError()); + const InternalData &fe_data = static_cast (fe_internal); // Either dim_1==dim // (fill_fe_values) or dim_1==dim-1 @@ -1145,14 +1145,20 @@ compute_fill (const Mapping &mapping, // copied from base_data to data on each face, therefore use // base_fe_data.update_flags. if (face_no==invalid_face_number) - base_fe.fill_fe_values(mapping, cell, *cell_quadrature, mapping_internal, - base_fe_data, mapping_data, base_data, cell_similarity); + base_fe.fill_fe_values(cell, cell_similarity, + *cell_quadrature, + mapping, mapping_internal, mapping_data, + base_fe_data, base_data); else if (sub_no==invalid_face_number) - base_fe.fill_fe_face_values(mapping, cell, face_no, - *face_quadrature, mapping_internal, base_fe_data, mapping_data, base_data); + base_fe.fill_fe_face_values(cell, face_no, + *face_quadrature, + mapping, mapping_internal, mapping_data, + base_fe_data, base_data); else - base_fe.fill_fe_subface_values(mapping, cell, face_no, sub_no, - *face_quadrature, mapping_internal, base_fe_data, mapping_data, base_data); + base_fe.fill_fe_subface_values(cell, face_no, sub_no, + *face_quadrature, + mapping, mapping_internal, mapping_data, + base_fe_data, base_data); // now data has been generated, so copy it. we used to work by // looping over all base elements (i.e. this outer loop), then over diff --git a/source/fe/fe_values.cc b/source/fe/fe_values.cc index 3bfb044265..7cf2f8bfd8 100644 --- a/source/fe/fe_values.cc +++ b/source/fe/fe_values.cc @@ -3758,14 +3758,14 @@ void FEValues::do_reinit () // already filled by the mapping, let it compute the // data for the mapped shape function values, gradients, // etc. - this->get_fe().fill_fe_values(this->get_mapping(), - *this->present_cell, - quadrature, + this->get_fe().fill_fe_values(*this->present_cell, + this->cell_similarity, + this->quadrature, + this->get_mapping(), *this->mapping_data, - *this->fe_data, this->mapping_output, - this->finite_element_output, - this->cell_similarity); + *this->fe_data, + this->finite_element_output); } @@ -3963,12 +3963,13 @@ void FEFaceValues::do_reinit (const unsigned int face_no) *this->mapping_data, this->mapping_output); - this->get_fe().fill_fe_face_values(this->get_mapping(), - *this->present_cell, face_no, + this->get_fe().fill_fe_face_values(*this->present_cell, + face_no, this->quadrature, + this->get_mapping(), *this->mapping_data, - *this->fe_data, this->mapping_output, + *this->fe_data, this->finite_element_output); } @@ -4203,13 +4204,14 @@ void FESubfaceValues::do_reinit (const unsigned int face_no, *this->mapping_data, this->mapping_output); - this->get_fe().fill_fe_subface_values(this->get_mapping(), - *this->present_cell, - face_no, subface_no, + this->get_fe().fill_fe_subface_values(*this->present_cell, + face_no, + subface_no, this->quadrature, + this->get_mapping(), *this->mapping_data, - *this->fe_data, this->mapping_output, + *this->fe_data, this->finite_element_output); }