20 #include "libmesh/cell_hex20.h"    21 #include "libmesh/edge_edge3.h"    22 #include "libmesh/face_quad8.h"    23 #include "libmesh/enum_io_package.h"    24 #include "libmesh/enum_order.h"    39     {0, 3, 2, 1, 11, 10,  9,  8}, 
    40     {0, 1, 5, 4,  8, 13, 16, 12}, 
    41     {1, 2, 6, 5,  9, 14, 17, 13}, 
    42     {2, 3, 7, 6, 10, 15, 18, 14}, 
    43     {3, 0, 4, 7, 11, 12, 19, 15}, 
    44     {4, 5, 6, 7, 16, 17, 18, 19}  
    86                             const unsigned int s)
 const    88   libmesh_assert_less (s, 
n_sides());
    97   libmesh_assert_less(s, 
n_sides());
   101 std::vector<unsigned>
   104   libmesh_assert_less(e, 
n_edges());
   109                             const unsigned int e)
 const   111   libmesh_assert_less (e, 
n_edges());
   166   return this->simple_build_side_ptr<Quad8, Hex20>(i);
   172                             const unsigned int i)
   174   this->simple_build_side_ptr<Hex20>(side, i, 
QUAD8);
   180                                     unsigned int side_node)
 const   182   libmesh_assert_less (side, this->
n_sides());
   191                                     unsigned int edge_node)
 const   193   libmesh_assert_less (edge, this->
n_edges());
   203   return this->simple_build_edge_ptr<Edge3,Hex20>(i);
   210   this->simple_build_edge_ptr<Hex20>(edge, i, 
EDGE3);
   217                          std::vector<dof_id_type> & conn)
 const   244             libmesh_error_msg(
"Unknown sc = " << sc);
   277             libmesh_error_msg(
"Unknown sc = " << sc);
   282       libmesh_error_msg(
"Unsupported IO package " << iop);
   290                                                         const unsigned int v)
 const   292   libmesh_assert_greater_equal (n, this->
n_vertices());
   293   libmesh_assert_less (n, this->
n_nodes());
   294   libmesh_assert_less (v, 2);
   305 std::pair<unsigned short int, unsigned short int>
   308   libmesh_assert_greater_equal (n, this->
n_vertices());
   309   libmesh_assert_less (n, this->
n_nodes());
   315   return std::pair<unsigned short int, unsigned short int>
   343       x0/8 - x1/8 - x11/4 - x12/4 + x13/4 + x14/4 - x15/4 + x17/4 - x19/4 - x2/8 + x3/8 + x4/8 - x5/8 - x6/8 + x7/8 + x9/4,
   344       x11/4 + x17/4 - x19/4 - x9/4,
   345       -x0/8 + x1/8 + x12/4 - x13/4 - x14/4 + x15/4 + x2/8 - x3/8 - x4/8 + x5/8 + x6/8 - x7/8,
   346       x12/4 - x13/4 + x14/4 - x15/4,
   347       -x0/8 + x1/8 - x2/8 + x3/8 + x4/8 - x5/8 + x6/8 - x7/8,
   348       x0/8 - x1/8 - x12/4 + x13/4 - x14/4 + x15/4 + x2/8 - x3/8 + x4/8 - x5/8 + x6/8 - x7/8,
   349       -x0/8 + x1/8 + x11/4 - x17/4 + x19/4 + x2/8 - x3/8 - x4/8 + x5/8 + x6/8 - x7/8 - x9/4,
   350       x0/8 - x1/8 - x11/4 - x17/4 + x19/4 - x2/8 + x3/8 - x4/8 + x5/8 + x6/8 - x7/8 + x9/4,
   351       x0/4 + x1/4 - x10/2 - x16/2 - x18/2 + x2/4 + x3/4 + x4/4 + x5/4 + x6/4 + x7/4 - x8/2,
   352       -x0/4 - x1/4 + x10/2 - x16/2 - x18/2 - x2/4 - x3/4 + x4/4 + x5/4 + x6/4 + x7/4 + x8/2,
   354       -x0/4 - x1/4 - x10/2 + x16/2 - x18/2 + x2/4 + x3/4 - x4/4 - x5/4 + x6/4 + x7/4 + x8/2,
   355       x0/4 + x1/4 + x10/2 + x16/2 - x18/2 - x2/4 - x3/4 - x4/4 - x5/4 + x6/4 + x7/4 - x8/2,
   368       x0/8 + x1/8 + x10/4 - x12/4 - x13/4 + x14/4 + x15/4 - x16/4 + x18/4 - x2/8 - x3/8 + x4/8 + x5/8 - x6/8 - x7/8 - x8/4,
   369       -x10/4 - x16/4 + x18/4 + x8/4,
   370       -x0/8 - x1/8 + x12/4 + x13/4 - x14/4 - x15/4 + x2/8 + x3/8 - x4/8 - x5/8 + x6/8 + x7/8,
   371       x0/4 + x1/4 - x11/2 - x17/2 - x19/2 + x2/4 + x3/4 + x4/4 + x5/4 + x6/4 + x7/4 - x9/2,
   372       -x0/4 - x1/4 + x11/2 - x17/2 - x19/2 - x2/4 - x3/4 + x4/4 + x5/4 + x6/4 + x7/4 + x9/2,
   376       x12/4 - x13/4 + x14/4 - x15/4,
   377       -x0/8 + x1/8 - x2/8 + x3/8 + x4/8 - x5/8 + x6/8 - x7/8,
   378       x0/8 - x1/8 - x12/4 + x13/4 - x14/4 + x15/4 + x2/8 - x3/8 + x4/8 - x5/8 + x6/8 - x7/8,
   379       -x0/4 + x1/4 + x11/2 - x17/2 + x19/2 + x2/4 - x3/4 - x4/4 + x5/4 + x6/4 - x7/4 - x9/2,
   380       x0/4 - x1/4 - x11/2 - x17/2 + x19/2 - x2/4 + x3/4 - x4/4 + x5/4 + x6/4 - x7/4 + x9/2,
   382       -x0/8 - x1/8 - x10/4 + x16/4 - x18/4 + x2/8 + x3/8 - x4/8 - x5/8 + x6/8 + x7/8 + x8/4,
   383       x0/8 + x1/8 + x10/4 + x16/4 - x18/4 - x2/8 - x3/8 - x4/8 - x5/8 + x6/8 + x7/8 - x8/4,
   393       x0/8 + x1/8 - x10/4 - x11/4 + x16/4 + x17/4 + x18/4 + x19/4 + x2/8 + x3/8 - x4/8 - x5/8 - x6/8 - x7/8 - x8/4 - x9/4,
   394       x0/4 + x1/4 - x12/2 - x13/2 - x14/2 - x15/2 + x2/4 + x3/4 + x4/4 + x5/4 + x6/4 + x7/4,
   396       -x10/4 - x16/4 + x18/4 + x8/4,
   397       -x0/4 - x1/4 + x12/2 + x13/2 - x14/2 - x15/2 + x2/4 + x3/4 - x4/4 - x5/4 + x6/4 + x7/4,
   399       -x0/8 - x1/8 + x11/4 - x17/4 - x19/4 - x2/8 - x3/8 + x4/8 + x5/8 + x6/8 + x7/8 + x9/4,
   401       x11/4 + x17/4 - x19/4 - x9/4,
   402       -x0/4 + x1/4 + x12/2 - x13/2 - x14/2 + x15/2 + x2/4 - x3/4 - x4/4 + x5/4 + x6/4 - x7/4,
   404       -x0/8 + x1/8 - x2/8 + x3/8 + x4/8 - x5/8 + x6/8 - x7/8,
   405       x0/4 - x1/4 - x12/2 + x13/2 - x14/2 + x15/2 + x2/4 - x3/4 + x4/4 - x5/4 + x6/4 - x7/4,
   406       x0/8 - x1/8 - x11/4 - x17/4 + x19/4 - x2/8 + x3/8 - x4/8 + x5/8 + x6/8 - x7/8 + x9/4,
   407       -x0/8 - x1/8 + x10/4 - x16/4 - x18/4 - x2/8 - x3/8 + x4/8 + x5/8 + x6/8 + x7/8 + x8/4,
   409       x0/8 + x1/8 + x10/4 + x16/4 - x18/4 - x2/8 - x3/8 - x4/8 - x5/8 + x6/8 + x7/8 - x8/4,
   413   static const int exponents[17][3] =
   437   const Real w[N] = {5./9, 8./9, 5./9};
   445       {  1., -std::sqrt(15)/5., 15./25},
   447       {  1., std::sqrt(15)/5.,  15./25}
   452   for (
int i=0; i<N; ++i)
   453     for (
int j=0; j<N; ++j)
   454       for (
int k=0; k<N; ++k)
   457           Point dx_dxi_q, dx_deta_q, dx_dzeta_q;
   458           for (
int c=0; c<17; ++c)
   461                 q[i][exponents[c][0]] *
   462                 q[j][exponents[c][1]] *
   463                 q[k][exponents[c][2]];
   465               dx_dxi_q   += coeff * dx_dxi[c];
   466               dx_deta_q  += coeff * dx_deta[c];
   467               dx_dzeta_q += coeff * dx_dzeta[c];
   471           vol += w[i] * w[j] * w[k] * 
