From 79f75a4fe3201d748fdfb18985d0e762297bc007 Mon Sep 17 00:00:00 2001 From: David Wells Date: Wed, 25 Jun 2025 23:25:17 -0400 Subject: [PATCH] ReferenceCell: make MappingP1 the default. --- doc/news/changes/major/20250626Wells | 7 +++++++ source/grid/reference_cell.cc | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 doc/news/changes/major/20250626Wells diff --git a/doc/news/changes/major/20250626Wells b/doc/news/changes/major/20250626Wells new file mode 100644 index 0000000000..0173831e97 --- /dev/null +++ b/doc/news/changes/major/20250626Wells @@ -0,0 +1,7 @@ +New: Added a new class MappingP1, which is now the default linear simplex mapping +(i.e., it is the mapping returned by ReferenceCell::get_default_linear_mapping()). +This mapping is significantly more efficient than MappingFE for linear simplex +elements: e.g., Mapping::fill_fe_values() is about 6x faster in a simple load +vector benchmark. +
+(David Wells, 2025/06/26) diff --git a/source/grid/reference_cell.cc b/source/grid/reference_cell.cc index 264355627e..d1ab57279c 100644 --- a/source/grid/reference_cell.cc +++ b/source/grid/reference_cell.cc @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -295,8 +296,7 @@ ReferenceCell::get_default_linear_mapping() const } else if (is_simplex()) { - static const MappingFE mapping( - FE_SimplexP(1)); + static const MappingP1 mapping; return mapping; } else if (*this == ReferenceCells::Pyramid) -- 2.39.5