From 48d94f27290e1768ad72f3276ac5f955f86f2d10 Mon Sep 17 00:00:00 2001 From: wolf Date: Tue, 11 Jun 2002 17:00:03 +0000 Subject: [PATCH] Take over Anna's last change to the interpolation matrices. git-svn-id: https://svn.dealii.org/trunk@6068 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/fe/fe_nedelec_3d.cc | 174 ++++++++++++--------- 1 file changed, 100 insertions(+), 74 deletions(-) diff --git a/deal.II/deal.II/source/fe/fe_nedelec_3d.cc b/deal.II/deal.II/source/fe/fe_nedelec_3d.cc index 2b8217cdc4..17e4e3da9c 100644 --- a/deal.II/deal.II/source/fe/fe_nedelec_3d.cc +++ b/deal.II/deal.II/source/fe/fe_nedelec_3d.cc @@ -23,106 +23,133 @@ namespace FE_Nedelec_3d { static const double q1_into_q1_refined_0[] = { - 0 -// 1., 0., 0., 0., 0., 0., 0., 0., -// 13.5/27., 13.5/27., 0., 0., 0., 0., 0., 0., -// 6.75/27., 6.75/27., 6.75/27., 6.75/27., 0., 0., 0., 0., -// 13.5/27., 0., 0., 13.5/27., 0., 0., 0., 0., -// 13.5/27., 0., 0., 0., 13.5/27., 0., 0., 0., -// 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., 0., -// 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., -// 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., + 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0.5, 0., 0.5, 0., 0., 0., 0.,0.,0.,0.,0., + 0.5, 0., 0.5, 0., 0., 0., 0., 0.,0.,0.,0.,0., + 0., 0., 0., 1., 0., 0., 0., 0.,0.,0.,0.,0., + 0.5, 0., 0., 0., 0.5, 0., 0., 0.,0.,0.,0.,0., + 0., 0.25, 0., 0.25, 0., 0.25, 0., 0.25,0.,0.,0.,0., + 0.25, 0., 0.25, 0., 0.25, 0., 0.25, 0.,0.,0.,0.,0., + 0., 0., 0., 0.5, 0., 0., 0., 0.5,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.25, 0.25, 0.25, + 0., 0., 0., 0., 0., 0., 0., 0., 0.5, .0, 0., 0.5, }; static const double q1_into_q1_refined_1[] = { - 0 -// 13.5/27., 13.5/27., 0., 0., 0., 0., 0., 0., -// 0., 1., 0., 0., 0., 0., 0., 0., -// 0., 13.5/27., 13.5/27., 0., 0., 0., 0., 0., -// 6.75/27., 6.75/27., 6.75/27., 6.75/27., 0., 0., 0., 0., -// 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., 0., -// 0., 13.5/27., 0., 0., 0., 13.5/27., 0., 0., -// 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., -// 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., + 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0.5, 0., 0.5, 0., 0., 0., 0., 0.,0.,0.,0.,0., + 0., 0.5, 0., 0.5, 0., 0., 0., 0.,0.,0.,0.,0., + 0.5, 0., 0., 0., 0.5, 0., 0., 0.,0.,0.,0.,0., + 0., 0.5, 0., 0., 0., 0.5, 0., 0.,0.,0.,0.,0., + 0.25, 0., 0.25, 0., 0.25, 0., 0.25, 0.,0.,0.,0.,0., + 0., 0.25, 0., 0.25, 0., 0.25, 0., 0.25,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.25, 0.25, 0.25, }; static const double q1_into_q1_refined_2[] = { - 0 -// 6.75/27., 6.75/27., 6.75/27., 6.75/27., 0., 0., 0., 0., -// 0., 13.5/27., 13.5/27., 0., 0., 0., 0., 0., -// 0., 0., 1., 0., 0., 0., 0., 0., -// 0., 0., 13.5/27., 13.5/27., 0., 0., 0., 0., -// 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., -// 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., -// 0., 0., 13.5/27., 0., 0., 0., 13.5/27., 0., -// 0., 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., + 0.5, 0., 0.5, 0., 0., 0., 0., 0.,0.,0.,0.,0., + 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0.5, 0., 0.5, 0., 0., 0., 0.,0.,0.,0.,0., + 0.25, 0., 0.25, 0., 0.25, 0., 0.25, 0.,0.,0.,0.,0., + 0., 0.5, 0., 0., 0., 0.5, 0., 0.,0.,0.,0.,0., + 0., 0., 0.5, 0., 0., 0., 0.5, 0.,0.,0.,0.,0., + 0., 0.25, 0., 0.25, 0., 0.25, 0., 0.25,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.25, 0.25, 0.25, + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, }; static const double q1_into_q1_refined_3[] = { - 0 -// 13.5/27., 0., 0., 13.5/27., 0., 0., 0., 0., -// 6.75/27., 6.75/27., 6.75/27., 6.75/27., 0., 0., 0., 0., -// 0., 0., 13.5/27., 13.5/27., 0., 0., 0., 0., -// 0., 0., 0., 1., 0., 0., 0., 0., -// 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., -// 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., -// 0., 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., -// 0., 0., 0., 13.5/27., 0., 0., 0., 13.5/27., + 0.5, 0., 0.5, 0., 0., 0., 0., 0.,0.,0.,0.,0., + 0., 0.5, 0., 0.5, 0., 0., 0., 0.,0.,0.,0.,0., + 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., + 0.25, 0., 0.25, 0., 0.25, 0., 0.25, 0.,0.,0.,0.,0., + 0., 0.25, 0., 0.25, 0., 0.25, 0., 0.25,0.,0.,0.,0., + 0., 0., 0.5, 0., 0., 0., 0.5, 0.,0.,0.,0.,0., + 0., 0., 0., 0.5, 0., 0., 0., 0.5,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0., 0., 0.,0.5,0.,0.,0.5, + 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.25, 0.25, 0.25, + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., }; static const double q1_into_q1_refined_4[] = { - 0 -// 13.5/27., 0., 0., 0., 13.5/27., 0., 0., 0., -// 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., 0., -// 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., -// 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., -// 0., 0., 0., 0., 1., 0., 0., 0., -// 0., 0., 0., 0., 13.5/27., 13.5/27., 0., 0., -// 0., 0., 0., 0., 6.75/27., 6.75/27., 6.75/27., 6.75/27., -// 0., 0., 0., 0., 13.5/27., 0., 0., 13.5/27., + 0.5, 0., 0., 0., 0.5, 0., 0., 0.,0.,0.,0.,0., + 0., 0.25, 0., 0.25, 0., 0.25, 0., 0.25,0.,0.,0.,0., + 0.25, 0., 0.25, 0., 0.25, 0., 0.25, 0.,0.,0.,0.,0., + 0., 0., 0., 0.5, 0., 0., 0., 0.5, 0., 0., 0., 0., + 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0.5, 0., 0.5,0.,0.,0.,0., + 0., 0., 0., 0., 0.5, 0., 0.5, 0.,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.25, 0.25, 0.25, + 0., 0., 0., 0., 0., 0., 0., 0.,0.5,0.,0.,0.5, }; static const double q1_into_q1_refined_5[] = - { - 0 -// 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., 0., -// 0., 13.5/27., 0., 0., 0., 13.5/27., 0., 0., -// 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., -// 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., -// 0., 0., 0., 0., 13.5/27., 13.5/27., 0., 0., -// 0., 0., 0., 0., 0., 1., 0., 0., -// 0., 0., 0., 0., 0., 13.5/27., 13.5/27., 0., -// 0., 0., 0., 0., 6.75/27., 6.75/27., 6.75/27., 6.75/27., + { + 0.5, 0., 0., 0., 0.5, 0., 0., 0.,0.,0.,0.,0., + 0., 0.5, 0., 0., 0., 0.5, 0., 0.,0.,0.,0.,0., + 0.25, 0., 0.25, 0., 0.25, 0., 0.25, 0.,0.,0.,0.,0., + 0., 0.25, 0., 0.25, 0., 0.25, 0., 0.25,0.,0.,0.,0., + 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0.5, 0., 0.5, 0.,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0.5, 0., 0.5,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.25, 0.25, 0.25, + }; static const double q1_into_q1_refined_6[] = { - 0 -// 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., -// 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., -// 0., 0., 13.5/27., 0., 0., 0., 13.5/27., 0., -// 0., 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., -// 0., 0., 0., 0., 6.75/27., 6.75/27., 6.75/27., 6.75/27., -// 0., 0., 0., 0., 0., 13.5/27., 13.5/27., 0., -// 0., 0., 0., 0., 0., 0., 1., 0., -// 0., 0., 0., 0., 0., 0., 13.5/27., 13.5/27., + 0.25, 0., 0.25, 0., 0.25, 0., 0.25, 0.,0.,0.,0.,0., + 0., 0.5, 0., 0., 0., 0.5, 0., 0.,0.,0.,0.,0., + 0., 0., 0.5, 0., 0., 0., 0.5, 0.,0.,0.,0.,0., + 0., 0.25, 0., 0.25, 0., 0.25, 0., 0.25,0.,0.,0.,0., + 0., 0., 0., 0., 0.5, 0., 0.5, 0.,0.,0.,0.,0., + 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0.5, 0., 0.5, 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.25, 0.25, 0.25, + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, + + }; static const double q1_into_q1_refined_7[] = { - 0 -// 6.75/27., 0., 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., -// 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., 3.375/27., -// 0., 0., 6.75/27., 6.75/27., 0., 0., 6.75/27., 6.75/27., -// 0., 0., 0., 13.5/27., 0., 0., 0., 13.5/27., -// 0., 0., 0., 0., 13.5/27., 0., 0., 13.5/27., -// 0., 0., 0., 0., 6.75/27., 6.75/27., 6.75/27., 6.75/27., -// 0., 0., 0., 0., 0., 0., 13.5/27., 13.5/27., -// 0., 0., 0., 0., 0., 0., 0., 1., + 0.25, 0., 0.25, 0., 0.25, 0., 0.25, 0.,0.,0.,0.,0., + 0., 0.25, 0., 0.25, 0., 0.25, 0., 0.25,0.,0.,0.,0., + 0., 0., 0.5, 0., 0., 0., 0.5, 0.,0.,0.,0.,0., + 0., 0., 0., 0.5, 0., 0., 0., 0.5,0.,0.,0.,0., + 0., 0., 0., 0., 0.5, 0., 0.5, 0.,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0.5, 0., 0.5,0.,0.,0.,0., + 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0., 0., 0.5, + 0., 0., 0., 0., 0., 0., 0., 0., 0.25, 0.25, 0.25, 0.25, + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.5, 0.5, + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.1, }; }; // namespace FE_Nedelec_3d @@ -155,7 +182,6 @@ namespace FE_Nedelec_3d { static const double constraint_q1[] = { - 0 //TODO[WB] // .25,.25,.25,.25, // .5,.5,0.,0., -- 2.39.5