From: Dominik Still Date: Fri, 5 Jul 2024 11:59:44 +0000 (+0200) Subject: Add support for integrations on simplex unit support points X-Git-Tag: v9.6.0-rc1~127^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ba096de7b5dadf863fa3e3963510eded69750ad;p=dealii.git Add support for integrations on simplex unit support points --- diff --git a/include/deal.II/matrix_free/util.h b/include/deal.II/matrix_free/util.h index a78eb78ffb..532740af5e 100644 --- a/include/deal.II/matrix_free/util.h +++ b/include/deal.II/matrix_free/util.h @@ -22,6 +22,8 @@ #include #include +#include + #include #include @@ -56,6 +58,15 @@ namespace internal return {ReferenceCells::get_simplex(), dealii::hp::QCollection( QWitherdenVincentSimplex(i))}; + + for (unsigned int i = 1; i <= 3; ++i) + { + FE_SimplexP fe(i); + if (quad == Quadrature(fe.get_unit_support_points())) + return {ReferenceCells::get_simplex(), + dealii::hp::QCollection(Quadrature( + fe.get_unit_face_support_points()))}; + } } if (dim == 3) @@ -138,6 +149,22 @@ namespace internal return {Quadrature(), QWitherdenVincentSimplex(i)}; } + + for (unsigned int i = 1; i <= 3; ++i) + { + FE_SimplexP fe(i); + if (quad == Quadrature(fe.get_unit_support_points())) + { + if (dim == 2) + return {Quadrature( + fe.get_unit_face_support_points()), // line! + Quadrature()}; + else + return {Quadrature(), + Quadrature( + fe.get_unit_face_support_points())}; + } + } } if (dim == 3)