From: wolf Date: Wed, 7 Mar 2001 15:08:18 +0000 (+0000) Subject: Enclosing names that are the same in all space dims into unique X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd6726ff69e2a0c204af6285fe9d663fcf6206fa;p=dealii-svn.git Enclosing names that are the same in all space dims into unique namespaces to avoid name clashes. git-svn-id: https://svn.dealii.org/trunk@4147 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/fe/mat_q.1 b/deal.II/deal.II/source/fe/mat_q.1 index 5f8ab47dcb..187daae24c 100644 --- a/deal.II/deal.II/source/fe/mat_q.1 +++ b/deal.II/deal.II/source/fe/mat_q.1 @@ -11,67 +11,72 @@ // //---------------------------------------------------------------- -// Transfer matrices for finite elements - -static const double q1_into_q1_refined_0[] = -{ - 1., 0., - 13.5/27., 13.5/27., -}; - -static const double q1_into_q1_refined_1[] = -{ - 13.5/27., 13.5/27., - 0., 1., -}; - -static const double q2_into_q2_refined_0[] = -{ - 1., 0., 0., - 0., 0., 1., - 10.125/27., -3.375/27., 20.25/27., -}; -static const double q2_into_q2_refined_1[] = -{ - 0., 0., 1., - 0., 1., 0., - -3.375/27., 10.125/27., 20.25/27., -}; -static const double q3_into_q3_refined_0[] = -{ - 1., 0., 0., 0., - -1.6875/27., -1.6875/27., 15.1875/27., 15.1875/27., - 8.4375/27., 1.6875/27., 25.3125/27., -8.4375/27., - 0., 0., 1., 0. -}; - -static const double q3_into_q3_refined_1[] = -{ - -1.6875/27., -1.6875/27., 15.1875/27., 15.1875/27., - 0., 1., 0., 0., - 0., 0., 0., 1., - 1.6875/27., 8.4375/27., -8.4375/27., 25.3125/27., -}; - -static const double q4_into_q4_refined_0[] = -{ - 1., 0., 0., 0., 0., - 0., 0., 0., 1., 0., - 7.3828125/27., -1.0546875/27., 29.53125/27., -14.765625/27., 5.90625/27., - 0., 0., 1., 0., 0., - -1.0546875/27., 0.6328125/27., 12.65625/27., 18.984375/27., -4.21875/27., -}; +// Transfer matrices for finite elements -static const double q4_into_q4_refined_1[] = -{ - 0., 0., 0., 1., 0., - 0., 1., 0., 0., 0., - 0.6328125/27., -1.0546875/27., -4.21875/27., 18.984375/27., 12.65625/27., - 0., 0., 0., 0., 1., - -1.0546875/27., 7.3828125/27., 5.90625/27., -14.765625/27., 29.53125/27., -}; +namespace FE_Q_1d { + static const double q1_into_q1_refined_0[] = + { + 1., 0., + 13.5/27., 13.5/27., + }; + + static const double q1_into_q1_refined_1[] = + { + 13.5/27., 13.5/27., + 0., 1., + }; + + static const double q2_into_q2_refined_0[] = + { + 1., 0., 0., + 0., 0., 1., + 10.125/27., -3.375/27., 20.25/27., + }; + + static const double q2_into_q2_refined_1[] = + { + 0., 0., 1., + 0., 1., 0., + -3.375/27., 10.125/27., 20.25/27., + }; + + static const double q3_into_q3_refined_0[] = + { + 1., 0., 0., 0., + -1.6875/27., -1.6875/27., 15.1875/27., 15.1875/27., + 8.4375/27., 1.6875/27., 25.3125/27., -8.4375/27., + 0., 0., 1., 0. + }; + + static const double q3_into_q3_refined_1[] = + { + -1.6875/27., -1.6875/27., 15.1875/27., 15.1875/27., + 0., 1., 0., 0., + 0., 0., 0., 1., + 1.6875/27., 8.4375/27., -8.4375/27., 25.3125/27., + }; + + static const double q4_into_q4_refined_0[] = + { + 1., 0., 0., 0., 0., + 0., 0., 0., 1., 0., + 7.3828125/27., -1.0546875/27., 29.53125/27., -14.765625/27., 5.90625/27., + 0., 0., 1., 0., 0., + -1.0546875/27., 0.6328125/27., 12.65625/27., 18.984375/27., -4.21875/27., + }; + + static const double q4_into_q4_refined_1[] = + { + 0., 0., 0., 1., 0., + 0., 1., 0., 0., 0., + 0.6328125/27., -1.0546875/27., -4.21875/27., 18.984375/27., 12.65625/27., + 0., 0., 0., 0., 1., + -1.0546875/27., 7.3828125/27., 5.90625/27., -14.765625/27., 29.53125/27., + }; + +}; // namespace FE_Q_1d @@ -83,10 +88,10 @@ const unsigned int FE_Q<1>::Matrices::n_embedding_matrices = 4; const double * const FE_Q<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell] = { - {q1_into_q1_refined_0, q1_into_q1_refined_1}, - {q2_into_q2_refined_0, q2_into_q2_refined_1}, - {q3_into_q3_refined_0, q3_into_q3_refined_1}, - {q4_into_q4_refined_0, q4_into_q4_refined_1}, + {FE_Q_1d::q1_into_q1_refined_0, FE_Q_1d::q1_into_q1_refined_1}, + {FE_Q_1d::q2_into_q2_refined_0, FE_Q_1d::q2_into_q2_refined_1}, + {FE_Q_1d::q3_into_q3_refined_0, FE_Q_1d::q3_into_q3_refined_1}, + {FE_Q_1d::q4_into_q4_refined_0, FE_Q_1d::q4_into_q4_refined_1}, }; diff --git a/deal.II/deal.II/source/fe/mat_q.2 b/deal.II/deal.II/source/fe/mat_q.2 index c52d9cc7bd..b591a0618e 100644 --- a/deal.II/deal.II/source/fe/mat_q.2 +++ b/deal.II/deal.II/source/fe/mat_q.2 @@ -13,169 +13,172 @@ // Transfer matrices for finite elements -static const double q1_into_q1_refined_0[] = -{ - 1., 0., 0., 0., - 13.5/27., 13.5/27., 0., 0., - 6.75/27., 6.75/27., 6.75/27., 6.75/27., - 13.5/27., 0., 0., 13.5/27., -}; - -static const double q1_into_q1_refined_1[] = -{ - 13.5/27., 13.5/27., 0., 0., - 0., 1., 0., 0., - 0., 13.5/27., 13.5/27., 0., - 6.75/27., 6.75/27., 6.75/27., 6.75/27., -}; - -static const double q1_into_q1_refined_2[] = -{ - 6.75/27., 6.75/27., 6.75/27., 6.75/27., - 0., 13.5/27., 13.5/27., 0., - 0., 0., 1., 0., - 0., 0., 13.5/27., 13.5/27., -}; - -static const double q1_into_q1_refined_3[] = -{ - 13.5/27., 0., 0., 13.5/27., - 6.75/27., 6.75/27., 6.75/27., 6.75/27., - 0., 0., 13.5/27., 13.5/27., - 0., 0., 0., 1., -}; - -static const double q2_into_q2_refined_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., 1., - 0., 0., 0., 0., 0., 0., 0., 1., 0., - 10.125/27., -3.375/27., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., - 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., - 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 20.25/27., 0., - 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 15.1875/27., -}; - -static const double q2_into_q2_refined_1[] = -{ - 0., 0., 0., 0., 1., 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., 1., - -3.375/27., 10.125/27., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 10.125/27., -3.375/27., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., - 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., - -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 15.1875/27., -}; - -static const double q2_into_q2_refined_2[] = -{ - 0., 0., 0., 0., 0., 0., 0., 0., 1., - 0., 0., 0., 0., 0., 1., 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., 10.125/27., 0., -3.375/27., 20.25/27., - 0., -3.375/27., 10.125/27., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 10.125/27., -3.375/27., 0., 0., 20.25/27., 0., 0., - 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., - 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 15.1875/27., -}; - -static const double q2_into_q2_refined_3[] = -{ - 0., 0., 0., 0., 0., 0., 0., 1., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 1., - 0., 0., 0., 0., 0., 0., 1., 0., 0., - 0., 0., 0., 1., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., - 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., - 0., 0., -3.375/27., 10.125/27., 0., 0., 20.25/27., 0., 0., - -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 20.25/27., 0., - -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 15.1875/27., -}; - -static const double q3_into_q3_refined_0[] = -{ - 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -1.6875/27., -1.6875/27., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0.10546875/27., 0.10546875/27., 0.10546875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., - -1.6875/27., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., - 8.4375/27., 1.6875/27., 0., 0., 25.3125/27., -8.4375/27., 0., 0., 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.52734375/27., -0.52734375/27., -0.10546875/27., -0.10546875/27., 4.74609375/27., 4.74609375/27., -1.58203125/27., 0.52734375/27., 0.94921875/27., 0.94921875/27., -1.58203125/27., 0.52734375/27., 14.23828125/27., 14.23828125/27., -4.74609375/27., -4.74609375/27., - 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 15.1875/27., 15.1875/27., 0., 0., - -0.52734375/27., -0.10546875/27., -0.10546875/27., -0.52734375/27., -1.58203125/27., 0.52734375/27., 0.94921875/27., 0.94921875/27., -1.58203125/27., 0.52734375/27., 4.74609375/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 14.23828125/27., -4.74609375/27., - 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 15.1875/27., 0., - 8.4375/27., 0., 0., 1.6875/27., 0., 0., 0., 0., 0., 0., 25.3125/27., -8.4375/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., - 2.63671875/27., 0.52734375/27., 0.10546875/27., 0.52734375/27., 7.91015625/27., -2.63671875/27., 1.58203125/27., -0.52734375/27., 1.58203125/27., -0.52734375/27., 7.91015625/27., -2.63671875/27., 23.73046875/27., -7.91015625/27., -7.91015625/27., 2.63671875/27., - 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 1.6875/27., 0., 0., 0., 25.3125/27., 0., -8.4375/27., 0., - 0., 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 8.4375/27., 0., 25.3125/27., -8.4375/27., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., -}; - -static const double q3_into_q3_refined_1[] = -{ - -1.6875/27., -1.6875/27., 0., 0., 15.1875/27., 15.1875/27., 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., 0., - 0., -1.6875/27., -1.6875/27., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0.10546875/27., 0.10546875/27., 0.10546875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., - 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 1.6875/27., 8.4375/27., 0., 0., -8.4375/27., 25.3125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 8.4375/27., 1.6875/27., 0., 0., 0., 25.3125/27., -8.4375/27., 0., 0., 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., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 15.1875/27., - -0.10546875/27., -0.52734375/27., -0.52734375/27., -0.10546875/27., 0.52734375/27., -1.58203125/27., 4.74609375/27., 4.74609375/27., 0.52734375/27., -1.58203125/27., 0.94921875/27., 0.94921875/27., -4.74609375/27., 14.23828125/27., -4.74609375/27., 14.23828125/27., - -0.52734375/27., -0.52734375/27., -0.10546875/27., -0.10546875/27., 4.74609375/27., 4.74609375/27., -1.58203125/27., 0.52734375/27., 0.94921875/27., 0.94921875/27., -1.58203125/27., 0.52734375/27., 14.23828125/27., 14.23828125/27., -4.74609375/27., -4.74609375/27., - 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 15.1875/27., 15.1875/27., 0., 0., - 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 1.6875/27., 0., 0., 0., 25.3125/27., 0., -8.4375/27., - 0.52734375/27., 2.63671875/27., 0.52734375/27., 0.10546875/27., -2.63671875/27., 7.91015625/27., 7.91015625/27., -2.63671875/27., -0.52734375/27., 1.58203125/27., 1.58203125/27., -0.52734375/27., -7.91015625/27., 23.73046875/27., 2.63671875/27., -7.91015625/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., - 0., 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 1.6875/27., 0., -8.4375/27., 25.3125/27., 0., 0., -}; - -static const double q3_into_q3_refined_2[] = -{ - 0.10546875/27., 0.10546875/27., 0.10546875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., - 0., -1.6875/27., -1.6875/27., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., -1.6875/27., -1.6875/27., 0., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 15.1875/27., - -0.10546875/27., -0.52734375/27., -0.52734375/27., -0.10546875/27., 0.52734375/27., -1.58203125/27., 4.74609375/27., 4.74609375/27., 0.52734375/27., -1.58203125/27., 0.94921875/27., 0.94921875/27., -4.74609375/27., 14.23828125/27., -4.74609375/27., 14.23828125/27., - 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 1.6875/27., 8.4375/27., 0., 0., 0., -8.4375/27., 25.3125/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., - 0., 0., 8.4375/27., 1.6875/27., 0., 0., 0., 0., -8.4375/27., 25.3125/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 15.1875/27., 15.1875/27., - -0.10546875/27., -0.10546875/27., -0.52734375/27., -0.52734375/27., 0.94921875/27., 0.94921875/27., 0.52734375/27., -1.58203125/27., 4.74609375/27., 4.74609375/27., 0.52734375/27., -1.58203125/27., -4.74609375/27., -4.74609375/27., 14.23828125/27., 14.23828125/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., - 0., 0., 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 1.6875/27., 0., 0., -8.4375/27., 25.3125/27., - 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 8.4375/27., 0., 0., 0., -8.4375/27., 0., 25.3125/27., - 0.10546875/27., 0.52734375/27., 2.63671875/27., 0.52734375/27., -0.52734375/27., 1.58203125/27., -2.63671875/27., 7.91015625/27., -2.63671875/27., 7.91015625/27., -0.52734375/27., 1.58203125/27., 2.63671875/27., -7.91015625/27., -7.91015625/27., 23.73046875/27., -}; - -static const double q3_into_q3_refined_3[] = -{ - -1.6875/27., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., - 0.10546875/27., 0.10546875/27., 0.10546875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., - 0., 0., -1.6875/27., -1.6875/27., 0., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -0.52734375/27., -0.10546875/27., -0.10546875/27., -0.52734375/27., -1.58203125/27., 0.52734375/27., 0.94921875/27., 0.94921875/27., -1.58203125/27., 0.52734375/27., 4.74609375/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 14.23828125/27., -4.74609375/27., - 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 15.1875/27., 0., - 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 15.1875/27., 15.1875/27., - -0.10546875/27., -0.10546875/27., -0.52734375/27., -0.52734375/27., 0.94921875/27., 0.94921875/27., 0.52734375/27., -1.58203125/27., 4.74609375/27., 4.74609375/27., 0.52734375/27., -1.58203125/27., -4.74609375/27., -4.74609375/27., 14.23828125/27., 14.23828125/27., - 0., 0., 1.6875/27., 8.4375/27., 0., 0., 0., 0., 25.3125/27., -8.4375/27., 0., 0., 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., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., - 1.6875/27., 0., 0., 8.4375/27., 0., 0., 0., 0., 0., 0., -8.4375/27., 25.3125/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 8.4375/27., 0., 0., 25.3125/27., -8.4375/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., - 0.52734375/27., 0.10546875/27., 0.52734375/27., 2.63671875/27., 1.58203125/27., -0.52734375/27., -0.52734375/27., 1.58203125/27., 7.91015625/27., -2.63671875/27., -2.63671875/27., 7.91015625/27., -7.91015625/27., 2.63671875/27., 23.73046875/27., -7.91015625/27., - 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 8.4375/27., 0., 0., 0., -8.4375/27., 0., 25.3125/27., 0., -}; +namespace FE_Q_2d { + static const double q1_into_q1_refined_0[] = + { + 1., 0., 0., 0., + 13.5/27., 13.5/27., 0., 0., + 6.75/27., 6.75/27., 6.75/27., 6.75/27., + 13.5/27., 0., 0., 13.5/27., + }; + + static const double q1_into_q1_refined_1[] = + { + 13.5/27., 13.5/27., 0., 0., + 0., 1., 0., 0., + 0., 13.5/27., 13.5/27., 0., + 6.75/27., 6.75/27., 6.75/27., 6.75/27., + }; + + static const double q1_into_q1_refined_2[] = + { + 6.75/27., 6.75/27., 6.75/27., 6.75/27., + 0., 13.5/27., 13.5/27., 0., + 0., 0., 1., 0., + 0., 0., 13.5/27., 13.5/27., + }; + + static const double q1_into_q1_refined_3[] = + { + 13.5/27., 0., 0., 13.5/27., + 6.75/27., 6.75/27., 6.75/27., 6.75/27., + 0., 0., 13.5/27., 13.5/27., + 0., 0., 0., 1., + }; + + static const double q2_into_q2_refined_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., 1., + 0., 0., 0., 0., 0., 0., 0., 1., 0., + 10.125/27., -3.375/27., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., + 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., + 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 20.25/27., 0., + 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 15.1875/27., + }; + + static const double q2_into_q2_refined_1[] = + { + 0., 0., 0., 0., 1., 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., 1., + -3.375/27., 10.125/27., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 10.125/27., -3.375/27., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., + 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., + -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 15.1875/27., + }; + + static const double q2_into_q2_refined_2[] = + { + 0., 0., 0., 0., 0., 0., 0., 0., 1., + 0., 0., 0., 0., 0., 1., 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., 10.125/27., 0., -3.375/27., 20.25/27., + 0., -3.375/27., 10.125/27., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 10.125/27., -3.375/27., 0., 0., 20.25/27., 0., 0., + 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., + 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 15.1875/27., + }; + + static const double q2_into_q2_refined_3[] = + { + 0., 0., 0., 0., 0., 0., 0., 1., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 1., + 0., 0., 0., 0., 0., 0., 1., 0., 0., + 0., 0., 0., 1., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., + 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., + 0., 0., -3.375/27., 10.125/27., 0., 0., 20.25/27., 0., 0., + -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 20.25/27., 0., + -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 15.1875/27., + }; + + static const double q3_into_q3_refined_0[] = + { + 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + -1.6875/27., -1.6875/27., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0.10546875/27., 0.10546875/27., 0.10546875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., + -1.6875/27., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., + 8.4375/27., 1.6875/27., 0., 0., 25.3125/27., -8.4375/27., 0., 0., 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.52734375/27., -0.52734375/27., -0.10546875/27., -0.10546875/27., 4.74609375/27., 4.74609375/27., -1.58203125/27., 0.52734375/27., 0.94921875/27., 0.94921875/27., -1.58203125/27., 0.52734375/27., 14.23828125/27., 14.23828125/27., -4.74609375/27., -4.74609375/27., + 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 15.1875/27., 15.1875/27., 0., 0., + -0.52734375/27., -0.10546875/27., -0.10546875/27., -0.52734375/27., -1.58203125/27., 0.52734375/27., 0.94921875/27., 0.94921875/27., -1.58203125/27., 0.52734375/27., 4.74609375/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 14.23828125/27., -4.74609375/27., + 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 15.1875/27., 0., + 8.4375/27., 0., 0., 1.6875/27., 0., 0., 0., 0., 0., 0., 25.3125/27., -8.4375/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., + 2.63671875/27., 0.52734375/27., 0.10546875/27., 0.52734375/27., 7.91015625/27., -2.63671875/27., 1.58203125/27., -0.52734375/27., 1.58203125/27., -0.52734375/27., 7.91015625/27., -2.63671875/27., 23.73046875/27., -7.91015625/27., -7.91015625/27., 2.63671875/27., + 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 1.6875/27., 0., 0., 0., 25.3125/27., 0., -8.4375/27., 0., + 0., 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 8.4375/27., 0., 25.3125/27., -8.4375/27., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., + }; + + static const double q3_into_q3_refined_1[] = + { + -1.6875/27., -1.6875/27., 0., 0., 15.1875/27., 15.1875/27., 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., 0., + 0., -1.6875/27., -1.6875/27., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., + 0.10546875/27., 0.10546875/27., 0.10546875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., + 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 1.6875/27., 8.4375/27., 0., 0., -8.4375/27., 25.3125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 8.4375/27., 1.6875/27., 0., 0., 0., 25.3125/27., -8.4375/27., 0., 0., 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., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 15.1875/27., + -0.10546875/27., -0.52734375/27., -0.52734375/27., -0.10546875/27., 0.52734375/27., -1.58203125/27., 4.74609375/27., 4.74609375/27., 0.52734375/27., -1.58203125/27., 0.94921875/27., 0.94921875/27., -4.74609375/27., 14.23828125/27., -4.74609375/27., 14.23828125/27., + -0.52734375/27., -0.52734375/27., -0.10546875/27., -0.10546875/27., 4.74609375/27., 4.74609375/27., -1.58203125/27., 0.52734375/27., 0.94921875/27., 0.94921875/27., -1.58203125/27., 0.52734375/27., 14.23828125/27., 14.23828125/27., -4.74609375/27., -4.74609375/27., + 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 15.1875/27., 15.1875/27., 0., 0., + 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 1.6875/27., 0., 0., 0., 25.3125/27., 0., -8.4375/27., + 0.52734375/27., 2.63671875/27., 0.52734375/27., 0.10546875/27., -2.63671875/27., 7.91015625/27., 7.91015625/27., -2.63671875/27., -0.52734375/27., 1.58203125/27., 1.58203125/27., -0.52734375/27., -7.91015625/27., 23.73046875/27., 2.63671875/27., -7.91015625/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., + 0., 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 1.6875/27., 0., -8.4375/27., 25.3125/27., 0., 0., + }; + + static const double q3_into_q3_refined_2[] = + { + 0.10546875/27., 0.10546875/27., 0.10546875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., + 0., -1.6875/27., -1.6875/27., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., -1.6875/27., -1.6875/27., 0., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 15.1875/27., + -0.10546875/27., -0.52734375/27., -0.52734375/27., -0.10546875/27., 0.52734375/27., -1.58203125/27., 4.74609375/27., 4.74609375/27., 0.52734375/27., -1.58203125/27., 0.94921875/27., 0.94921875/27., -4.74609375/27., 14.23828125/27., -4.74609375/27., 14.23828125/27., + 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 1.6875/27., 8.4375/27., 0., 0., 0., -8.4375/27., 25.3125/27., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., + 0., 0., 8.4375/27., 1.6875/27., 0., 0., 0., 0., -8.4375/27., 25.3125/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 15.1875/27., 15.1875/27., + -0.10546875/27., -0.10546875/27., -0.52734375/27., -0.52734375/27., 0.94921875/27., 0.94921875/27., 0.52734375/27., -1.58203125/27., 4.74609375/27., 4.74609375/27., 0.52734375/27., -1.58203125/27., -4.74609375/27., -4.74609375/27., 14.23828125/27., 14.23828125/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., + 0., 0., 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 1.6875/27., 0., 0., -8.4375/27., 25.3125/27., + 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 8.4375/27., 0., 0., 0., -8.4375/27., 0., 25.3125/27., + 0.10546875/27., 0.52734375/27., 2.63671875/27., 0.52734375/27., -0.52734375/27., 1.58203125/27., -2.63671875/27., 7.91015625/27., -2.63671875/27., 7.91015625/27., -0.52734375/27., 1.58203125/27., 2.63671875/27., -7.91015625/27., -7.91015625/27., 23.73046875/27., + }; + + static const double q3_into_q3_refined_3[] = + { + -1.6875/27., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., + 0.10546875/27., 0.10546875/27., 0.10546875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., 8.54296875/27., + 0., 0., -1.6875/27., -1.6875/27., 0., 0., 0., 0., 15.1875/27., 15.1875/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + -0.52734375/27., -0.10546875/27., -0.10546875/27., -0.52734375/27., -1.58203125/27., 0.52734375/27., 0.94921875/27., 0.94921875/27., -1.58203125/27., 0.52734375/27., 4.74609375/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 14.23828125/27., -4.74609375/27., + 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 15.1875/27., 0., + 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., -1.6875/27., 0., 0., 15.1875/27., 15.1875/27., + -0.10546875/27., -0.10546875/27., -0.52734375/27., -0.52734375/27., 0.94921875/27., 0.94921875/27., 0.52734375/27., -1.58203125/27., 4.74609375/27., 4.74609375/27., 0.52734375/27., -1.58203125/27., -4.74609375/27., -4.74609375/27., 14.23828125/27., 14.23828125/27., + 0., 0., 1.6875/27., 8.4375/27., 0., 0., 0., 0., 25.3125/27., -8.4375/27., 0., 0., 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., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., + 1.6875/27., 0., 0., 8.4375/27., 0., 0., 0., 0., 0., 0., -8.4375/27., 25.3125/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 8.4375/27., 0., 0., 25.3125/27., -8.4375/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., + 0.52734375/27., 0.10546875/27., 0.52734375/27., 2.63671875/27., 1.58203125/27., -0.52734375/27., -0.52734375/27., 1.58203125/27., 7.91015625/27., -2.63671875/27., -2.63671875/27., 7.91015625/27., -7.91015625/27., 2.63671875/27., 23.73046875/27., -7.91015625/27., + 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 8.4375/27., 0., 0., 0., -8.4375/27., 0., 25.3125/27., 0., + }; + +}; // namespace FE_Q_2d // embedding matrices @@ -185,55 +188,62 @@ const unsigned int FE_Q<2>::Matrices::n_embedding_matrices = 3; const double * const FE_Q<2>::Matrices::embedding[][GeometryInfo<2>::children_per_cell] = { - { q1_into_q1_refined_0, q1_into_q1_refined_1, q1_into_q1_refined_2, q1_into_q1_refined_3 }, - { q2_into_q2_refined_0, q2_into_q2_refined_1, q2_into_q2_refined_2, q2_into_q2_refined_3 }, - { q3_into_q3_refined_0, q3_into_q3_refined_1, q3_into_q3_refined_2, q3_into_q3_refined_3 } + { FE_Q_2d::q1_into_q1_refined_0, FE_Q_2d::q1_into_q1_refined_1, + FE_Q_2d::q1_into_q1_refined_2, FE_Q_2d::q1_into_q1_refined_3 }, + { FE_Q_2d::q2_into_q2_refined_0, FE_Q_2d::q2_into_q2_refined_1, + FE_Q_2d::q2_into_q2_refined_2, FE_Q_2d::q2_into_q2_refined_3 }, + { FE_Q_2d::q3_into_q3_refined_0, FE_Q_2d::q3_into_q3_refined_1, + FE_Q_2d::q3_into_q3_refined_2, FE_Q_2d::q3_into_q3_refined_3 } }; // Constraint matrices taken from Wolfgangs old version -static const double constraint_q1[] = -{ - .5, .5 -}; - -static const double constraint_q2[] = -{ - 0., 0., 1., - .375, -.125, .75, - -.125, .375, .75 +namespace FE_Q_2d +{ + static const double constraint_q1[] = + { + .5, .5 + }; + + static const double constraint_q2[] = + { + 0., 0., 1., + .375, -.125, .75, + -.125, .375, .75 + }; + + static const double constraint_q3[] = + { + -.0625, -.0625, .5625, .5625, + .3125, .0625, .9375, -.3125, + 0., 0., 1., 0., + 0., 0., 0., 1., + .0625, .3125, -.3125, 0.9375 + }; + + static const double constraint_q4[] = + { + 0., 0., 0., 1., 0., + 0.2734375, -0.0390625, 1.09375, -0.546875, 0.21875, + 0., 0., 1., 0., 0., + -0.0390625, 0.0234375, 0.46875, 0.703125, -0.15625, + 0.0234375, -0.0390625, -0.15625, 0.703125, 0.46875, + 0., 0., 0., 0., 1., + -0.0390625, 0.2734375, 0.21875, -0.546875, 1.09375 + }; }; -static const double constraint_q3[] = -{ - -.0625, -.0625, .5625, .5625, - .3125, .0625, .9375, -.3125, - 0., 0., 1., 0., - 0., 0., 0., 1., - .0625, .3125, -.3125, 0.9375 -}; - -static const double constraint_q4[] = -{ - 0., 0., 0., 1., 0., - 0.2734375, -0.0390625, 1.09375, -0.546875, 0.21875, - 0., 0., 1., 0., 0., - -0.0390625, 0.0234375, 0.46875, 0.703125, -0.15625, - 0.0234375, -0.0390625, -0.15625, 0.703125, 0.46875, - 0., 0., 0., 0., 1., - -0.0390625, 0.2734375, 0.21875, -0.546875, 1.09375 -}; const double * const FE_Q<2>::Matrices::constraint_matrices[] = { - constraint_q1, - constraint_q2, - constraint_q3, - constraint_q4, + FE_Q_2d::constraint_q1, + FE_Q_2d::constraint_q2, + FE_Q_2d::constraint_q3, + FE_Q_2d::constraint_q4, }; + const unsigned int FE_Q<2>::Matrices::n_constraint_matrices = 4; - diff --git a/deal.II/deal.II/source/fe/mat_q.3 b/deal.II/deal.II/source/fe/mat_q.3 index 6159077b43..450c1ec489 100644 --- a/deal.II/deal.II/source/fe/mat_q.3 +++ b/deal.II/deal.II/source/fe/mat_q.3 @@ -14,350 +14,352 @@ // Transfer matrices for finite elements -static const double q1_into_q1_refined_0[] = +namespace FE_Q_3d { - 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., -}; + static const double q1_into_q1_refined_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., + }; -static const double q1_into_q1_refined_1[] = -{ - 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., -}; + static const double q1_into_q1_refined_1[] = + { + 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., + }; -static const double q1_into_q1_refined_2[] = -{ - 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., -}; + static const double q1_into_q1_refined_2[] = + { + 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., + }; -static const double q1_into_q1_refined_3[] = -{ - 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., -}; + static const double q1_into_q1_refined_3[] = + { + 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., + }; -static const double q1_into_q1_refined_4[] = -{ - 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., -}; + static const double q1_into_q1_refined_4[] = + { + 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., + }; -static const double q1_into_q1_refined_5[] = -{ - 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., -}; + static const double q1_into_q1_refined_5[] = + { + 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., + }; -static const double q1_into_q1_refined_6[] = -{ - 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., -}; + static const double q1_into_q1_refined_6[] = + { + 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., + }; -static const double q1_into_q1_refined_7[] = -{ - 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., -}; + static const double q1_into_q1_refined_7[] = + { + 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., + }; -static const double q2_into_q2_refined_0[] = -{ - 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., - 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., - 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 20.25/27., 0., - 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., - 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 15.1875/27., - 3.796875/27., -1.265625/27., 0., 0., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 0.421875/27., 0., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 7.59375/27., 0., -2.53125/27., 0., 15.1875/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 3.796875/27., 0., 0.421875/27., 0., -1.265625/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 0., -2.53125/27., 0., 7.59375/27., 15.1875/27., - 3.796875/27., 0., 0., -1.265625/27., -1.265625/27., 0., 0., 0.421875/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., -2.53125/27., 0., 0., 0., 0., 0., 15.1875/27., 0., - 1.423828125/27., -0.474609375/27., 0.158203125/27., -0.474609375/27., -0.474609375/27., 0.158203125/27., -0.052734375/27., 0.158203125/27., 2.84765625/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 5.6953125/27., -1.8984375/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 11.390625/27., -}; + static const double q2_into_q2_refined_0[] = + { + 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., + 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., + 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 20.25/27., 0., + 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., + 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 15.1875/27., + 3.796875/27., -1.265625/27., 0., 0., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 0.421875/27., 0., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 7.59375/27., 0., -2.53125/27., 0., 15.1875/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 3.796875/27., 0., 0.421875/27., 0., -1.265625/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 0., -2.53125/27., 0., 7.59375/27., 15.1875/27., + 3.796875/27., 0., 0., -1.265625/27., -1.265625/27., 0., 0., 0.421875/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., -2.53125/27., 0., 0., 0., 0., 0., 15.1875/27., 0., + 1.423828125/27., -0.474609375/27., 0.158203125/27., -0.474609375/27., -0.474609375/27., 0.158203125/27., -0.052734375/27., 0.158203125/27., 2.84765625/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 5.6953125/27., -1.8984375/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 11.390625/27., + }; -static const double q2_into_q2_refined_1[] = -{ - 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., - -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., - -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 0., 0., 0., 0., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 15.1875/27., - -1.265625/27., 3.796875/27., 0., 0., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., - 0., 3.796875/27., -1.265625/27., 0., 0., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 0.421875/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 7.59375/27., 0., -2.53125/27., 15.1875/27., - 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 0.421875/27., 0., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 7.59375/27., 0., -2.53125/27., 0., 15.1875/27., - -0.474609375/27., 1.423828125/27., -0.474609375/27., 0.158203125/27., 0.158203125/27., -0.474609375/27., 0.158203125/27., -0.052734375/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., 5.6953125/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 11.390625/27., -}; + static const double q2_into_q2_refined_1[] = + { + 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., + -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., + -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 0., 0., 0., 0., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 15.1875/27., + -1.265625/27., 3.796875/27., 0., 0., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., + 0., 3.796875/27., -1.265625/27., 0., 0., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 0.421875/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 7.59375/27., 0., -2.53125/27., 15.1875/27., + 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 0.421875/27., 0., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 7.59375/27., 0., -2.53125/27., 0., 15.1875/27., + -0.474609375/27., 1.423828125/27., -0.474609375/27., 0.158203125/27., 0.158203125/27., -0.474609375/27., 0.158203125/27., -0.052734375/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., 5.6953125/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 11.390625/27., + }; -static const double q2_into_q2_refined_2[] = -{ - 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., - 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., - 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 15.1875/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 0.421875/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 7.59375/27., 0., -2.53125/27., 15.1875/27., - 0., -1.265625/27., 3.796875/27., 0., 0., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., - 0., 0., 3.796875/27., -1.265625/27., 0., 0., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 3.796875/27., 0., 0.421875/27., 0., -1.265625/27., 0., 0., 0., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 0., 7.59375/27., 0., 15.1875/27., - 0.158203125/27., -0.474609375/27., 1.423828125/27., -0.474609375/27., -0.052734375/27., 0.158203125/27., -0.474609375/27., 0.158203125/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., 11.390625/27., -}; + static const double q2_into_q2_refined_2[] = + { + 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., + 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., + 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 15.1875/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 0.421875/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 7.59375/27., 0., -2.53125/27., 15.1875/27., + 0., -1.265625/27., 3.796875/27., 0., 0., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., + 0., 0., 3.796875/27., -1.265625/27., 0., 0., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 3.796875/27., 0., 0.421875/27., 0., -1.265625/27., 0., 0., 0., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 0., 7.59375/27., 0., 15.1875/27., + 0.158203125/27., -0.474609375/27., 1.423828125/27., -0.474609375/27., -0.052734375/27., 0.158203125/27., -0.474609375/27., 0.158203125/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., 11.390625/27., + }; -static const double q2_into_q2_refined_3[] = -{ - 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., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 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., 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., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., - 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 20.25/27., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., - 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., - -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., 0., 0., 0., 0., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 15.1875/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 3.796875/27., 0., 0.421875/27., 0., -1.265625/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 0., -2.53125/27., 0., 7.59375/27., 15.1875/27., - 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 3.796875/27., 0., 0.421875/27., 0., -1.265625/27., 0., 0., 0., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 0., 7.59375/27., 0., 15.1875/27., - 0., 0., -1.265625/27., 3.796875/27., 0., 0., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., - -1.265625/27., 0., 0., 3.796875/27., 0.421875/27., 0., 0., -1.265625/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., -2.53125/27., 0., 0., 7.59375/27., 0., 0., 0., 0., 0., 15.1875/27., 0., - -0.474609375/27., 0.158203125/27., -0.474609375/27., 1.423828125/27., 0.158203125/27., -0.052734375/27., 0.158203125/27., -0.474609375/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., 11.390625/27., -}; + static const double q2_into_q2_refined_3[] = + { + 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., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 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., 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., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., + 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 20.25/27., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., + 0., 0., 0., 10.125/27., 0., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., + -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., 0., 0., 0., 0., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 15.1875/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 3.796875/27., 0., 0.421875/27., 0., -1.265625/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., 0., -2.53125/27., 0., 7.59375/27., 15.1875/27., + 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 3.796875/27., 0., 0.421875/27., 0., -1.265625/27., 0., 0., 0., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 0., 7.59375/27., 0., 15.1875/27., + 0., 0., -1.265625/27., 3.796875/27., 0., 0., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., + -1.265625/27., 0., 0., 3.796875/27., 0.421875/27., 0., 0., -1.265625/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., -2.53125/27., 0., 0., 7.59375/27., 0., 0., 0., 0., 0., 15.1875/27., 0., + -0.474609375/27., 0.158203125/27., -0.474609375/27., 1.423828125/27., 0.158203125/27., -0.052734375/27., 0.158203125/27., -0.474609375/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., 11.390625/27., + }; -static const double q2_into_q2_refined_4[] = -{ - 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., - 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 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., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 20.25/27., 0., - 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 15.1875/27., - 0., 0., 0., 0., 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., - -1.265625/27., 0.421875/27., 0., 0., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 0.421875/27., 0., 3.796875/27., 0., -1.265625/27., 0., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., 0., -2.53125/27., 0., 15.1875/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 3.796875/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 0., -2.53125/27., 0., 7.59375/27., 15.1875/27., - -1.265625/27., 0., 0., 0.421875/27., 3.796875/27., 0., 0., -1.265625/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 7.59375/27., 0., 0., -2.53125/27., 0., 0., 0., 0., 0., 15.1875/27., 0., - -0.474609375/27., 0.158203125/27., -0.052734375/27., 0.158203125/27., 1.423828125/27., -0.474609375/27., 0.158203125/27., -0.474609375/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 11.390625/27., -}; + static const double q2_into_q2_refined_4[] = + { + 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., + 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 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., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 20.25/27., 0., + 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 10.125/27., 0., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 15.1875/27., + 0., 0., 0., 0., 3.796875/27., -1.265625/27., 0.421875/27., -1.265625/27., 0., 0., 0., 0., 7.59375/27., -2.53125/27., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., + -1.265625/27., 0.421875/27., 0., 0., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 0.421875/27., 0., 3.796875/27., 0., -1.265625/27., 0., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., 0., -2.53125/27., 0., 15.1875/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 3.796875/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 0., -2.53125/27., 0., 7.59375/27., 15.1875/27., + -1.265625/27., 0., 0., 0.421875/27., 3.796875/27., 0., 0., -1.265625/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 7.59375/27., 0., 0., -2.53125/27., 0., 0., 0., 0., 0., 15.1875/27., 0., + -0.474609375/27., 0.158203125/27., -0.052734375/27., 0.158203125/27., 1.423828125/27., -0.474609375/27., 0.158203125/27., -0.474609375/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 11.390625/27., + }; -static const double q2_into_q2_refined_5[] = -{ - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 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., 0., 0., - 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 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., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., - 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., - 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 15.1875/27., - 0., 0., 0., 0., -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 0., 0., 0., 0., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., - 0.421875/27., -1.265625/27., 0., 0., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., - 0., -1.265625/27., 0.421875/27., 0., 0., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 0.421875/27., 0., 3.796875/27., 0., -1.265625/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 7.59375/27., 0., -2.53125/27., 15.1875/27., - 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 0.421875/27., 0., 3.796875/27., 0., -1.265625/27., 0., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., 0., -2.53125/27., 0., 15.1875/27., - 0.158203125/27., -0.474609375/27., 0.158203125/27., -0.052734375/27., -0.474609375/27., 1.423828125/27., -0.474609375/27., 0.158203125/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 11.390625/27., -}; + static const double q2_into_q2_refined_5[] = + { + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 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., 0., 0., + 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 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., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 20.25/27., + 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., + 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 0., 0., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 15.1875/27., + 0., 0., 0., 0., -1.265625/27., 3.796875/27., -1.265625/27., 0.421875/27., 0., 0., 0., 0., 7.59375/27., 7.59375/27., -2.53125/27., -2.53125/27., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., + 0.421875/27., -1.265625/27., 0., 0., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., + 0., -1.265625/27., 0.421875/27., 0., 0., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 0.421875/27., 0., 3.796875/27., 0., -1.265625/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 7.59375/27., 0., -2.53125/27., 15.1875/27., + 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 0.421875/27., 0., 3.796875/27., 0., -1.265625/27., 0., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., 0., -2.53125/27., 0., 15.1875/27., + 0.158203125/27., -0.474609375/27., 0.158203125/27., -0.052734375/27., -0.474609375/27., 1.423828125/27., -0.474609375/27., 0.158203125/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., 0.31640625/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 11.390625/27., + }; -static const double q2_into_q2_refined_6[] = -{ - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., - 0., 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., - 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., - 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 15.1875/27., - 0., 0., 0., 0., 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 0.421875/27., 0., 3.796875/27., 0., -1.265625/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 7.59375/27., 0., -2.53125/27., 15.1875/27., - 0., 0.421875/27., -1.265625/27., 0., 0., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., - 0., 0., -1.265625/27., 0.421875/27., 0., 0., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 3.796875/27., 0., 0., 0., 0., 0., -2.53125/27., 7.59375/27., -2.53125/27., 0., 7.59375/27., 0., 15.1875/27., - -0.052734375/27., 0.158203125/27., -0.474609375/27., 0.158203125/27., 0.158203125/27., -0.474609375/27., 1.423828125/27., -0.474609375/27., 0.31640625/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., -1.8984375/27., 5.6953125/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., 11.390625/27., -}; - -static const double q2_into_q2_refined_7[] = -{ - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 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., 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., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 20.25/27., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., - 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 15.1875/27., - 0., 0., 0., 0., -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., 0., 0., 0., 0., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 3.796875/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 0., -2.53125/27., 0., 7.59375/27., 15.1875/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 3.796875/27., 0., 0., 0., 0., 0., -2.53125/27., 7.59375/27., -2.53125/27., 0., 7.59375/27., 0., 15.1875/27., - 0., 0., 0.421875/27., -1.265625/27., 0., 0., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., - 0.421875/27., 0., 0., -1.265625/27., -1.265625/27., 0., 0., 3.796875/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 7.59375/27., 0., 0., 0., 0., 0., 15.1875/27., 0., - 0.158203125/27., -0.052734375/27., 0.158203125/27., -0.474609375/27., -0.474609375/27., 0.158203125/27., -0.474609375/27., 1.423828125/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -1.8984375/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., 11.390625/27., -}; + static const double q2_into_q2_refined_6[] = + { + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., + 0., 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., + 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 20.25/27., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., -3.375/27., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 10.125/27., -3.375/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., + 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 15.1875/27., + 0., 0., 0., 0., 0.421875/27., -1.265625/27., 3.796875/27., -1.265625/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0., 0.421875/27., 0., 3.796875/27., 0., -1.265625/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 7.59375/27., 0., -2.53125/27., 15.1875/27., + 0., 0.421875/27., -1.265625/27., 0., 0., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., + 0., 0., -1.265625/27., 0.421875/27., 0., 0., 3.796875/27., -1.265625/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 0., 0., 15.1875/27., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 3.796875/27., 0., 0., 0., 0., 0., -2.53125/27., 7.59375/27., -2.53125/27., 0., 7.59375/27., 0., 15.1875/27., + -0.052734375/27., 0.158203125/27., -0.474609375/27., 0.158203125/27., 0.158203125/27., -0.474609375/27., 1.423828125/27., -0.474609375/27., 0.31640625/27., -0.94921875/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -0.94921875/27., -1.8984375/27., 5.6953125/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., -1.8984375/27., 11.390625/27., + }; + static const double q2_into_q2_refined_7[] = + { + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 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., 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., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 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., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 20.25/27., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., -3.375/27., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 10.125/27., 0., 0., 0., 0., 20.25/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., + 0., 0., 0., -3.375/27., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 15.1875/27., + 0., 0., 0., 0., -1.265625/27., 0.421875/27., -1.265625/27., 3.796875/27., 0., 0., 0., 0., -2.53125/27., -2.53125/27., 7.59375/27., 7.59375/27., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., + 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 3.796875/27., 0., 0., 0., 0., -2.53125/27., 7.59375/27., 0., -2.53125/27., 0., 7.59375/27., 15.1875/27., + 0., 0., 0., 0., 0., 0., 0., 0., 0.421875/27., 0., -1.265625/27., 0., -1.265625/27., 0., 3.796875/27., 0., 0., 0., 0., 0., -2.53125/27., 7.59375/27., -2.53125/27., 0., 7.59375/27., 0., 15.1875/27., + 0., 0., 0.421875/27., -1.265625/27., 0., 0., -1.265625/27., 3.796875/27., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., 0., 0., 0., -2.53125/27., 7.59375/27., 0., 0., 0., 0., 15.1875/27., 0., 0., + 0.421875/27., 0., 0., -1.265625/27., -1.265625/27., 0., 0., 3.796875/27., 0., 0., 0., -2.53125/27., 0., 0., 0., 7.59375/27., -2.53125/27., 0., 0., 7.59375/27., 0., 0., 0., 0., 0., 15.1875/27., 0., + 0.158203125/27., -0.052734375/27., 0.158203125/27., -0.474609375/27., -0.474609375/27., 0.158203125/27., -0.474609375/27., 1.423828125/27., 0.31640625/27., 0.31640625/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., -0.94921875/27., 2.84765625/27., 2.84765625/27., -0.94921875/27., 0.31640625/27., -0.94921875/27., 2.84765625/27., -1.8984375/27., 5.6953125/27., -1.8984375/27., -1.8984375/27., 5.6953125/27., 5.6953125/27., 11.390625/27., + }; +}; // namespace FE_Q_3d // embedding matrices @@ -368,56 +370,64 @@ FE_Q<3>::Matrices::n_embedding_matrices = 2; const double * const FE_Q<3>::Matrices::embedding[][GeometryInfo<3>::children_per_cell] = { - { q1_into_q1_refined_0, q1_into_q1_refined_1, q1_into_q1_refined_2, q1_into_q1_refined_3, - q1_into_q1_refined_4, q1_into_q1_refined_5, q1_into_q1_refined_6, q1_into_q1_refined_7 }, - { q2_into_q2_refined_0, q2_into_q2_refined_1, q2_into_q2_refined_2, q2_into_q2_refined_3, - q2_into_q2_refined_4, q2_into_q2_refined_5, q2_into_q2_refined_6, q2_into_q2_refined_7 } + { FE_Q_3d::q1_into_q1_refined_0, FE_Q_3d::q1_into_q1_refined_1, + FE_Q_3d::q1_into_q1_refined_2, FE_Q_3d::q1_into_q1_refined_3, + FE_Q_3d::q1_into_q1_refined_4, FE_Q_3d::q1_into_q1_refined_5, + FE_Q_3d::q1_into_q1_refined_6, FE_Q_3d::q1_into_q1_refined_7 }, + { FE_Q_3d::q2_into_q2_refined_0, FE_Q_3d::q2_into_q2_refined_1, + FE_Q_3d::q2_into_q2_refined_2, FE_Q_3d::q2_into_q2_refined_3, + FE_Q_3d::q2_into_q2_refined_4, FE_Q_3d::q2_into_q2_refined_5, + FE_Q_3d::q2_into_q2_refined_6, FE_Q_3d::q2_into_q2_refined_7 } }; // Constraint matrices taken from Wolfgangs old version -const unsigned int -FE_Q<3>::Matrices::n_constraint_matrices = 2; -static const double constraint_q1[] = +namespace FE_Q_3d { - .25,.25,.25,.25, - .5,.5,0.,0., - 0.,.5,.5,0., - 0.,0.,.5,.5, - .5,0.,0.,.5 -}; + static const double constraint_q1[] = + { + .25,.25,.25,.25, + .5,.5,0.,0., + 0.,.5,.5,0., + 0.,0.,.5,.5, + .5,0.,0.,.5 + }; -static const double constraint_q2[] = -{ - 0,0,0,0,0,0,0,0,1, - 0,0,0,0,1,0,0,0,0, - 0,0,0,0,0,1,0,0,0, - 0,0,0,0,0,0,1,0,0, - 0,0,0,0,0,0,0,1,0, - 0,0,0,0,.375,0,-.125,0,.75, - 0,0,0,0,0,.375,0,-.125,.75, - 0,0,0,0,-.125,0,.375,0,.75, - 0,0,0,0,0,-.125,0,.375,.75, - .375,-.125,0,0,.75,0,0,0,0, - -.125,.375,0,0,.75,0,0,0,0, - 0,.375,-.125,0,0,.75,0,0,0, - 0,-.125,.375,0,0,.75,0,0,0, - 0,0,-.125,.375,0,0,.75,0,0, - 0,0,.375,-.125,0,0,.75,0,0, - .375,0,0,-.125,0,0,0,.75,0, - -.125,0,0,.375,0,0,0,.75,0, - .140625,-.046875,.015625,-.046875,.28125,-.09375,-.09375,.28125,.5625, - -.046875,.140625,-.046875,.015625,.28125,.28125,-.09375,-.09375,.5625, - .015625,-.046875,.140625,-.046875,-.09375,.28125,.28125,-.09375,.5625, - -.046875,.015625,-.046875,.140625,-.09375,-.09375,.28125,.28125,.5625 + static const double constraint_q2[] = + { + 0,0,0,0,0,0,0,0,1, + 0,0,0,0,1,0,0,0,0, + 0,0,0,0,0,1,0,0,0, + 0,0,0,0,0,0,1,0,0, + 0,0,0,0,0,0,0,1,0, + 0,0,0,0,.375,0,-.125,0,.75, + 0,0,0,0,0,.375,0,-.125,.75, + 0,0,0,0,-.125,0,.375,0,.75, + 0,0,0,0,0,-.125,0,.375,.75, + .375,-.125,0,0,.75,0,0,0,0, + -.125,.375,0,0,.75,0,0,0,0, + 0,.375,-.125,0,0,.75,0,0,0, + 0,-.125,.375,0,0,.75,0,0,0, + 0,0,-.125,.375,0,0,.75,0,0, + 0,0,.375,-.125,0,0,.75,0,0, + .375,0,0,-.125,0,0,0,.75,0, + -.125,0,0,.375,0,0,0,.75,0, + .140625,-.046875,.015625,-.046875,.28125,-.09375,-.09375,.28125,.5625, + -.046875,.140625,-.046875,.015625,.28125,.28125,-.09375,-.09375,.5625, + .015625,-.046875,.140625,-.046875,-.09375,.28125,.28125,-.09375,.5625, + -.046875,.015625,-.046875,.140625,-.09375,-.09375,.28125,.28125,.5625 + }; }; const double * const FE_Q<3>::Matrices::constraint_matrices[] = { - constraint_q1, - constraint_q2 + FE_Q_3d::constraint_q1, + FE_Q_3d::constraint_q2 }; +const unsigned int +FE_Q<3>::Matrices::n_constraint_matrices = 2; +