From: Simon Sticko Date: Tue, 28 Mar 2017 08:45:45 +0000 (+0200) Subject: Implement get_interpolation_matrix on FE_Nothing. X-Git-Tag: v9.0.0-rc1~1773^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F4126%2Fhead;p=dealii.git Implement get_interpolation_matrix on FE_Nothing. --- 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::