From aadcd4d405224aad7be67c756eecb7d532cdb3ea Mon Sep 17 00:00:00 2001 From: Simon Sticko Date: Tue, 28 Mar 2017 10:45:45 +0200 Subject: [PATCH] Implement get_interpolation_matrix on FE_Nothing. --- include/deal.II/fe/fe_nothing.h | 10 ++++++++++ source/fe/fe_nothing.cc | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/include/deal.II/fe/fe_nothing.h b/include/deal.II/fe/fe_nothing.h index 34351ef5fe..8c98c12dc3 100644 --- a/include/deal.II/fe/fe_nothing.h +++ b/include/deal.II/fe/fe_nothing.h @@ -215,6 +215,16 @@ public: bool hp_constraints_are_implemented () const; + /** + * Return the matrix interpolating from the given finite element to the + * present one. Since the current finite element has no degrees of freedom, the + * interpolation matrix is necessarily empty. + */ + virtual + void + get_interpolation_matrix (const FiniteElement &source_fe, + FullMatrix &interpolation_matrix) const; + /** * Return the matrix interpolating from a face of of one element to the face * of the neighboring element. The size of the matrix is then diff --git a/source/fe/fe_nothing.cc b/source/fe/fe_nothing.cc index 3ed5782264..9a4fb88165 100644 --- a/source/fe/fe_nothing.cc +++ b/source/fe/fe_nothing.cc @@ -239,6 +239,27 @@ hp_constraints_are_implemented () const } + +template +void +FE_Nothing:: +get_interpolation_matrix (const FiniteElement &/*source_fe*/, + FullMatrix &interpolation_matrix) const +{ + // Since this element has no dofs, + // the interpolation matrix is necessarily empty. + (void)interpolation_matrix; + + Assert (interpolation_matrix.m() == 0, + ExcDimensionMismatch (interpolation_matrix.m(), + 0)); + Assert (interpolation_matrix.n() == 0, + ExcDimensionMismatch (interpolation_matrix.n(), + 0)); +} + + + template void FE_Nothing:: -- 2.39.5