From 4bd969d56bac4056c94927b67990c96405b19442 Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Wed, 7 Aug 2013 15:49:33 +0000 Subject: [PATCH] Tests for face interpolation in FE_FaceQ git-svn-id: https://svn.dealii.org/trunk@30248 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/source/fe/fe_face.cc | 10 ++++------ deal.II/source/fe/fe_q_base.cc | 6 ++---- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/deal.II/source/fe/fe_face.cc b/deal.II/source/fe/fe_face.cc index 30c23b4c26..63f7ea6738 100644 --- a/deal.II/source/fe/fe_face.cc +++ b/deal.II/source/fe/fe_face.cc @@ -162,7 +162,7 @@ get_face_interpolation_matrix (const FiniteElement &x_source_fe, // Rule of thumb for FP accuracy, that can be expected for a given // polynomial degree. This value is used to cut off values close to zero. - const double eps = 2e-13*this->degree*(dim-1); + const double eps = 2e-13*(this->degree+1)*(dim-1); // compute the interpolation matrix by simply taking the value at the // support points. @@ -195,8 +195,7 @@ get_face_interpolation_matrix (const FiniteElement &x_source_fe, for (unsigned int i=0; idofs_per_face; ++i) sum += interpolation_matrix(j,i); - Assert (std::fabs(sum-1) < 2e-13*this->degree*(dim-1), - ExcInternalError()); + Assert (std::fabs(sum-1) < eps, ExcInternalError()); } } @@ -238,7 +237,7 @@ get_subface_interpolation_matrix (const FiniteElement &x_source_fe // Rule of thumb for FP accuracy, that can be expected for a given // polynomial degree. This value is used to cut off values close to // zero. - const double eps = 2e-13*this->degree*(dim-1); + const double eps = 2e-13*(this->degree+1)*(dim-1); // compute the interpolation matrix by simply taking the value at the // support points. @@ -273,8 +272,7 @@ get_subface_interpolation_matrix (const FiniteElement &x_source_fe for (unsigned int i=0; idofs_per_face; ++i) sum += interpolation_matrix(j,i); - Assert (std::fabs(sum-1) < 2e-13*this->degree*(dim-1), - ExcInternalError()); + Assert (std::fabs(sum-1) < eps, ExcInternalError()); } } else if (dynamic_cast *>(&x_source_fe) != 0) diff --git a/deal.II/source/fe/fe_q_base.cc b/deal.II/source/fe/fe_q_base.cc index 2540d1cfdc..71b776635c 100644 --- a/deal.II/source/fe/fe_q_base.cc +++ b/deal.II/source/fe/fe_q_base.cc @@ -606,8 +606,7 @@ get_face_interpolation_matrix (const FiniteElement &x_source_fe, for (unsigned int i=0; idofs_per_face; ++i) sum += interpolation_matrix(j,i); - Assert (std::fabs(sum-1) < 2e-13*this->degree*(dim-1), - ExcInternalError()); + Assert (std::fabs(sum-1) < eps, ExcInternalError()); } } @@ -688,8 +687,7 @@ get_subface_interpolation_matrix (const FiniteElement &x_source_fe for (unsigned int i=0; idofs_per_face; ++i) sum += interpolation_matrix(j,i); - Assert (std::fabs(sum-1) < 2e-13*this->degree*dim, - ExcInternalError()); + Assert (std::fabs(sum-1) < eps, ExcInternalError()); } } else if (dynamic_cast *>(&x_source_fe) != 0) -- 2.39.5