triple_product(dx_dxi_q, dx_deta_q, dx_dzeta_q);
   480 #ifdef LIBMESH_ENABLE_AMR   487       {    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   488       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   489       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,    0.00000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,   0.500000,   0.500000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   490       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   491       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   492       {  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000 }, 
   493       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000 }, 
   494       {  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000 }, 
   495       {   0.375000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   496       {  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,   0.375000,   0.250000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   497       {  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,   0.250000,   0.375000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   498       {   0.375000,    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   499       {   0.375000,    0.00000,    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   500       {  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000 }, 
   501       {  -0.281250,  -0.281250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.156250,  -0.156250,   0.375000,   0.375000,   0.375000,   0.375000,   0.187500,   0.187500,   0.187500,   0.187500,   0.125000,   0.125000,   0.125000,   0.125000 }, 
   502       {  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,    0.00000,    0.00000,    0.00000,   0.750000,   0.375000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.250000 }, 
   503       {  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.750000,   0.250000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000 }, 
   504       {  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,   0.375000,   0.187500,   0.125000,   0.187500,   0.375000,   0.375000,   0.125000,   0.125000,   0.375000,   0.187500,   0.125000,   0.187500 }, 
   505       {  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,   0.187500,   0.125000,   0.187500,   0.375000,   0.375000,   0.125000,   0.125000,   0.375000,   0.187500,   0.125000,   0.187500,   0.375000 }, 
   506       {  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,    0.00000,    0.00000,    0.00000,   0.375000,   0.750000,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000,   0.375000 }  
   512       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   513       {    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   514       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   515       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,    0.00000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,   0.500000,   0.500000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   516       {  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000 }, 
   517       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   518       {    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000 }, 
   519       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000 }, 
   520       {  -0.125000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   521       {    0.00000,   0.375000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   522       {  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,   0.750000,   0.375000,   0.250000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   523       {  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,   0.375000,   0.250000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   524       {  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000 }, 
   525       {    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   526       {    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000 }, 
   527       {  -0.281250,  -0.281250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.156250,  -0.156250,   0.375000,   0.375000,   0.375000,   0.375000,   0.187500,   0.187500,   0.187500,   0.187500,   0.125000,   0.125000,   0.125000,   0.125000 }, 
   528       {  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.250000,   0.750000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000 }, 
   529       {    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.750000,   0.250000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000 }, 
   530       {  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,   0.187500,   0.375000,   0.187500,   0.125000,   0.125000,   0.375000,   0.375000,   0.125000,   0.187500,   0.375000,   0.187500,   0.125000 }, 
   531       {  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,   0.375000,   0.187500,   0.125000,   0.187500,   0.375000,   0.375000,   0.125000,   0.125000,   0.375000,   0.187500,   0.125000,   0.187500 }  
   537       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   538       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,    0.00000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,   0.500000,   0.500000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   539       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   540       {    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   541       {  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000 }, 
   542       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000 }, 
   543       {    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000 }, 
   544       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   545       {  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,   0.250000,   0.375000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   546       {  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,   0.250000,   0.375000,   0.750000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   547       {    0.00000,    0.00000,  -0.125000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   548       {  -0.125000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   549       {  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,    0.00000,    0.00000,    0.00000,   0.750000,   0.375000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.250000 }, 
   550       {  -0.281250,  -0.281250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.156250,  -0.156250,   0.375000,   0.375000,   0.375000,   0.375000,   0.187500,   0.187500,   0.187500,   0.187500,   0.125000,   0.125000,   0.125000,   0.125000 }, 
   551       {    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.250000,    0.00000 }, 
   552       {    0.00000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   553       {  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,   0.187500,   0.125000,   0.187500,   0.375000,   0.375000,   0.125000,   0.125000,   0.375000,   0.187500,   0.125000,   0.187500,   0.375000 }, 
   554       {  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,   0.125000,   0.187500,   0.375000,   0.187500,   0.125000,   0.125000,   0.375000,   0.375000,   0.125000,   0.187500,   0.375000,   0.187500 }, 
   555       {    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.250000,   0.750000,    0.00000,    0.00000,   0.375000,    0.00000 }, 
   556       {  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,    0.00000,    0.00000,    0.00000,   0.375000,   0.250000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,   0.375000 }  
   562       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,    0.00000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,   0.500000,   0.500000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   563       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   564       {    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   565       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   566       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000 }, 
   567       {    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000 }, 
   568       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   569       {    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000 }, 
   570       {  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,   0.750000,   0.375000,   0.250000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   571       {    0.00000,  -0.125000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   572       {    0.00000,    0.00000,   0.375000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   573       {  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,   0.250000,   0.375000,   0.750000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   574       {  -0.281250,  -0.281250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.156250,  -0.156250,   0.375000,   0.375000,   0.375000,   0.375000,   0.187500,   0.187500,   0.187500,   0.187500,   0.125000,   0.125000,   0.125000,   0.125000 }, 
   575       {    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000 }, 
   576       {    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   577       {    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.250000,    0.00000 }, 
   578       {  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,   0.187500,   0.375000,   0.187500,   0.125000,   0.125000,   0.375000,   0.375000,   0.125000,   0.187500,   0.375000,   0.187500,   0.125000 }, 
   579       {    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.250000,   0.750000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000 }, 
   580       {    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.750000,   0.250000,    0.00000,    0.00000,   0.375000,    0.00000 }, 
   581       {  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,   0.125000,   0.187500,   0.375000,   0.187500,   0.125000,   0.125000,   0.375000,   0.375000,   0.125000,   0.187500,   0.375000,   0.187500 }  
   587       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   588       {  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000 }, 
   589       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000 }, 
   590       {  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000 }, 
   591       {    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   592       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000 }, 
   593       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,   0.500000,   0.500000 }, 
   594       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000 }, 
   595       {  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.750000,   0.250000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000 }, 
   596       {  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,   0.375000,   0.187500,   0.125000,   0.187500,   0.375000,   0.375000,   0.125000,   0.125000,   0.375000,   0.187500,   0.125000,   0.187500 }, 
   597       {  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,   0.187500,   0.125000,   0.187500,   0.375000,   0.375000,   0.125000,   0.125000,   0.375000,   0.187500,   0.125000,   0.187500,   0.375000 }, 
   598       {  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,    0.00000,    0.00000,    0.00000,   0.375000,   0.750000,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000,   0.375000 }, 
   599       {  -0.125000,    0.00000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   600       {  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000 }, 
   601       {  -0.156250,  -0.156250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.281250,  -0.281250,   0.125000,   0.125000,   0.125000,   0.125000,   0.187500,   0.187500,   0.187500,   0.187500,   0.375000,   0.375000,   0.375000,   0.375000 }, 
   602       {  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,    0.00000,    0.00000,    0.00000,   0.250000,   0.375000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.750000 }, 
   603       {    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000 }, 
   604       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,   0.375000,   0.250000,   0.375000 }, 
   605       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,   0.250000,   0.375000,   0.750000 }, 
   606       {    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000 }  
   612       {  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000 }, 
   613       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   614       {    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000 }, 
   615       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000 }, 
   616       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000 }, 
   617       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   618       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000 }, 
   619       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,   0.500000,   0.500000 }, 
   620       {  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.250000,   0.750000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000 }, 
   621       {    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.750000,   0.250000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000 }, 
   622       {  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,   0.187500,   0.375000,   0.187500,   0.125000,   0.125000,   0.375000,   0.375000,   0.125000,   0.187500,   0.375000,   0.187500,   0.125000 }, 
   623       {  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,   0.375000,   0.187500,   0.125000,   0.187500,   0.375000,   0.375000,   0.125000,   0.125000,   0.375000,   0.187500,   0.125000,   0.187500 }, 
   624       {  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000 }, 
   625       {    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   626       {    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000 }, 
   627       {  -0.156250,  -0.156250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.281250,  -0.281250,   0.125000,   0.125000,   0.125000,   0.125000,   0.187500,   0.187500,   0.187500,   0.187500,   0.375000,   0.375000,   0.375000,   0.375000 }, 
   628       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.125000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000 }, 
   629       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000 }, 
   630       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,   0.750000,   0.375000,   0.250000 }, 
   631       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,   0.375000,   0.250000,   0.375000 }  
   637       {  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000 }, 
   638       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000 }, 
   639       {    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000 }, 
   640       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   641       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000 }, 
   642       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,   0.500000,   0.500000 }, 
   643       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000 }, 
   644       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   645       {  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,   0.187500,   0.125000,   0.187500,   0.375000,   0.375000,   0.125000,   0.125000,   0.375000,   0.187500,   0.125000,   0.187500,   0.375000 }, 
   646       {  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,   0.125000,   0.187500,   0.375000,   0.187500,   0.125000,   0.125000,   0.375000,   0.375000,   0.125000,   0.187500,   0.375000,   0.187500 }, 
   647       {    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.250000,   0.750000,    0.00000,    0.00000,   0.375000,    0.00000 }, 
   648       {  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,    0.00000,    0.00000,    0.00000,   0.375000,   0.250000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,   0.375000 }, 
   649       {  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,    0.00000,    0.00000,    0.00000,   0.250000,   0.375000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.750000 }, 
   650       {  -0.156250,  -0.156250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.281250,  -0.281250,   0.125000,   0.125000,   0.125000,   0.125000,   0.187500,   0.187500,   0.187500,   0.187500,   0.375000,   0.375000,   0.375000,   0.375000 }, 
   651       {    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.750000,    0.00000 }, 
   652       {    0.00000,    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   653       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,   0.250000,   0.375000,   0.750000 }, 
   654       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.250000,   0.375000,   0.750000,   0.375000 }, 
   655       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,  -0.125000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000 }, 
   656       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000 }  
   662       {  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000,   0.250000 }, 
   663       {    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000 }, 
   664       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   665       {    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,  -0.250000,  -0.250000,    0.00000,    0.00000,   0.500000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,    0.00000,    0.00000,   0.500000,    0.00000 }, 
   666       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.250000,  -0.250000,  -0.250000,  -0.250000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.500000,   0.500000,   0.500000,   0.500000 }, 
   667       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000 }, 
   668       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   669       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    1.00000,    0.00000 }, 
   670       {  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,   0.187500,   0.375000,   0.187500,   0.125000,   0.125000,   0.375000,   0.375000,   0.125000,   0.187500,   0.375000,   0.187500,   0.125000 }, 
   671       {    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.250000,   0.750000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000 }, 
   672       {    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,   0.750000,   0.250000,    0.00000,    0.00000,   0.375000,    0.00000 }, 
   673       {  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,   0.125000,   0.187500,   0.375000,   0.187500,   0.125000,   0.125000,   0.375000,   0.375000,   0.125000,   0.187500,   0.375000,   0.187500 }, 
   674       {  -0.156250,  -0.156250,  -0.156250,  -0.156250,  -0.281250,  -0.281250,  -0.281250,  -0.281250,   0.125000,   0.125000,   0.125000,   0.125000,   0.187500,   0.187500,   0.187500,   0.187500,   0.375000,   0.375000,   0.375000,   0.375000 }, 
   675       {    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000 }, 
   676       {    0.00000,    0.00000,  -0.125000,    0.00000,    0.00000,    0.00000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000 }, 
   677       {    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,  -0.187500,  -0.187500,    0.00000,    0.00000,   0.250000,    0.00000,    0.00000,    0.00000,   0.375000,   0.375000,    0.00000,    0.00000,   0.750000,    0.00000 }, 
   678       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,   0.750000,   0.375000,   0.250000 }, 
   679       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,  -0.125000,   0.375000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000,    0.00000 }, 
   680       {    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.375000,  -0.125000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.750000,    0.00000 }, 
   681       {    0.00000,    0.00000,    0.00000,    0.00000,  -0.187500,  -0.187500,  -0.187500,  -0.187500,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,    0.00000,   0.250000,   0.375000,   0.750000,   0.375000 }  
   690   libmesh_assert_less (perm_num, 24);
   691   const unsigned int side = perm_num % 6;
   692   const unsigned int rotate = perm_num / 6;
   694   for (
unsigned int i = 0; i != 
rotate; ++i)
   784   libmesh_assert_less (s, 6);
 virtual std::unique_ptr< Elem > build_edge_ptr(const unsigned int i) override
