From e67cd355b7aa7418381900ca1b1e7896c17630d0 Mon Sep 17 00:00:00 2001 From: Peter Munch Date: Fri, 3 Apr 2020 23:35:19 +0200 Subject: [PATCH] Add functions accepting hp::DoFHandler to BlockInfo --- include/deal.II/dofs/block_info.h | 20 ++++++++++++++++++++ source/dofs/block_info.cc | 24 ++++++++++++++++++++++++ source/dofs/block_info.inst.in | 14 ++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/include/deal.II/dofs/block_info.h b/include/deal.II/dofs/block_info.h index 504c1fd1d3..a31a9991d3 100644 --- a/include/deal.II/dofs/block_info.h +++ b/include/deal.II/dofs/block_info.h @@ -118,6 +118,17 @@ public: bool levels_only = false, bool active_only = false); + /** + * The same as above but for hp::DoFHandler. + * + * @note Not implemented. + */ + template + void + initialize(const hp::DoFHandler &, + bool levels_only = false, + bool active_only = false); + /** * @brief Initialize block structure on cells and compute renumbering * between cell dofs and block cell dofs. @@ -126,6 +137,15 @@ public: void initialize_local(const DoFHandler &); + /** + * The same as above but for hp::DoFHandler. + * + * @note Not implemented. + */ + template + void + initialize_local(const hp::DoFHandler &); + /** * Access the BlockIndices structure of the global system. */ diff --git a/source/dofs/block_info.cc b/source/dofs/block_info.cc index 8475491909..e1e35cfeef 100644 --- a/source/dofs/block_info.cc +++ b/source/dofs/block_info.cc @@ -53,6 +53,21 @@ BlockInfo::initialize(const DoFHandler &dof, } + +template +void +BlockInfo::initialize(const hp::DoFHandler &dof, + bool levels_only, + bool active_only) +{ + AssertThrow(false, ExcNotImplemented()); + (void)dof; + (void)levels_only; + (void)active_only; +} + + + template void BlockInfo::initialize_local(const DoFHandler &dof) @@ -71,6 +86,15 @@ BlockInfo::initialize_local(const DoFHandler &dof) } + +template +void +BlockInfo::initialize_local(const hp::DoFHandler &dof) +{ + AssertThrow(false, ExcNotImplemented()); + (void)dof; +} + // explicit instantiations #include "block_info.inst" diff --git a/source/dofs/block_info.inst.in b/source/dofs/block_info.inst.in index 7896281800..ec0d9623c7 100644 --- a/source/dofs/block_info.inst.in +++ b/source/dofs/block_info.inst.in @@ -20,16 +20,30 @@ for (deal_II_dimension : DIMENSIONS) const DoFHandler &, bool, bool); template void BlockInfo::initialize_local( const DoFHandler &); + template void BlockInfo::initialize( + const hp::DoFHandler &, bool, bool); + template void BlockInfo::initialize_local( + const hp::DoFHandler &); #if deal_II_dimension < 3 template void BlockInfo::initialize( const DoFHandler &, bool, bool); template void BlockInfo::initialize_local( const DoFHandler &); + template void BlockInfo::initialize( + const hp::DoFHandler &, + bool, + bool); + template void BlockInfo::initialize_local( + const hp::DoFHandler &); #endif #if deal_II_dimension == 3 template void BlockInfo::initialize(const DoFHandler<1, 3> &, bool, bool); template void BlockInfo::initialize_local(const DoFHandler<1, 3> &); + template void BlockInfo::initialize(const hp::DoFHandler<1, 3> &, + bool, + bool); + template void BlockInfo::initialize_local(const hp::DoFHandler<1, 3> &); #endif } -- 2.39.5