From: Peter Munch Date: Tue, 17 Nov 2020 18:50:16 +0000 (+0100) Subject: Actually use ShapeInfo for Simplex::FE_P and Simplex::QGauss X-Git-Tag: v9.3.0-rc1~889^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F11196%2Fhead;p=dealii.git Actually use ShapeInfo for Simplex::FE_P and Simplex::QGauss --- diff --git a/include/deal.II/matrix_free/mapping_info.h b/include/deal.II/matrix_free/mapping_info.h index e4852ea9eb..d717e3fc17 100644 --- a/include/deal.II/matrix_free/mapping_info.h +++ b/include/deal.II/matrix_free/mapping_info.h @@ -125,6 +125,14 @@ namespace internal */ QuadratureDescriptor(); + /** + * Set up the lengths in the various members of this struct. + */ + template + void + initialize(const Quadrature &quadrature, + const UpdateFlags update_flags_inner_faces = update_default); + /** * Set up the lengths in the various members of this struct. */ diff --git a/include/deal.II/matrix_free/mapping_info.templates.h b/include/deal.II/matrix_free/mapping_info.templates.h index 1d89993cc5..e81fcb0fe8 100644 --- a/include/deal.II/matrix_free/mapping_info.templates.h +++ b/include/deal.II/matrix_free/mapping_info.templates.h @@ -51,6 +51,34 @@ namespace internal + template + template + void + MappingInfoStorage:: + QuadratureDescriptor::initialize( + const Quadrature &quadrature, + const UpdateFlags update_flags_inner_faces) + { + Assert(structdim + 1 <= spacedim || + update_flags_inner_faces == update_default, + ExcMessage("Volume cells do not allow for setting inner faces")); + this->quadrature = quadrature; + n_q_points = quadrature.size(); + quadrature_weights.resize(n_q_points); + for (unsigned int i = 0; i < n_q_points; ++i) + quadrature_weights[i] = quadrature.weight(i); + + // note: quadrature_1 and tensor_quadrature_weights are not set up + + // TODO: set up face_orientations + (void)update_flags_inner_faces; + } + + + template