Builds a EDGE3 built coincident with edge i. 
ElemType
Defines an enum for geometric element types. 
void swap2boundaryedges(unsigned short e1, unsigned short e2, BoundaryInfo *boundary_info) const
Swaps two edges in boundary_info, if it is non-null. 
Order
defines an enum for polynomial orders. 
Node ** _nodes
Pointers to the nodes we are connected to. 
virtual void flip(BoundaryInfo *) override final
Flips the element (by swapping node and neighbor pointers) to have a mapping Jacobian of opposite sig...
virtual Real volume() const override
A specialization for computing the volume of a Hex20. 
virtual std::pair< unsigned short int, unsigned short int > second_order_child_vertex(const unsigned int n) const override
virtual bool is_edge(const unsigned int i) const override
virtual bool has_affine_map() const override
static const unsigned short int _second_order_adjacent_vertices[12][2]
Matrix that tells which vertices define the location of mid-side (or second-order) nodes...
IOPackage
libMesh interfaces with several different software packages for the purposes of creating, reading, and writing mesh files. 
virtual std::vector< unsigned int > nodes_on_edge(const unsigned int e) const override
void swap2boundarysides(unsigned short s1, unsigned short s2, BoundaryInfo *boundary_info) const
Swaps two sides in boundary_info, if it is non-null. 
static const Real _embedding_matrix[num_children][num_nodes][num_nodes]
Matrix that computes new nodal locations/solution values from current nodes/solution. 
The libMesh namespace provides an interface to certain functionality in the library. 
virtual void permute(unsigned int perm_num) override final
Permutes the element (by swapping node and neighbor pointers) according to the specified index...
virtual unsigned int n_nodes() const override
static const unsigned int edge_nodes_map[num_edges][nodes_per_edge]
This maps the  node of the  edge to element node numbers. 
T triple_product(const TypeVector< T > &a, const TypeVector< T > &b, const TypeVector< T > &c)
void swap4nodes(unsigned int n1, unsigned int n2, unsigned int n3, unsigned int n4)
Swaps four node_ptrs, "rotating" them. 
virtual void connectivity(const unsigned int sc, const IOPackage iop, std::vector< dof_id_type > &conn) const override
ElemMappingType mapping_type() const
void swap2nodes(unsigned int n1, unsigned int n2)
Swaps two node_ptrs. 
virtual bool is_node_on_side(const unsigned int n, const unsigned int s) const override
static const int num_edges
virtual Order default_order() const override
static const int num_children
The BoundaryInfo class contains information relevant to boundary conditions including storing faces...
static const int num_nodes
Geometric constants for Hex20. 
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int i) override
Builds a QUAD8 built coincident with face i. 
virtual unsigned int local_edge_node(unsigned int edge, unsigned int edge_node) const override
static constexpr Real affine_tol
Default tolerance to use in has_affine_map(). 
virtual unsigned int n_edges() const override final
virtual std::vector< unsigned int > nodes_on_side(const unsigned int s) const override
void swap2neighbors(unsigned int n1, unsigned int n2)
Swaps two neighbor_ptrs. 
virtual unsigned short int second_order_adjacent_vertex(const unsigned int n, const unsigned int v) const override
virtual unsigned int n_vertices() const override final
virtual bool is_vertex(const unsigned int i) const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual unsigned int n_sides() const override final
virtual unsigned int local_side_node(unsigned int side, unsigned int side_node) const override
virtual unsigned int n_sub_elem() const override
ElemType side_type(const unsigned int s) const override final
virtual Real volume() const
void swap4neighbors(unsigned int n1, unsigned int n2, unsigned int n3, unsigned int n4)
Swaps four neighbor_ptrs, "rotating" them. 
static const int num_sides
Geometric constants for all Hexes. 
static const unsigned short int _second_order_vertex_child_number[27]
Vector that names a child sharing each second order node. 
static const int nodes_per_edge
static const unsigned short int _second_order_vertex_child_index[27]
Vector that names the child vertex index for each second order node. 
virtual bool is_face(const unsigned int i) const override
static const unsigned int side_nodes_map[num_sides][nodes_per_side]
This maps the  node of the  side to element node numbers. 
A Point defines a location in LIBMESH_DIM dimensional Real space. 
dof_id_type node_id(const unsigned int i) const
const Point & point(const unsigned int i) const
bool relative_fuzzy_equals(const TypeVector< T > &rhs, Real tol=TOLERANCE) const
virtual bool is_node_on_edge(const unsigned int n, const unsigned int e) const override
static const int nodes_per_side