LCOV - code coverage report
Current view: top level - src/fe - fe_nedelec_one_shape_2D.C (source / functions) Hit Total Coverage
Test: libMesh/libmesh: #4232 (290bfc) with base 82cc40 Lines: 465 3021 15.4 %
Date: 2025-08-27 15:46:53 Functions: 2 9 22.2 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : // The libMesh Finite Element Library.
       2             : // Copyright (C) 2002-2025 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
       3             : 
       4             : // This library is free software; you can redistribute it and/or
       5             : // modify it under the terms of the GNU Lesser General Public
       6             : // License as published by the Free Software Foundation; either
       7             : // version 2.1 of the License, or (at your option) any later version.
       8             : 
       9             : // This library is distributed in the hope that it will be useful,
      10             : // but WITHOUT ANY WARRANTY; without even the implied warranty of
      11             : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12             : // Lesser General Public License for more details.
      13             : 
      14             : // You should have received a copy of the GNU Lesser General Public
      15             : // License along with this library; if not, write to the Free Software
      16             : // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
      17             : 
      18             : 
      19             : // Local includes
      20             : #include "libmesh/fe.h"
      21             : #include "libmesh/elem.h"
      22             : #include "libmesh/enum_to_string.h"
      23             : 
      24             : namespace libMesh
      25             : {
      26             : 
      27             : // An excellent discussion of Nedelec shape functions is given in
      28             : // https://www.dealii.org/reports/nedelec/nedelec.pdf
      29             : // An excellent summary of Nedelec shape functions is also given in
      30             : // https://defelement.com/elements/nedelec1.html
      31             : template <>
      32    36803768 : RealGradient FE<2,NEDELEC_ONE>::shape(const Elem * elem,
      33             :                                       const Order order,
      34             :                                       const unsigned int i,
      35             :                                       const Point & p,
      36             :                                       const bool add_p_level)
      37             : {
      38             : #if LIBMESH_DIM > 1
      39     3065616 :   libmesh_assert(elem);
      40             : 
      41    39869384 :   const Order totalorder = order + add_p_level*elem->p_level();
      42     3065616 :   libmesh_assert_less(i, n_dofs(elem->type(), totalorder));
      43             : 
      44    36803768 :   const char sign = i >= totalorder * elem->n_edges() || elem->positive_edge_orientation(i / totalorder) ? 1 : -1;
      45    15388516 :   const unsigned int ii = sign > 0 ? i : (i / totalorder * 2 + 1) * totalorder - 1 - i;
      46             : 
      47    36803768 :   const Real xi  = p(0);
      48    36803768 :   const Real eta = p(1);
      49             : 
      50    36803768 :   switch (totalorder)
      51             :     {
      52             :       // linear Nedelec (first kind) shape functions
      53     8471068 :     case FIRST:
      54             :       {
      55     8471068 :         switch (elem->type())
      56             :           {
      57     3786640 :           case QUAD8:
      58             :           case QUAD9:
      59             :             {
      60             :               // Even with a loose inverse_map tolerance we ought to
      61             :               // be nearly on the element interior in master
      62             :               // coordinates
      63      316168 :               libmesh_assert_less_equal ( std::fabs(xi), 1.0+10*TOLERANCE );
      64      316168 :               libmesh_assert_less_equal ( std::fabs(eta), 1.0+10*TOLERANCE );
      65             : 
      66     3786640 :               switch(ii)
      67             :                 {
      68      946660 :                 case 0:
      69      946660 :                   return sign * RealGradient( -0.25*(1.0-eta), 0.0 );
      70      946660 :                 case 1:
      71      946660 :                   return sign * RealGradient( 0.0, -0.25*(1.0+xi) );
      72      946660 :                 case 2:
      73      946660 :                   return sign * RealGradient( 0.25*(1.0+eta), 0.0 );
      74      946660 :                 case 3:
      75      946660 :                   return sign * RealGradient( 0.0, -0.25*(xi-1.0) );
      76             : 
      77           0 :                 default:
      78           0 :                   libmesh_error_msg("Invalid i = " << i);
      79             :                 }
      80             :             }
      81             : 
      82     4684428 :           case TRI6:
      83             :           case TRI7:
      84             :             {
      85     4684428 :               switch(ii)
      86             :                 {
      87     1561476 :                 case 0:
      88     1561476 :                   return sign * RealGradient( -1.0+eta, -xi );
      89     1561476 :                 case 1:
      90     1561476 :                   return sign * RealGradient( eta, -xi );
      91     1561476 :                 case 2:
      92     1561476 :                   return sign * RealGradient( eta, -xi+1.0 );
      93             : 
      94           0 :                 default:
      95           0 :                   libmesh_error_msg("Invalid i = " << i);
      96             :                 }
      97             :             }
      98             : 
      99           0 :           default:
     100           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
     101             :           }
     102             :       }
     103             : 
     104             :       // quadratic Nedelec (first kind) shape functions
     105    17135584 :     case SECOND:
     106             :       {
     107    17135584 :         switch (elem->type())
     108             :           {
     109     7664544 :           case QUAD8:
     110             :           case QUAD9:
     111             :             {
     112             :               // Even with a loose inverse_map tolerance we ought to
     113             :               // be nearly on the element interior in master
     114             :               // coordinates
     115      637224 :               libmesh_assert_less_equal ( std::fabs(xi), 1.0+10*TOLERANCE );
     116      637224 :               libmesh_assert_less_equal ( std::fabs(eta), 1.0+10*TOLERANCE );
     117             : 
     118     7664544 :               const Real x = 0.5 * (xi + 1.0);
     119     7664544 :               const Real y = 0.5 * (eta + 1.0);
     120             : 
     121     7664544 :               switch(ii)
     122             :                 {
     123      638712 :                 case 0:
     124      638712 :                   return sign * RealGradient( 0.5*(-18.0*x*y*y+24.0*x*y-6.0*x+12.0*y*y-16.0*y+4.0), 0.0 );
     125      638712 :                 case 1:
     126      638712 :                   return sign * RealGradient( 0.5*( 18.0*x*y*y-24.0*x*y+6.0*x-6.0*y*y+8.0*y-2.0), 0.0 );
     127      638712 :                 case 2:
     128      638712 :                   return sign * RealGradient( 0.0, x*(-9.0*x*y+6.0*x+6.0*y-4.0) );
     129      638712 :                 case 3:
     130      638712 :                   return sign * RealGradient( 0.0, x*( 9.0*x*y-3.0*x-6.0*y+2.0) );
     131      638712 :                 case 4:
     132      638712 :                   return sign * RealGradient( y*(-9.0*x*y+6.0*x+3.0*y-2.0), 0.0 );
     133      638712 :                 case 5:
     134      638712 :                   return sign * RealGradient( y*( 9.0*x*y-6.0*x-6.0*y+4.0), 0.0 );
     135      638712 :                 case 6:
     136      638712 :                   return sign * RealGradient( 0.0, 0.5*(-18.0*x*x*y+6.0*x*x+24.0*x*y-8.0*x-6.0*y+2.0) );
     137      638712 :                 case 7:
     138      638712 :                   return sign * RealGradient( 0.0, 0.5*( 18.0*x*x*y-12.0*x*x-24.0*x*y+16.0*x+6.0*y-4.0) );
     139      638712 :                 case 8:
     140      638712 :                   return RealGradient( 0.0, 3.0*x*(3*x*y-2.0*x-3.0*y+2.0) );
     141      638712 :                 case 9:
     142      638712 :                   return RealGradient( 3.0*y*(-3.0*x*y+3.0*x+2.0*y-2.0), 0.0 );
     143      638712 :                 case 10:
     144      638712 :                   return RealGradient( 3.0*y*(3.0*x*y-3.0*x-y+1.0), 0.0 );
     145      638712 :                 case 11:
     146      638712 :                   return RealGradient( 0.0, 3.0*x*(-3.0*x*y+x+3.0*y-1.0) );
     147             : 
     148           0 :                 default:
     149           0 :                   libmesh_error_msg("Invalid i = " << i);
     150             :                 }
     151             :             }
     152             : 
     153     9471040 :           case TRI6:
     154             :           case TRI7:
     155             :             {
     156     9471040 :               switch(ii)
     157             :                 {
     158     1183880 :                 case 0:
     159     1183880 :                   return sign * RealGradient( 8.0*xi*eta-6.0*xi+8.0*eta*eta-12.0*eta+4.0, 2.0*xi*(-4.0*xi-4.0*eta+3.0) );
     160     1183880 :                 case 1:
     161     1183880 :                   return sign * RealGradient( -8.0*xi*eta+6.0*xi+2.0*eta-2.0, 4.0*xi*(2.0*xi-1.0) );
     162     1183880 :                 case 2:
     163     1183880 :                   return sign * RealGradient( 2.0*eta*(1.0-4.0*xi), 4.0*xi*(2.0*xi-1.0) );
     164     1183880 :                 case 3:
     165     1183880 :                   return sign * RealGradient( 4.0*eta*(1.0-2.0*eta), 2.0*xi*(4.0*eta-1.0) );
     166     1183880 :                 case 4:
     167     1183880 :                   return sign * RealGradient( 4.0*eta*(1.0-2.0*eta), 8.0*xi*eta-2.0*xi-6.0*eta+2.0 );
     168     1183880 :                 case 5:
     169     1183880 :                   return sign * RealGradient( 2.0*eta*(4.0*xi+4*eta-3.0), -8.0*xi*xi-8.0*xi*eta+12.0*xi+6.0*eta-4.0 );
     170     1183880 :                 case 6:
     171     1183880 :                   return RealGradient( 8.0*eta*(-xi-2.0*eta+2.0), 8.0*xi*(xi+2.0*eta-1.0) );
     172     1183880 :                 case 7:
     173     1183880 :                   return RealGradient( 8.0*eta*(2.0*xi+eta-1.0), 8.0*xi*(-2.0*xi-eta+2.0) );
     174             : 
     175           0 :                 default:
     176           0 :                   libmesh_error_msg("Invalid i = " << i);
     177             :                 }
     178             :             }
     179             : 
     180           0 :           default:
     181           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
     182             :           }
     183             :       }
     184             : 
     185             :       // cubic Nedelec (first kind) shape functions
     186    11197116 :     case THIRD:
     187             :       {
     188    11197116 :         switch (elem->type())
     189             :           {
     190     5130576 :           case QUAD8:
     191             :           case QUAD9:
     192             :             {
     193     5130576 :               switch(ii)
     194             :                 {
     195      213774 :                 case 0:
     196      213774 :                   return sign * RealGradient(-81.*eta/4. - 9.*xi + 162.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 135.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 324.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 99./4. + 81.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 270.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 15.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 45.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     197      213774 :                 case 1:
     198      213774 :                   return sign * RealGradient(27.*eta/8. + 15.*xi/4. - 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 135.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. + 135.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 75.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 51./8. - 27.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 15.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 75.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 15.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2., 0.);
     199      213774 :                 case 2:
     200      213774 :                   return sign * RealGradient(-27.*eta/4. - 6.*xi + 108.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 135.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 216.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 45./4. + 27.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 270.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 15.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 15.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     201      213774 :                 case 3:
     202      213774 :                   return sign * RealGradient(0., 27.*xi/4. - 54.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 216.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 45.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 27./4. - 180.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 54.*(xi + 1.)*(xi + 1.)/(2.*2.) + 45.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     203      213774 :                 case 4:
     204      213774 :                   return sign * RealGradient(0., -9.*xi/8. + 45.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 90.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 75.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 45.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 9./8. + 90.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 75.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 9.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 15.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2.);
     205      213774 :                 case 5:
     206      213774 :                   return sign * RealGradient(0., 9.*xi/4. - 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 144.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 45.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 9./4. - 180.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 18.*(xi + 1.)*(xi + 1.)/(2.*2.) + 15.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     207      213774 :                 case 6:
     208      213774 :                   return sign * RealGradient(-9.*eta/4. + 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 45.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 144.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 9./4. + 18.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 180.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 15.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     209      213774 :                 case 7:
     210      213774 :                   return sign * RealGradient(9.*eta/8. - 45.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 45.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. + 90.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 75.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 9./8. - 9.*(eta + 1.)*(eta + 1.)/(2.*2.) - 90.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 75.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 15.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2., 0.);
     211      213774 :                 case 8:
     212      213774 :                   return sign * RealGradient(-27.*eta/4. + 54.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 45.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 216.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 27./4. + 54.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 180.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 45.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     213      213774 :                 case 9:
     214      213774 :                   return sign * RealGradient(0., 6.*eta + 27.*xi/4. - 108.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 216.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 135.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 45./4. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.) - 270.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 27.*(xi + 1.)*(xi + 1.)/(2.*2.) + 15.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     215      213774 :                 case 10:
     216      213774 :                   return sign * RealGradient(0., -15.*eta/4. - 27.*xi/8. + 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 135.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 75.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 135.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 51./8. + 15.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 75.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 27.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 15.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2.);
     217      213774 :                 case 11:
     218      213774 :                   return sign * RealGradient(0., 9.*eta + 81.*xi/4. - 162.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 324.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 135.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 99./4. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.) - 270.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 81.*(xi + 1.)*(xi + 1.)/(2.*2.) + 45.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     219      213774 :                 case 12:
     220      213774 :                   return RealGradient(0., 18.*xi - 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 324.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 18. - 270.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 81.*(xi + 1.)*(xi + 1.)/(2.*2.) + 45.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     221      213774 :                 case 13:
     222      213774 :                   return RealGradient(0., -9.*xi/2. + 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 216.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 30.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 9./2. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 54.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 45.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
     223      213774 :                 case 14:
     224      213774 :                   return RealGradient(-18.*eta + 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 324.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 18. + 81.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 270.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 45.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     225      213774 :                 case 15:
     226      213774 :                   return RealGradient(9.*eta/2. - 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 30.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 216.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 9./2. - 54.*(eta + 1.)*(eta + 1.)/(2.*2.) - 180.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 45.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     227      213774 :                 case 16:
     228      213774 :                   return RealGradient(-6.*eta + 96.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 216.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 6. + 27.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 270.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 15.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     229      213774 :                 case 17:
     230      213774 :                   return RealGradient(3.*eta/2. - 24.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 30.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 144.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 120.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3./2. - 18.*(eta + 1.)*(eta + 1.)/(2.*2.) - 180.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 15.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     231      213774 :                 case 18:
     232      213774 :                   return RealGradient(0., 6.*xi - 96.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 216.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 6. - 270.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 27.*(xi + 1.)*(xi + 1.)/(2.*2.) + 15.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     233      213774 :                 case 19:
     234      213774 :                   return RealGradient(0., -3.*xi/2. + 24.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 144.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 120.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 30.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 3./2. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 18.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 15.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
     235      213774 :                 case 20:
     236      213774 :                   return RealGradient(2.*eta + 2. - 9.*(eta + 1.)*(eta + 1.)/(2.*2.) + 5.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     237      213774 :                 case 21:
     238      213774 :                   return RealGradient(0., 2.*xi + 2. - 9.*(xi + 1.)*(xi + 1.)/(2.*2.) + 5.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     239      213774 :                 case 22:
     240      213774 :                   return RealGradient(0., -xi/2. - 1./2. + 6.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 5.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
     241      213774 :                 case 23:
     242      213774 :                   return RealGradient(-eta/2. - 1./2. + 6.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 5.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     243           0 :                 default:
     244           0 :                   libmesh_error_msg("Invalid i = " << i);
     245             :                 }
     246             :             }
     247             : 
     248     6066540 :           case TRI6:
     249             :           case TRI7:
     250             :             {
     251     6066540 :               switch(ii)
     252             :                 {
     253      404436 :                 case 0:
     254      404436 :                   return sign * RealGradient(120.*eta*xi - 54.*eta - 45.*eta*xi*xi - 36.*xi - 90.*xi*eta*eta + 9. + 90.*(eta*eta) + 30.*(xi*xi) - 45.*eta*eta*eta, -60.*eta*xi + 90.*eta*(xi*xi) + 18.*xi + 45.*xi*(eta*eta) - 60.*xi*xi + 45.*(xi*xi*xi));
     255      404436 :                 case 1:
     256      404436 :                   return sign * RealGradient(-75.*eta*xi/2. - 9.*eta/4. + 45.*eta*(xi*xi)/2. + 15.*xi + 45.*xi*(eta*eta)/2. - 3./2. + 15.*(eta*eta) - 15.*xi*xi - 45.*eta*eta*eta/4., -45.*eta*xi*xi/2. - 21.*xi/4. + 45.*xi*(eta*eta)/4. + 105.*(xi*xi)/4. - 45.*xi*xi*xi/2.);
     257      404436 :                 case 2:
     258      404436 :                   return sign * RealGradient(30.*eta*xi - 3.*eta - 45.*eta*xi*xi - 24.*xi + 3. + 30.*(xi*xi), 9.*xi - 45.*xi*xi + 45.*(xi*xi*xi));
     259      404436 :                 case 3:
     260      404436 :                   return sign * RealGradient(30.*eta*xi - 3.*eta - 45.*eta*xi*xi, 9.*xi - 45.*xi*xi + 45.*(xi*xi*xi));
     261      404436 :                 case 4:
     262      404436 :                   return sign * RealGradient(45.*eta*xi/2. - 6.*eta - 45.*eta*xi*xi/4. - 45.*xi*eta*eta + 75.*(eta*eta)/4. - 45.*eta*eta*eta/4., -45.*eta*xi/2. + 45.*eta*(xi*xi) + 6.*xi + 45.*xi*(eta*eta)/4. - 75.*xi*xi/4. + 45.*(xi*xi*xi)/4.);
     263      404436 :                 case 5:
     264      404436 :                   return sign * RealGradient(-9.*eta + 45.*(eta*eta) - 45.*eta*eta*eta, -30.*eta*xi + 3.*xi + 45.*xi*(eta*eta));
     265      404436 :                 case 6:
     266      404436 :                   return sign * RealGradient(-9.*eta + 45.*(eta*eta) - 45.*eta*eta*eta, -30.*eta*xi + 24.*eta + 3.*xi + 45.*xi*(eta*eta) - 3. - 30.*eta*eta);
     267      404436 :                 case 7:
     268      404436 :                   return sign * RealGradient(21.*eta/4. - 45.*eta*xi*xi/4. + 45.*xi*(eta*eta)/2. - 105.*eta*eta/4. + 45.*(eta*eta*eta)/2., 75.*eta*xi/2. - 15.*eta - 45.*eta*xi*xi/2. + 9.*xi/4. - 45.*xi*eta*eta/2. + 3./2. + 15.*(eta*eta) - 15.*xi*xi + 45.*(xi*xi*xi)/4.);
     269      404436 :                 case 8:
     270      404436 :                   return sign * RealGradient(60.*eta*xi - 18.*eta - 45.*eta*xi*xi - 90.*xi*eta*eta + 60.*(eta*eta) - 45.*eta*eta*eta, -120.*eta*xi + 36.*eta + 90.*eta*(xi*xi) + 54.*xi + 45.*xi*(eta*eta) - 9. - 30.*eta*eta - 90.*xi*xi + 45.*(xi*xi*xi));
     271      404436 :                 case 9:
     272      404436 :                   return RealGradient(-300.*eta*xi + 180.*eta + 90.*eta*(xi*xi) + 360.*xi*(eta*eta) - 450.*eta*eta + 270.*(eta*eta*eta), 300.*eta*xi - 360.*eta*xi*xi - 60.*xi - 270.*xi*eta*eta + 150.*(xi*xi) - 90.*xi*xi*xi);
     273      404436 :                 case 10:
     274      404436 :                   return RealGradient(300.*eta*xi - 60.*eta - 270.*eta*xi*xi - 360.*xi*eta*eta + 150.*(eta*eta) - 90.*eta*eta*eta, -300.*eta*xi + 360.*eta*(xi*xi) + 180.*xi + 90.*xi*(eta*eta) - 450.*xi*xi + 270.*(xi*xi*xi));
     275      404436 :                 case 11:
     276      404436 :                   return RealGradient(360.*eta*xi - 60.*eta - 180.*eta*xi*xi - 360.*xi*eta*eta + 60.*(eta*eta), -120.*eta*xi + 360.*eta*(xi*xi) + 60.*xi - 240.*xi*xi + 180.*(xi*xi*xi));
     277      404436 :                 case 12:
     278      404436 :                   return RealGradient(-240.*eta*xi + 30.*eta + 270.*eta*(xi*xi) + 180.*xi*(eta*eta) - 30.*eta*eta, 60.*eta*xi - 180.*eta*xi*xi - 90.*xi + 360.*(xi*xi) - 270.*xi*xi*xi);
     279      404436 :                 case 13:
     280      404436 :                   return RealGradient(60.*eta*xi - 90.*eta - 180.*xi*eta*eta + 360.*(eta*eta) - 270.*eta*eta*eta, -240.*eta*xi + 180.*eta*(xi*xi) + 30.*xi + 270.*xi*(eta*eta) - 30.*xi*xi);
     281      404436 :                 case 14:
     282      404436 :                   return RealGradient(-120.*eta*xi + 60.*eta + 360.*xi*(eta*eta) - 240.*eta*eta + 180.*(eta*eta*eta), 360.*eta*xi - 360.*eta*xi*xi - 60.*xi - 180.*xi*eta*eta + 60.*(xi*xi));
     283           0 :                 default:
     284           0 :                   libmesh_error_msg("Invalid i = " << i);
     285             :                 }
     286             :             }
     287             : 
     288           0 :           default:
     289           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
     290             :           } // end switch (type)
     291             :       } // end case THIRD
     292             : 
     293             :       // quartic Nedelec (first kind) shape functions
     294           0 :     case FOURTH:
     295             :       {
     296           0 :         switch (elem->type())
     297             :           {
     298           0 :           case QUAD8:
     299             :           case QUAD9:
     300             :             {
     301           0 :               switch(ii)
     302             :                 {
     303           0 :                 case 0:
     304           0 :                   return sign * RealGradient(-64.*eta - 30.*xi + 960.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1920.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 1120.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 4800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 86. + 480.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 7200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 120.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 9600.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 640.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 70.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 2450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 280.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
     305           0 :                 case 1:
     306           0 :                   return sign * RealGradient(272.*eta/27. + 95.*xi/9. - 3040.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. + 6880.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 12320.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 3800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. - 15200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 6650.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9. + 523./27. - 680.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 8600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 15400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 430.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 34400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 15050.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9. + 2720.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/27. - 61600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 770.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. + 26950.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/27. - 1190.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/27., 0.);
     307           0 :                 case 2:
     308           0 :                   return sign * RealGradient(-128.*eta/27. - 50.*xi/9. + 1600.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. - 5440.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 12320.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 2000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. + 8000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 3500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9. - 262./27. + 320.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 6800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 15400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 340.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 27200.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 11900.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9. - 1280.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/27. + 61600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 770.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. - 26950.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/27. + 560.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/27., 0.);
     309           0 :                 case 3:
     310           0 :                   return sign * RealGradient(16.*eta + 15.*xi - 480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1440.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1050.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 29. - 120.*(eta + 1.)*(eta + 1.)/(2.*2.) - 5400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 4200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 90.*(xi + 1.)*(xi + 1.)/(2.*2.) + 7200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 160.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 70.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 2450.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 70.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
     311           0 :                 case 4:
     312           0 :                   return sign * RealGradient(0., -16.*xi + 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 3600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2100.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 480.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 280.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 16. + 3600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 240.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2100.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2450.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 480.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 280.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
     313           0 :                 case 5:
     314           0 :                   return sign * RealGradient(0., 68.*xi/27. - 760.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. + 1900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 3800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/3. + 6650.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9. + 1720.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/9. - 3080.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/27. + 68./27. - 4300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 8600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/3. - 15050.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9. - 340.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 7700.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 15400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 26950.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/27. + 680.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 1190.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/27.);
     315           0 :                 case 6:
     316           0 :                   return sign * RealGradient(0., -32.*xi/27. + 400.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. - 1000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 2000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/3. - 3500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9. - 1360.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/9. + 3080.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/27. - 32./27. + 3400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 6800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/3. + 11900.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9. + 160.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 7700.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 15400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 26950.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/27. - 320.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 560.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/27.);
     317           0 :                 case 7:
     318           0 :                   return sign * RealGradient(0., 4.*xi - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1050.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 360.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 280.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4. - 2700.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3150.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 60.*(xi + 1.)*(xi + 1.)/(2.*2.) + 2100.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 120.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 70.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
     319           0 :                 case 8:
     320           0 :                   return sign * RealGradient(-4.*eta + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 280.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 1800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1050.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 4. + 60.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 2700.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2100.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 5400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3150.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 120.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 70.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
     321           0 :                 case 9:
     322           0 :                   return sign * RealGradient(32.*eta/27. - 400.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. + 1360.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 3080.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 1000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. - 2000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/3. + 3500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9. + 32./27. - 160.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 3400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 7700.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. + 6800.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/3. - 11900.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9. + 320.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 15400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 26950.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/27. - 560.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/27., 0.);
     323           0 :                 case 10:
     324           0 :                   return sign * RealGradient(-68.*eta/27. + 760.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. - 1720.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 3080.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 1900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. + 3800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/3. - 6650.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9. - 68./27. + 340.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 4300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 7700.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. - 8600.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/3. + 15050.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9. - 680.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 15400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 26950.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/27. + 1190.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/27., 0.);
     325           0 :                 case 11:
     326           0 :                   return sign * RealGradient(16.*eta - 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 480.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 280.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 3600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 16. - 240.*(eta + 1.)*(eta + 1.)/(2.*2.) - 3600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2100.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 7200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4200.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 480.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2450.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 280.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
     327           0 :                 case 12:
     328           0 :                   return sign * RealGradient(0., -15.*eta - 16.*xi + 480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1050.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1440.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 1120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 29. + 90.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 5400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 120.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4200.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 70.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2450.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 160.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 70.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
     329           0 :                 case 13:
     330           0 :                   return sign * RealGradient(0., 50.*eta/9. + 128.*xi/27. - 1600.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. + 2000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 8000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 3500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9. + 5440.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/9. - 12320.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/27. + 262./27. - 340.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 6800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 27200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 11900.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9. - 320.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 15400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. + 770.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/27. - 61600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 26950.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/27. + 1280.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 560.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/27.);
     331           0 :                 case 14:
     332           0 :                   return sign * RealGradient(0., -95.*eta/9. - 272.*xi/27. + 3040.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. - 3800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 15200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 6650.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9. - 6880.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/9. + 12320.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/27. - 523./27. + 430.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 8600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 34400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 15050.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9. + 680.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 15400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. - 770.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/27. + 61600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 26950.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/27. - 2720.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 1190.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/27.);
     333           0 :                 case 15:
     334           0 :                   return sign * RealGradient(0., 30.*eta + 64.*xi - 960.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1920.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 1120.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 86. - 120.*(eta + 1.)*(eta + 1.)/(2.*2.) - 7200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 9600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 480.*(xi + 1.)*(xi + 1.)/(2.*2.) + 4200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 70.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 640.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 280.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
     335           0 :                 case 16:
     336           0 :                   return RealGradient(0., 52.*xi - 780.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3480.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1560.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 910.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 52. - 6960.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 9600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 464.*(xi + 1.)*(xi + 1.)/(2.*2.) + 4060.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 640.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 280.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
     337           0 :                 case 17:
     338           0 :                   return RealGradient(0., 12.*xi - 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1680.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3600.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 360.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 210.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 12. - 3360.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 7200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 224.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1960.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 480.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 280.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
     339           0 :                 case 18:
     340           0 :                   return RealGradient(0., 16.*xi - 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 240.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 480.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 280.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 16. - 480.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 32.*(xi + 1.)*(xi + 1.)/(2.*2.) + 280.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)));
     341           0 :                 case 19:
     342           0 :                   return RealGradient(-52.*eta + 780.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1560.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 910.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3480.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 4800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 52. + 464.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 6960.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4060.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 9600.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 640.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 280.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
     343           0 :                 case 20:
     344           0 :                   return RealGradient(-12.*eta + 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 210.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1680.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 3600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 12. + 224.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 3360.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1960.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 7200.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 480.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 280.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
     345           0 :                 case 21:
     346           0 :                   return RealGradient(-16.*eta + 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 480.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 280.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 240.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 16. + 32.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 480.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 280.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
     347           0 :                 case 22:
     348           0 :                   return RealGradient(13.*eta - 390.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1170.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 910.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1740.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1050.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 13. - 116.*(eta + 1.)*(eta + 1.)/(2.*2.) - 5220.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 4060.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 7200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 160.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2450.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 70.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
     349           0 :                 case 23:
     350           0 :                   return RealGradient(3.*eta - 90.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 210.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 840.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 1800.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1050.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 3. - 56.*(eta + 1.)*(eta + 1.)/(2.*2.) - 2520.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 1960.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 5400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 120.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2450.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 70.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
     351           0 :                 case 24:
     352           0 :                   return RealGradient(4.*eta - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 360.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 280.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 4. - 8.*(eta + 1.)*(eta + 1.)/(2.*2.) - 360.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 280.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)), 0.);
     353           0 :                 case 25:
     354           0 :                   return RealGradient(0., -13.*xi + 390.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1740.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1050.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1170.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 910.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 13. + 5220.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 116.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4060.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2450.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 160.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 70.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
     355           0 :                 case 26:
     356           0 :                   return RealGradient(0., -3.*xi + 90.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 840.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 1800.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1050.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 210.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3. + 2520.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 5400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 56.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1960.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2450.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 120.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 70.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
     357           0 :                 case 27:
     358           0 :                   return RealGradient(0., -4.*xi + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 360.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 280.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4. + 360.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 8.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 280.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.));
     359           0 :                 case 28:
     360           0 :                   return RealGradient(12.*eta - 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 171.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 240.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 105.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 12. - 114.*(eta + 1.)*(eta + 1.)/(2.*2.) + 160.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 70.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
     361           0 :                 case 29:
     362           0 :                   return RealGradient(-6.*eta + 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 171.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 240.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 105.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 6. + 57.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 80.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 35.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
     363           0 :                 case 30:
     364           0 :                   return RealGradient(0., 12.*xi - 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 171.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 240.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 105.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 12. - 114.*(xi + 1.)*(xi + 1.)/(2.*2.) + 160.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 70.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
     365           0 :                 case 31:
     366           0 :                   return RealGradient(0., -6.*xi + 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 171.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 240.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 105.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 6. + 57.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 80.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 35.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
     367           0 :                 case 32:
     368           0 :                   return RealGradient(0., 2.*xi - 6.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 81.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 105.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 2. - 54.*(xi + 1.)*(xi + 1.)/(2.*2.) + 120.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 70.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
     369           0 :                 case 33:
     370           0 :                   return RealGradient(0., -xi + 6.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 81.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 105.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1. + 27.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 60.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 35.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
     371           0 :                 case 34:
     372           0 :                   return RealGradient(2.*eta - 6.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 81.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 105.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 2. - 54.*(eta + 1.)*(eta + 1.)/(2.*2.) + 120.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 70.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
     373           0 :                 case 35:
     374           0 :                   return RealGradient(-eta + 6.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 81.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 105.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 1. + 27.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 60.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 35.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
     375           0 :                 case 36:
     376           0 :                   return RealGradient(0., 6.*xi - 18.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 18.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 6. - 12.*(xi + 1.)*(xi + 1.)/(2.*2.));
     377           0 :                 case 37:
     378           0 :                   return RealGradient(-6.*eta + 18.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 18.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 6. + 12.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
     379           0 :                 case 38:
     380           0 :                   return RealGradient(3.*eta - 18.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 18.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 3. - 6.*(eta + 1.)*(eta + 1.)/(2.*2.), 0.);
     381           0 :                 case 39:
     382           0 :                   return RealGradient(0., -3.*xi + 18.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 18.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 3. + 6.*((xi + 1.)*(xi + 1.)/(2.*2.)));
     383           0 :                 default:
     384           0 :                   libmesh_error_msg("Invalid i = " << i);
     385             :                 }
     386             :             }
     387             : 
     388           0 :           case TRI6:
     389             :           case TRI7:
     390             :             {
     391           0 :               switch(ii)
     392             :                 {
     393           0 :                 case 0:
     394           0 :                   return sign * RealGradient(720.*eta*xi - 160.*eta - 840.*eta*xi*xi + 224.*eta*(xi*xi*xi) - 120.*xi - 1260.*xi*eta*eta + 672.*xi*(eta*eta*eta) + 16. + 480.*(eta*eta) + 672.*(eta*eta)*(xi*xi) + 240.*(xi*xi) - 560.*eta*eta*eta - 140.*xi*xi*xi + 224.*(eta*eta*eta*eta), -240.*eta*xi + 840.*eta*(xi*xi) - 672.*eta*xi*xi*xi + 40.*xi + 420.*xi*(eta*eta) - 224.*xi*eta*eta*eta - 672.*eta*eta*xi*xi - 240.*xi*xi + 420.*(xi*xi*xi) - 224.*xi*xi*xi*xi);
     395           0 :                 case 1:
     396           0 :                   return sign * RealGradient(-200.*eta*xi - 76.*eta/27. + 2884.*eta*(xi*xi)/9. - 2464.*eta*xi*xi*xi/27. + 380.*xi/9. + 784.*xi*(eta*eta)/3. - 896.*xi*eta*eta*eta/9. - 68./27. + 608.*(eta*eta)/9. - 2240.*eta*eta*xi*xi/9. - 860.*xi*xi/9. - 3472.*eta*eta*eta/27. + 1540.*(xi*xi*xi)/27. + 1792.*(eta*eta*eta*eta)/27., 176.*eta*xi/9. - 2128.*eta*xi*xi/9. + 2240.*eta*(xi*xi*xi)/9. - 296.*xi/27. + 448.*xi*(eta*eta)/9. - 1792.*xi*eta*eta*eta/27. + 896.*(eta*eta)*(xi*xi)/9. + 800.*(xi*xi)/9. - 168.*xi*xi*xi + 2464.*(xi*xi*xi*xi)/27.);
     397           0 :                 case 2:
     398           0 :                   return sign * RealGradient(-16.*eta*xi + 112.*eta/27. - 1120.*eta*xi*xi/9. + 2464.*eta*(xi*xi*xi)/27. - 200.*xi/9. + 476.*xi*(eta*eta)/3. - 1120.*xi*eta*eta*eta/9. + 32./27. - 104.*eta*eta/9. + 224.*(eta*eta)*(xi*xi)/9. + 680.*(xi*xi)/9. - 56.*eta*eta*eta/27. - 1540.*xi*xi*xi/27. + 224.*(eta*eta*eta*eta)/27., 112.*eta*xi/9. - 392.*eta*xi*xi/9. - 224.*eta*xi*xi*xi/9. + 152.*xi/27. - 196.*xi*eta*eta/9. - 224.*xi*eta*eta*eta/27. + 1120.*(eta*eta)*(xi*xi)/9. - 512.*xi*xi/9. + 140.*(xi*xi*xi) - 2464.*xi*xi*xi*xi/27.);
     399           0 :                 case 3:
     400           0 :                   return sign * RealGradient(-72.*eta*xi + 4.*eta + 252.*eta*(xi*xi) - 224.*eta*xi*xi*xi + 60.*xi - 4. - 180.*xi*xi + 140.*(xi*xi*xi), -16.*xi + 144.*(xi*xi) - 336.*xi*xi*xi + 224.*(xi*xi*xi*xi));
     401           0 :                 case 4:
     402           0 :                   return sign * RealGradient(-72.*eta*xi + 4.*eta + 252.*eta*(xi*xi) - 224.*eta*xi*xi*xi, -16.*xi + 144.*(xi*xi) - 336.*xi*xi*xi + 224.*(xi*xi*xi*xi));
     403           0 :                 case 5:
     404           0 :                   return sign * RealGradient(-80.*eta*xi + 8.*eta + 448.*eta*(xi*xi)/3. - 1792.*eta*xi*xi*xi/27. + 784.*xi*(eta*eta)/3. - 448.*xi*eta*eta*eta/3. - 32.*eta*eta - 896.*eta*eta*xi*xi/3. + 280.*(eta*eta*eta)/9. - 224.*eta*eta*eta*eta/27., 56.*eta*xi - 896.*eta*xi*xi/3. + 896.*eta*(xi*xi*xi)/3. - 12.*xi - 140.*xi*eta*eta/3. + 224.*xi*(eta*eta*eta)/27. + 448.*(eta*eta)*(xi*xi)/3. + 80.*(xi*xi) - 1232.*xi*xi*xi/9. + 1792.*(xi*xi*xi*xi)/27.);
     405           0 :                 case 6:
     406           0 :                   return sign * RealGradient(-56.*eta*xi + 12.*eta + 140.*eta*(xi*xi)/3. - 224.*eta*xi*xi*xi/27. + 896.*xi*(eta*eta)/3. - 896.*xi*eta*eta*eta/3. - 80.*eta*eta - 448.*eta*eta*xi*xi/3. + 1232.*(eta*eta*eta)/9. - 1792.*eta*eta*eta*eta/27., 80.*eta*xi - 784.*eta*xi*xi/3. + 448.*eta*(xi*xi*xi)/3. - 8.*xi - 448.*xi*eta*eta/3. + 1792.*xi*(eta*eta*eta)/27. + 896.*(eta*eta)*(xi*xi)/3. + 32.*(xi*xi) - 280.*xi*xi*xi/9. + 224.*(xi*xi*xi*xi)/27.);
     407           0 :                 case 7:
     408           0 :                   return sign * RealGradient(16.*eta - 144.*eta*eta + 336.*(eta*eta*eta) - 224.*eta*eta*eta*eta, 72.*eta*xi - 4.*xi - 252.*xi*eta*eta + 224.*xi*(eta*eta*eta));
     409           0 :                 case 8:
     410           0 :                   return sign * RealGradient(16.*eta - 144.*eta*eta + 336.*(eta*eta*eta) - 224.*eta*eta*eta*eta, 72.*eta*xi - 60.*eta - 4.*xi - 252.*xi*eta*eta + 224.*xi*(eta*eta*eta) + 4. + 180.*(eta*eta) - 140.*eta*eta*eta);
     411           0 :                 case 9:
     412           0 :                   return sign * RealGradient(-112.*eta*xi/9. - 152.*eta/27. + 196.*eta*(xi*xi)/9. + 224.*eta*(xi*xi*xi)/27. + 392.*xi*(eta*eta)/9. + 224.*xi*(eta*eta*eta)/9. + 512.*(eta*eta)/9. - 1120.*eta*eta*xi*xi/9. - 140.*eta*eta*eta + 2464.*(eta*eta*eta*eta)/27., 16.*eta*xi + 200.*eta/9. - 476.*eta*xi*xi/3. + 1120.*eta*(xi*xi*xi)/9. - 112.*xi/27. + 1120.*xi*(eta*eta)/9. - 2464.*xi*eta*eta*eta/27. - 32./27. - 680.*eta*eta/9. - 224.*eta*eta*xi*xi/9. + 104.*(xi*xi)/9. + 1540.*(eta*eta*eta)/27. + 56.*(xi*xi*xi)/27. - 224.*xi*xi*xi*xi/27.);
     413           0 :                 case 10:
     414           0 :                   return sign * RealGradient(-176.*eta*xi/9. + 296.*eta/27. - 448.*eta*xi*xi/9. + 1792.*eta*(xi*xi*xi)/27. + 2128.*xi*(eta*eta)/9. - 2240.*xi*eta*eta*eta/9. - 800.*eta*eta/9. - 896.*eta*eta*xi*xi/9. + 168.*(eta*eta*eta) - 2464.*eta*eta*eta*eta/27., 200.*eta*xi - 380.*eta/9. - 784.*eta*xi*xi/3. + 896.*eta*(xi*xi*xi)/9. + 76.*xi/27. - 2884.*xi*eta*eta/9. + 2464.*xi*(eta*eta*eta)/27. + 68./27. + 860.*(eta*eta)/9. + 2240.*(eta*eta)*(xi*xi)/9. - 608.*xi*xi/9. - 1540.*eta*eta*eta/27. + 3472.*(xi*xi*xi)/27. - 1792.*xi*xi*xi*xi/27.);
     415           0 :                 case 11:
     416           0 :                   return sign * RealGradient(240.*eta*xi - 40.*eta - 420.*eta*xi*xi + 224.*eta*(xi*xi*xi) - 840.*xi*eta*eta + 672.*xi*(eta*eta*eta) + 240.*(eta*eta) + 672.*(eta*eta)*(xi*xi) - 420.*eta*eta*eta + 224.*(eta*eta*eta*eta), -720.*eta*xi + 120.*eta + 1260.*eta*(xi*xi) - 672.*eta*xi*xi*xi + 160.*xi + 840.*xi*(eta*eta) - 224.*xi*eta*eta*eta - 16. - 240.*eta*eta - 672.*eta*eta*xi*xi - 480.*xi*xi + 140.*(eta*eta*eta) + 560.*(xi*xi*xi) - 224.*xi*xi*xi*xi);
     417           0 :                 case 12:
     418           0 :                   return RealGradient(-3240.*eta*xi + 960.*eta + 3024.*eta*(xi*xi) - 672.*eta*xi*xi*xi + 9072.*xi*(eta*eta) - 6048.*xi*eta*eta*eta - 4320.*eta*eta - 4032.*eta*eta*xi*xi + 6048.*(eta*eta*eta) - 2688.*eta*eta*eta*eta, 2160.*eta*xi - 6048.*eta*xi*xi + 4032.*eta*(xi*xi*xi) - 240.*xi - 4536.*xi*eta*eta + 2688.*xi*(eta*eta*eta) + 6048.*(eta*eta)*(xi*xi) + 1080.*(xi*xi) - 1512.*xi*xi*xi + 672.*(xi*xi*xi*xi));
     419           0 :                 case 13:
     420           0 :                   return RealGradient(2160.*eta*xi - 240.*eta - 4536.*eta*xi*xi + 2688.*eta*(xi*xi*xi) - 6048.*xi*eta*eta + 4032.*xi*(eta*eta*eta) + 1080.*(eta*eta) + 6048.*(eta*eta)*(xi*xi) - 1512.*eta*eta*eta + 672.*(eta*eta*eta*eta), -3240.*eta*xi + 9072.*eta*(xi*xi) - 6048.*eta*xi*xi*xi + 960.*xi + 3024.*xi*(eta*eta) - 672.*xi*eta*eta*eta - 4032.*eta*eta*xi*xi - 4320.*xi*xi + 6048.*(xi*xi*xi) - 2688.*xi*xi*xi*xi);
     421           0 :                 case 14:
     422           0 :                   return RealGradient(-1944.*eta*xi + 144.*eta + 4536.*eta*(xi*xi) - 2016.*eta*xi*xi*xi + 2016.*xi*(eta*eta) - 144.*eta*eta - 4032.*eta*eta*xi*xi, 432.*eta*xi - 3024.*eta*xi*xi + 4032.*eta*(xi*xi*xi) - 216.*xi + 1728.*(xi*xi) - 3528.*xi*xi*xi + 2016.*(xi*xi*xi*xi));
     423           0 :                 case 15:
     424           0 :                   return RealGradient(1152.*eta*xi - 72.*eta - 3528.*eta*xi*xi + 2688.*eta*(xi*xi*xi) - 1008.*xi*eta*eta + 72.*(eta*eta) + 2016.*(eta*eta)*(xi*xi), -216.*eta*xi + 1512.*eta*(xi*xi) - 2016.*eta*xi*xi*xi + 288.*xi - 2304.*xi*xi + 4704.*(xi*xi*xi) - 2688.*xi*xi*xi*xi);
     425           0 :                 case 16:
     426           0 :                   return RealGradient(-216.*eta*xi + 288.*eta + 1512.*xi*(eta*eta) - 2016.*xi*eta*eta*eta - 2304.*eta*eta + 4704.*(eta*eta*eta) - 2688.*eta*eta*eta*eta, 1152.*eta*xi - 1008.*eta*xi*xi - 72.*xi - 3528.*xi*eta*eta + 2688.*xi*(eta*eta*eta) + 2016.*(eta*eta)*(xi*xi) + 72.*(xi*xi));
     427           0 :                 case 17:
     428           0 :                   return RealGradient(432.*eta*xi - 216.*eta - 3024.*xi*eta*eta + 4032.*xi*(eta*eta*eta) + 1728.*(eta*eta) - 3528.*eta*eta*eta + 2016.*(eta*eta*eta*eta), -1944.*eta*xi + 2016.*eta*(xi*xi) + 144.*xi + 4536.*xi*(eta*eta) - 2016.*xi*eta*eta*eta - 4032.*eta*eta*xi*xi - 144.*xi*xi);
     429           0 :                 case 18:
     430           0 :                   return RealGradient(-1332.*eta*xi + 216.*eta + 1638.*eta*(xi*xi) - 504.*eta*xi*xi*xi + 4788.*xi*(eta*eta) - 3528.*xi*eta*eta*eta - 1098.*eta*eta - 3024.*eta*eta*xi*xi + 1554.*(eta*eta*eta) - 672.*eta*eta*eta*eta, 1044.*eta*xi - 4032.*eta*xi*xi + 3024.*eta*(xi*xi*xi) - 144.*xi - 1638.*xi*eta*eta + 672.*xi*(eta*eta*eta) + 3528.*(eta*eta)*(xi*xi) + 774.*(xi*xi) - 1134.*xi*xi*xi + 504.*(xi*xi*xi*xi));
     431           0 :                 case 19:
     432           0 :                   return RealGradient(1044.*eta*xi - 144.*eta - 1638.*eta*xi*xi + 672.*eta*(xi*xi*xi) - 4032.*xi*eta*eta + 3024.*xi*(eta*eta*eta) + 774.*(eta*eta) + 3528.*(eta*eta)*(xi*xi) - 1134.*eta*eta*eta + 504.*(eta*eta*eta*eta), -1332.*eta*xi + 4788.*eta*(xi*xi) - 3528.*eta*xi*xi*xi + 216.*xi + 1638.*xi*(eta*eta) - 504.*xi*eta*eta*eta - 3024.*eta*eta*xi*xi - 1098.*xi*xi + 1554.*(xi*xi*xi) - 672.*xi*xi*xi*xi);
     433           0 :                 case 20:
     434           0 :                   return RealGradient(-216.*eta*xi - 48.*eta + 504.*eta*(xi*xi) - 168.*eta*xi*xi*xi - 756.*xi*eta*eta + 1008.*xi*(eta*eta*eta) + 720.*(eta*eta) - 1344.*eta*eta*eta + 672.*(eta*eta*eta*eta), -360.*eta*xi + 504.*eta*(xi*xi) + 12.*xi + 1008.*xi*(eta*eta) - 672.*xi*eta*eta*eta - 1008.*eta*eta*xi*xi + 72.*(xi*xi) - 252.*xi*xi*xi + 168.*(xi*xi*xi*xi));
     435           0 :                 case 21:
     436           0 :                   return RealGradient(-216.*eta*xi + 66.*eta - 378.*eta*xi*xi + 672.*eta*(xi*xi*xi) + 2268.*xi*(eta*eta) - 2016.*xi*eta*eta*eta - 486.*eta*eta - 1512.*eta*eta*xi*xi + 756.*(eta*eta*eta) - 336.*eta*eta*eta*eta, 1188.*eta*xi - 2772.*eta*xi*xi + 1512.*eta*(xi*xi*xi) + 6.*xi - 1512.*xi*eta*eta + 336.*xi*(eta*eta*eta) + 2016.*(eta*eta)*(xi*xi) - 468.*xi*xi + 1134.*(xi*xi*xi) - 672.*xi*xi*xi*xi);
     437           0 :                 case 22:
     438           0 :                   return RealGradient(1188.*eta*xi + 6.*eta - 1512.*eta*xi*xi + 336.*eta*(xi*xi*xi) - 2772.*xi*eta*eta + 1512.*xi*(eta*eta*eta) - 468.*eta*eta + 2016.*(eta*eta)*(xi*xi) + 1134.*(eta*eta*eta) - 672.*eta*eta*eta*eta, -216.*eta*xi + 2268.*eta*(xi*xi) - 2016.*eta*xi*xi*xi + 66.*xi - 378.*xi*eta*eta + 672.*xi*(eta*eta*eta) - 1512.*eta*eta*xi*xi - 486.*xi*xi + 756.*(xi*xi*xi) - 336.*xi*xi*xi*xi);
     439           0 :                 case 23:
     440           0 :                   return RealGradient(-360.*eta*xi + 12.*eta + 1008.*eta*(xi*xi) - 672.*eta*xi*xi*xi + 504.*xi*(eta*eta) + 72.*(eta*eta) - 1008.*eta*eta*xi*xi - 252.*eta*eta*eta + 168.*(eta*eta*eta*eta), -216.*eta*xi - 756.*eta*xi*xi + 1008.*eta*(xi*xi*xi) - 48.*xi + 504.*xi*(eta*eta) - 168.*xi*eta*eta*eta + 720.*(xi*xi) - 1344.*xi*xi*xi + 672.*(xi*xi*xi*xi));
     441           0 :                 default:
     442           0 :                   libmesh_error_msg("Invalid i = " << i);
     443             :                 }
     444             :             }
     445             : 
     446           0 :           default:
     447           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
     448             :           } // end switch (type)
     449             :       } // end case FOURTH
     450             : 
     451             :       // quintic Nedelec (first kind) shape functions
     452           0 :     case FIFTH:
     453             :       {
     454           0 :         switch (elem->type())
     455             :           {
     456           0 :           case QUAD8:
     457             :           case QUAD9:
     458             :             {
     459           0 :               switch(ii)
     460             :                 {
     461           0 :                 case 0:
     462           0 :                   return sign * RealGradient(-625.*eta/4. - 75.*xi + 3750.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 13125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 17500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 7875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 22500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 52500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 52500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 875./4. + 1875.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 78750.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 105000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 47250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 525.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 183750.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 183750.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 66150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 4375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 245000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 110250.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 700.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 245000.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 88200.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 4375.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 110250.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 315.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
     463           0 :                 case 1:
     464           0 :                   return sign * RealGradient(12125.*eta/512. + 2865.*xi/128. - 71625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. + 527625.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 340375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 291375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 214875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/32. - 501375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 501375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. - 180495.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/32. + 22615./512. - 36375.*(eta + 1.)*(eta + 1.)/(2.*2.)/128. - 1582875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/64. + 1021125.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 874125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 21105.*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 3693375.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 3693375.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 1329615.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. + 84875.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/128. - 2382625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 13615.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. + 2382625.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. - 857745.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/32. - 84875.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. - 2039625.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 11655.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. + 734265.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. + 30555.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/128., 0.);
     465           0 :                 case 2:
     466           0 :                   return sign * RealGradient(-375.*eta/32. - 105.*xi/8. + 2625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/4. - 28875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 23625.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 23625.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 7875.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 18375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 18375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. + 6615.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/2. - 765./32. + 1125.*((eta + 1.)*(eta + 1.)/(2.*2.))/8. + 86625.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 70875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 70875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 1155.*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 202125.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 202125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 72765.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/4. - 2625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/8. + 165375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 165375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. - 165375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. + 59535.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/2. + 2625.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. + 165375.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. - 59535.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/4. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/8., 0.);
     467           0 :                 case 3:
     468           0 :                   return sign * RealGradient(2125.*eta/512. + 705.*xi/128. - 17625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. + 233625.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 242375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 291375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 52875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/32. - 123375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 123375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. - 44415.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/32. + 4775./512. - 6375.*(eta + 1.)*(eta + 1.)/(2.*2.)/128. - 700875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/64. + 727125.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 874125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 9345.*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 1635375.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 1635375.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 588735.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. + 14875.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/128. - 1696625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 9695.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. + 1696625.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. - 610785.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/32. - 14875.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. - 2039625.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 11655.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. + 734265.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. + 5355.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/128., 0.);
     469           0 :                 case 4:
     470           0 :                   return sign * RealGradient(-125.*eta/4. - 30.*xi + 1500.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 7875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 14000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 7875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 9000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 21000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 21000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 7560.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 235./4. + 375.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 47250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 84000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 47250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 315.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 110250.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 110250.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 875.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 196000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 110250.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 560.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 196000.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 70560.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 875.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 110250.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 315.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 315.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
     471           0 :                 case 5:
     472           0 :                   return sign * RealGradient(0., 125.*xi/4. - 750.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 9000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 31500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 42000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 2625.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 3500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1575.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 125./4. - 31500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 110250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 147000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 66150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 750.*(xi + 1.)*(xi + 1.)/(2.*2.) + 42000.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 18900.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 147000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 196000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 88200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 2625.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 66150.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 88200.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 3500.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
     473           0 :                 case 6:
     474           0 :                   return sign * RealGradient(0., -2425.*xi/512. + 14325.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. - 42975.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/16. + 300825.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 100275.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. + 180495.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/32. - 105525.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/128. + 68075.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 58275.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. - 2425./512. + 316575.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/32. - 2216025.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 738675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/16. - 1329615.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 7275.*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 204225.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/16. + 174825.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. + 1429575.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 476525.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. + 857745.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/32. - 50925.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/128. - 1223775.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 407925.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/16. - 734265.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 16975.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/32. - 30555.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/128.);
     475           0 :                 case 7:
     476           0 :                   return sign * RealGradient(0., 75.*xi/32. - 525.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/4. + 1575.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 11025.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 7350.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 6615.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/2. + 5775.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/8. - 4725.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 4725.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. + 75./32. - 17325.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 121275.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 40425.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 72765.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/4. - 225.*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 14175.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 66150.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 59535.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/2. + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/8. + 99225.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 33075.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 59535.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/4. - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/8.);
     477           0 :                 case 8:
     478           0 :                   return sign * RealGradient(0., -425.*xi/512. + 3525.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. - 10575.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/16. + 74025.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 24675.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. + 44415.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/32. - 46725.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/128. + 48475.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 58275.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. - 425./512. + 140175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/32. - 981225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 327075.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/16. - 588735.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 1275.*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 145425.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/16. + 174825.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. + 1017975.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 339325.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. + 610785.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/32. - 8925.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/128. - 1223775.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 407925.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/16. - 734265.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 2975.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/32. - 5355.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/128.);
     479           0 :                 case 9:
     480           0 :                   return sign * RealGradient(0., 25.*xi/4. - 300.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 12600.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 16800.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 7560.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 1575.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2800.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1575.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 25./4. - 18900.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 66150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 88200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.) + 33600.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 18900.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 117600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 156800.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 70560.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 66150.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 88200.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 700.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 315.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
     481           0 :                 case 10:
     482           0 :                   return sign * RealGradient(-25.*eta/4. + 300.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1575.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2800.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1575.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 3600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 12600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 16800.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 7560.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 25./4. + 150.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 18900.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 33600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 18900.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 66150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 88200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 525.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 117600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 66150.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 156800.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 70560.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 700.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 88200.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 315.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
     483           0 :                 case 11:
     484           0 :                   return sign * RealGradient(425.*eta/512. - 3525.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. + 46725.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 48475.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 58275.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 10575.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/16. - 74025.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 24675.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 44415.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/32. + 425./512. - 1275.*(eta + 1.)*(eta + 1.)/(2.*2.)/64. - 140175.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 145425.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. - 174825.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. + 981225.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 327075.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/16. + 588735.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. + 8925.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/128. - 1017975.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 1223775.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 339325.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 610785.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/32. - 2975.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/32. - 407925.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/16. + 734265.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. + 5355.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/128., 0.);
     485           0 :                 case 12:
     486           0 :                   return sign * RealGradient(-75.*eta/32. + 525.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/4. - 5775.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 4725.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 4725.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 1575.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 11025.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 7350.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 6615.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/2. - 75./32. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 17325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 14175.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. - 121275.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 40425.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 72765.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/4. - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/8. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 66150.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 59535.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/2. + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 33075.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 59535.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/4. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/8., 0.);
     487           0 :                 case 13:
     488           0 :                   return sign * RealGradient(2425.*eta/512. - 14325.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. + 105525.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 68075.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 58275.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 42975.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/16. - 300825.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 100275.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 180495.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/32. + 2425./512. - 7275.*(eta + 1.)*(eta + 1.)/(2.*2.)/64. - 316575.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 204225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. - 174825.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. + 2216025.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 738675.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/16. + 1329615.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. + 50925.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/128. - 1429575.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 1223775.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 476525.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 857745.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/32. - 16975.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/32. - 407925.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/16. + 734265.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. + 30555.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/128., 0.);
     489           0 :                 case 14:
     490           0 :                   return sign * RealGradient(-125.*eta/4. + 750.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 2625.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 3500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1575.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 9000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 31500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 42000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 125./4. + 750.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 31500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 42000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 18900.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 110250.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 147000.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 66150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 2625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 147000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 66150.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 196000.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 88200.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 3500.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 88200.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
     491           0 :                 case 15:
     492           0 :                   return sign * RealGradient(0., 30.*eta + 125.*xi/4. - 1500.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 9000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 21000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 21000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 7560.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 7875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 14000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 7875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 235./4. - 315.*(eta + 1.)*(eta + 1.)/(2.*2.) - 47250.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 110250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 110250.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 375.*(xi + 1.)*(xi + 1.)/(2.*2.) + 84000.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 47250.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 560.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 196000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 196000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 70560.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 875.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 110250.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 315.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 110250.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 875.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 315.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
     493           0 :                 case 16:
     494           0 :                   return sign * RealGradient(0., -705.*eta/128. - 2125.*xi/512. + 17625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. - 52875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 123375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 123375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. + 44415.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/32. - 233625.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/128. + 242375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 291375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. - 4775./512. + 9345.*((eta + 1.)*(eta + 1.)/(2.*2.))/128. + 700875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 1635375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 1635375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. - 588735.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 6375.*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 727125.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 874125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 9695.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 1696625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 1696625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. + 610785.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/32. - 14875.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/128. - 2039625.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 11655.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. - 734265.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 14875.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. - 5355.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/128.);
     495           0 :                 case 17:
     496           0 :                   return sign * RealGradient(0., 105.*eta/8. + 375.*xi/32. - 2625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/4. + 7875.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 18375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 18375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. - 6615.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/2. + 28875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/8. - 23625.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 23625.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. + 765./32. - 1155.*(eta + 1.)*(eta + 1.)/(2.*2.)/8. - 86625.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 202125.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 202125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. + 72765.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/4. - 1125.*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 70875.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 70875.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 165375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 165375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. - 59535.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/2. + 2625.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/8. + 165375.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/8. - 165375.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. + 59535.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/4. - 2625.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/8.);
     497           0 :                 case 18:
     498           0 :                   return sign * RealGradient(0., -2865.*eta/128. - 12125.*xi/512. + 71625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. - 214875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 501375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 501375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. + 180495.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/32. - 527625.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/128. + 340375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 291375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. - 22615./512. + 21105.*((eta + 1.)*(eta + 1.)/(2.*2.))/128. + 1582875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 3693375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 3693375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. - 1329615.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 36375.*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 1021125.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 874125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 13615.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 2382625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 2382625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. + 857745.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/32. - 84875.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/128. - 2039625.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 11655.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. - 734265.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 84875.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. - 30555.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/128.);
     499           0 :                 case 19:
     500           0 :                   return sign * RealGradient(0., 75.*eta + 625.*xi/4. - 3750.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 22500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 52500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 52500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 13125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 17500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 7875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 875./4. - 525.*(eta + 1.)*(eta + 1.)/(2.*2.) - 78750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 183750.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 183750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 66150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 1875.*(xi + 1.)*(xi + 1.)/(2.*2.) + 105000.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 47250.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 700.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 245000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 245000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 88200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 4375.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 110250.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 315.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 110250.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 4375.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
     501           0 :                 case 20:
     502           0 :                   return RealGradient(0., 975.*xi/8. - 2925.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 21150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 51825.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 52500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 20475.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 13650.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 12285.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 975./8. - 74025.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 362775.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 183750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 66150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 3525.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 98700.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 44415.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 241850.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 245000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 88200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 17275.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. + 217665.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. - 110250.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 4375.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
     503           0 :                 case 21:
     504           0 :                   return RealGradient(0., -25.*xi + 600.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 8325.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 30825.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 42000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 18900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 2100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1260.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 25. + 58275.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 215775.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 147000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 66150.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 2775.*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 38850.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 34965.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 143850.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 196000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 88200.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 10275.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. - 129465.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. + 88200.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 3500.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
     505           0 :                 case 22:
     506           0 :                   return RealGradient(0., 225.*xi/4. - 1350.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2025.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 6300.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2835.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 225./4. - 23625.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 1125.*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 15750.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 9450.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 675.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. + 8505.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2.);
     507           0 :                 case 23:
     508           0 :                   return RealGradient(0., -225.*xi/8. + 675.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 2700.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2025.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 3150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2835.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 225./8. + 9450.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 14175.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 225.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 12600.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5670.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 9450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 675.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. - 8505.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2.);
     509           0 :                 case 24:
     510           0 :                   return RealGradient(-975.*eta/8. + 2925.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 20475.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 13650.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 12285.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 21150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 51825.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 52500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 975./8. + 3525.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 74025.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 98700.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 44415.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 362775.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 183750.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 66150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 17275.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 241850.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 217665.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 245000.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 88200.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 4375.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 110250.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
     511           0 :                 case 25:
     512           0 :                   return RealGradient(25.*eta - 600.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1260.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 8325.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 30825.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 42000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 18900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 25. - 2775.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 58275.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 38850.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 34965.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. + 215775.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 147000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 66150.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 10275.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 143850.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 129465.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 196000.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 88200.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 3500.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 88200.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
     513           0 :                 case 26:
     514           0 :                   return RealGradient(-225.*eta/4. + 1350.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 4725.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2835.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 3375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2025.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 225./4. + 1125.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 23625.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 15750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. - 675.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 9450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 8505.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2., 0.);
     515           0 :                 case 27:
     516           0 :                   return RealGradient(225.*eta/8. - 675.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 4725.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 3150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2835.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 2700.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2025.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 225./8. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.) - 9450.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 12600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5670.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 14175.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. + 675.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 9450.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 8505.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2., 0.);
     517           0 :                 case 28:
     518           0 :                   return RealGradient(-195.*eta/8. + 1170.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 12285.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 10920.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 12285.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 8460.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 20730.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 21000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 7560.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 195./8. + 705.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 44415.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 78960.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 44415.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 217665.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 110250.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 3455.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 193480.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 217665.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 196000.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 70560.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 875.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 110250.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 315.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
     519           0 :                 case 29:
     520           0 :                   return RealGradient(5.*eta - 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1260.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2240.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1260.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 3330.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 12330.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 16800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 7560.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 5. - 555.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 34965.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 31080.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 34965.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. + 129465.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 88200.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 39690.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 2055.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 115080.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 129465.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 156800.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 70560.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 700.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 88200.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 315.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
     521           0 :                 case 30:
     522           0 :                   return RealGradient(-45.*eta/4. + 540.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 2835.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5040.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2835.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1350.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 810.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 45./4. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 12600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. - 8505.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. - 135.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 7560.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 8505.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2., 0.);
     523           0 :                 case 31:
     524           0 :                   return RealGradient(45.*eta/8. - 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2835.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 2520.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2835.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 1080.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 810.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 45./8. - 45.*(eta + 1.)*(eta + 1.)/(2.*2.) - 5670.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 10080.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5670.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 8505.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. + 135.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 7560.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 8505.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2., 0.);
     525           0 :                 case 32:
     526           0 :                   return RealGradient(0., 195.*xi/8. - 1170.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 8460.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 20730.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 21000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 7560.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 12285.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 10920.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 12285.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 195./8. - 44415.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 217665.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 110250.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 705.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 78960.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 44415.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 193480.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 196000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 70560.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 3455.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. + 217665.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. - 110250.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 875.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 315.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
     527           0 :                 case 33:
     528           0 :                   return RealGradient(0., -5.*xi + 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 3330.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 12330.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 16800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 7560.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 1260.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2240.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1260.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 5. + 34965.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 129465.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 88200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 555.*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 31080.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 34965.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 115080.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 156800.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 70560.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 2055.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. - 129465.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. + 88200.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 700.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 315.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
     529           0 :                 case 34:
     530           0 :                   return RealGradient(0., 45.*xi/4. - 540.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1350.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 810.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2835.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 5040.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2835.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 45./4. - 14175.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 8505.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 225.*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 12600.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 7560.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 135.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. + 8505.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2.);
     531           0 :                 case 35:
     532           0 :                   return RealGradient(0., -45.*xi/8. + 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1080.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 810.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2835.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 2520.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2835.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 45./8. + 5670.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8505.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 45.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 10080.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5670.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 7560.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 135.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. - 8505.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2.);
     533           0 :                 case 36:
     534           0 :                   return RealGradient(36.*eta - 288.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 240.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 2376.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 6120.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 6300.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 2268.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 36. - 594.*(eta + 1.)*(eta + 1.)/(2.*2.) - 1980.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5100.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5250.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1890.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 1530.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 567.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
     535           0 :                 case 37:
     536           0 :                   return RealGradient(12.*eta - 192.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 240.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 1584.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 4080.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1512.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 12. - 198.*(eta + 1.)*(eta + 1.)/(2.*2.) - 1980.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5100.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5250.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1890.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 510.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 525.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 189.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
     537           0 :                 case 38:
     538           0 :                   return RealGradient(-6.*eta + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 990.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2550.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2625.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 945.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 6. + 99.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 990.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2550.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2625.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 945.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 255.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. - 189.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/2., 0.);
     539           0 :                 case 39:
     540           0 :                   return RealGradient(0., 36.*xi - 288.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2376.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 6300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 2268.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 240.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 36. - 1980.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5100.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5250.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1890.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 594.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1530.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 567.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
     541           0 :                 case 40:
     542           0 :                   return RealGradient(0., 12.*xi - 192.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1584.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4080.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 1512.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 240.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 12. - 1980.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5100.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5250.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1890.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 198.*(xi + 1.)*(xi + 1.)/(2.*2.) + 510.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 189.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
     543           0 :                 case 41:
     544           0 :                   return RealGradient(0., -6.*xi + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 990.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2550.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2625.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 945.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 120.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 6. + 990.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2550.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2625.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 945.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 99.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 255.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. - 189.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/2.);
     545           0 :                 case 42:
     546           0 :                   return RealGradient(0., -9.*xi/2. + 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 864.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 3600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5040.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 2268.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 30.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 9./2. + 720.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 1890.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 216.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 900.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1260.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 567.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
     547           0 :                 case 43:
     548           0 :                   return RealGradient(0., -3.*xi/2. + 24.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 576.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1512.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 30.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 3./2. + 720.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 1890.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 72.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 300.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 420.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 189.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
     549           0 :                 case 44:
     550           0 :                   return RealGradient(0., 3.*xi/4. - 15.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 360.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 945.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 15.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 3./4. - 360.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 1500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2100.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 945.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 36.*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 210.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 189.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/2.);
     551           0 :                 case 45:
     552           0 :                   return RealGradient(-9.*eta/2. + 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 30.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 864.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 3600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5040.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 2268.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 9./2. + 216.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 720.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1890.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1260.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 567.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
     553           0 :                 case 46:
     554           0 :                   return RealGradient(-3.*eta/2. + 24.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 30.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 576.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3360.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1512.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 3./2. + 72.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 720.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1890.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 300.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 420.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 189.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
     555           0 :                 case 47:
     556           0 :                   return RealGradient(3.*eta/4. - 15.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 15.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 360.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 1500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 945.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 3./4. - 36.*(eta + 1.)*(eta + 1.)/(2.*2.) - 360.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 1500.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2100.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 945.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 150.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 210.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 189.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/2., 0.);
     557           0 :                 case 48:
     558           0 :                   return RealGradient(0., 18.*xi - 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 324.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 18. - 270.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 81.*(xi + 1.)*(xi + 1.)/(2.*2.) + 45.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     559           0 :                 case 49:
     560           0 :                   return RealGradient(0., -9.*xi/2. + 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 216.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 30.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 9./2. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 54.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 45.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
     561           0 :                 case 50:
     562           0 :                   return RealGradient(-18.*eta + 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 324.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 18. + 81.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 270.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 45.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     563           0 :                 case 51:
     564           0 :                   return RealGradient(9.*eta/2. - 36.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 30.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 216.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 9./2. - 54.*(eta + 1.)*(eta + 1.)/(2.*2.) - 180.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 45.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     565           0 :                 case 52:
     566           0 :                   return RealGradient(-6.*eta + 96.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 216.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 6. + 27.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 270.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 15.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     567           0 :                 case 53:
     568           0 :                   return RealGradient(3.*eta/2. - 24.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 30.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 144.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 120.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3./2. - 18.*(eta + 1.)*(eta + 1.)/(2.*2.) - 180.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 15.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     569           0 :                 case 54:
     570           0 :                   return RealGradient(0., 6.*xi - 96.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 216.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 120.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 6. - 270.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 27.*(xi + 1.)*(xi + 1.)/(2.*2.) + 15.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     571           0 :                 case 55:
     572           0 :                   return RealGradient(0., -3.*xi/2. + 24.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 144.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 120.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 30.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 3./2. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 18.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 15.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
     573           0 :                 case 56:
     574           0 :                   return RealGradient(2.*eta + 2. - 9.*(eta + 1.)*(eta + 1.)/(2.*2.) + 5.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     575           0 :                 case 57:
     576           0 :                   return RealGradient(0., 2.*xi + 2. - 9.*(xi + 1.)*(xi + 1.)/(2.*2.) + 5.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
     577           0 :                 case 58:
     578           0 :                   return RealGradient(0., -xi/2. - 1./2. + 6.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 5.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
     579           0 :                 case 59:
     580           0 :                   return RealGradient(-eta/2. - 1./2. + 6.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 5.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
     581           0 :                 default:
     582           0 :                   libmesh_error_msg("Invalid i = " << i);
     583             :                 }
     584             :             }
     585             : 
     586           0 :           case TRI6:
     587             :           case TRI7:
     588             :             {
     589           0 :               switch(ii)
     590             :                 {
     591           0 :                 case 0:
     592           0 :                   return sign * RealGradient(2800.*eta*xi - 375.*eta - 6300.*eta*xi*xi + 5040.*eta*(xi*xi*xi) - 1050.*eta*xi*xi*xi*xi - 300.*xi - 8400.*xi*eta*eta + 10080.*xi*(eta*eta*eta) - 4200.*xi*eta*eta*eta*eta + 25. + 1750.*(eta*eta) + 11340.*(eta*eta)*(xi*xi) - 4200.*eta*eta*xi*xi*xi + 1050.*(xi*xi) - 6300.*xi*xi*eta*eta*eta - 3500.*eta*eta*eta - 1400.*xi*xi*xi + 3150.*(eta*eta*eta*eta) + 630.*(xi*xi*xi*xi) - 1050.*eta*eta*eta*eta*eta, -700.*eta*xi + 4200.*eta*(xi*xi) - 7560.*eta*xi*xi*xi + 4200.*eta*(xi*xi*xi*xi) + 75.*xi + 2100.*xi*(eta*eta) - 2520.*xi*eta*eta*eta + 1050.*xi*(eta*eta*eta*eta) - 7560.*eta*eta*xi*xi + 6300.*(eta*eta)*(xi*xi*xi) - 700.*xi*xi + 4200.*(xi*xi)*(eta*eta*eta) + 2100.*(xi*xi*xi) - 2520.*xi*xi*xi*xi + 1050.*(xi*xi*xi*xi*xi));
     593           0 :                 case 1:
     594           0 :                   return sign * RealGradient(-12145.*eta*xi/16. + 695.*eta/128. + 136185.*eta*(xi*xi)/64. - 6825.*eta*xi*xi*xi/4. + 19425.*eta*(xi*xi*xi*xi)/64. + 2865.*xi/32. + 7245.*xi*(eta*eta)/4. - 25515.*xi*eta*eta*eta/16. + 14175.*xi*(eta*eta*eta*eta)/32. - 485./128. + 11235.*(eta*eta)/64. - 240975.*eta*eta*xi*xi/64. + 48825.*(eta*eta)*(xi*xi*xi)/32. - 21105.*xi*xi/64. + 127575.*(xi*xi)*(eta*eta*eta)/64. - 42525.*eta*eta*eta/64. + 13615.*(xi*xi*xi)/32. + 104895.*(eta*eta*eta*eta)/128. - 11655.*xi*xi*xi*xi/64. - 42525.*eta*eta*eta*eta*eta/128., 3045.*eta*xi/32. - 39375.*eta*xi*xi/32. + 84105.*eta*(xi*xi*xi)/32. - 48825.*eta*xi*xi*xi*xi/32. - 2395.*xi/128. + 2835.*xi*(eta*eta)/64. - 14175.*xi*eta*eta*eta/32. + 42525.*xi*(eta*eta*eta*eta)/128. + 25515.*(eta*eta)*(xi*xi)/16. - 127575.*eta*eta*xi*xi*xi/64. + 1715.*(xi*xi)/8. - 14175.*xi*xi*eta*eta*eta/32. - 41755.*xi*xi*xi/64. + 48615.*(xi*xi*xi*xi)/64. - 19425.*xi*xi*xi*xi*xi/64.);
     595           0 :                 case 2:
     596           0 :                   return sign * RealGradient(55.*eta/8. - 3255.*eta*xi*xi/4. + 1260.*eta*(xi*xi*xi) - 1575.*eta*xi*xi*xi*xi/4. - 105.*xi/2. + 840.*xi*(eta*eta) - 1575.*xi*eta*eta*eta + 1575.*xi*(eta*eta*eta*eta)/2. + 15./8. - 175.*eta*eta/4. + 945.*(eta*eta)*(xi*xi)/4. - 1575.*eta*eta*xi*xi*xi/2. + 1155.*(xi*xi)/4. + 1575.*(xi*xi)*(eta*eta*eta)/4. + 35.*(eta*eta*eta)/4. - 945.*xi*xi*xi/2. + 735.*(eta*eta*eta*eta)/8. + 945.*(xi*xi*xi*xi)/4. - 525.*eta*eta*eta*eta*eta/8., 35.*eta*xi/2. + 105.*eta*(xi*xi)/2. - 1575.*eta*xi*xi*xi/2. + 1575.*eta*(xi*xi*xi*xi)/2. + 85.*xi/8. - 525.*xi*eta*eta/4. + 105.*xi*(eta*eta*eta)/2. + 525.*xi*(eta*eta*eta*eta)/8. + 945.*(eta*eta)*(xi*xi) - 1575.*eta*eta*xi*xi*xi/4. - 315.*xi*xi/2. - 1575.*xi*xi*eta*eta*eta/2. + 2485.*(xi*xi*xi)/4. - 3465.*xi*xi*xi*xi/4. + 1575.*(xi*xi*xi*xi*xi)/4.);
     597           0 :                 case 3:
     598           0 :                   return sign * RealGradient(1855.*eta*xi/16. - 825.*eta/128. - 16695.*eta*xi*xi/64. - 945.*eta*xi*xi*xi/4. + 19425.*eta*(xi*xi*xi*xi)/64. + 705.*xi/32. - 1155.*xi*eta*eta/4. - 315.*xi*eta*eta*eta/16. + 5775.*xi*(eta*eta*eta*eta)/32. - 85./128. + 595.*(eta*eta)/64. + 76545.*(eta*eta)*(xi*xi)/64. - 9975.*eta*eta*xi*xi*xi/32. - 9345.*xi*xi/64. - 48825.*xi*xi*eta*eta*eta/64. + 595.*(eta*eta*eta)/64. + 9695.*(xi*xi*xi)/32. - 945.*eta*eta*eta*eta/128. - 11655.*xi*xi*xi*xi/64. - 525.*eta*eta*eta*eta*eta/128., -875.*eta*xi/32. + 9345.*eta*(xi*xi)/32. - 21735.*eta*xi*xi*xi/32. + 9975.*eta*(xi*xi*xi*xi)/32. - 555.*xi/128. + 1155.*xi*(eta*eta)/64. + 945.*xi*(eta*eta*eta)/32. + 525.*xi*(eta*eta*eta*eta)/128. - 4725.*eta*eta*xi*xi/16. + 48825.*(eta*eta)*(xi*xi*xi)/64. + 595.*(xi*xi)/8. - 5775.*xi*xi*eta*eta*eta/32. - 22155.*xi*xi*xi/64. + 36855.*(xi*xi*xi*xi)/64. - 19425.*xi*xi*xi*xi*xi/64.);
     599           0 :                 case 4:
     600           0 :                   return sign * RealGradient(140.*eta*xi - 5.*eta - 840.*eta*xi*xi + 1680.*eta*(xi*xi*xi) - 1050.*eta*xi*xi*xi*xi - 120.*xi + 5. + 630.*(xi*xi) - 1120.*xi*xi*xi + 630.*(xi*xi*xi*xi), 25.*xi - 350.*xi*xi + 1400.*(xi*xi*xi) - 2100.*xi*xi*xi*xi + 1050.*(xi*xi*xi*xi*xi));
     601           0 :                 case 5:
     602           0 :                   return sign * RealGradient(140.*eta*xi - 5.*eta - 840.*eta*xi*xi + 1680.*eta*(xi*xi*xi) - 1050.*eta*xi*xi*xi*xi, 25.*xi - 350.*xi*xi + 1400.*(xi*xi*xi) - 2100.*xi*xi*xi*xi + 1050.*(xi*xi*xi*xi*xi));
     603           0 :                 case 6:
     604           0 :                   return sign * RealGradient(735.*eta*xi/4. - 10.*eta - 2835.*eta*xi*xi/4. + 14175.*eta*(xi*xi*xi)/16. - 42525.*eta*xi*xi*xi*xi/128. - 1575.*xi*eta*eta/2. + 12285.*xi*(eta*eta*eta)/16. - 1575.*xi*eta*eta*eta*eta/8. + 385.*(eta*eta)/8. + 76545.*(eta*eta)*(xi*xi)/32. - 14175.*eta*eta*xi*xi*xi/8. - 42525.*xi*xi*eta*eta*eta/32. - 245.*eta*eta*eta/4. + 1785.*(eta*eta*eta*eta)/64. - 525.*eta*eta*eta*eta*eta/128., -455.*eta*xi/4. + 2205.*eta*(xi*xi)/2. - 42525.*eta*xi*xi*xi/16. + 14175.*eta*(xi*xi*xi*xi)/8. + 20.*xi + 525.*xi*(eta*eta)/4. - 735.*xi*eta*eta*eta/16. + 525.*xi*(eta*eta*eta*eta)/128. - 31185.*eta*eta*xi*xi/32. + 42525.*(eta*eta)*(xi*xi*xi)/32. - 1785.*xi*xi/8. + 1575.*(xi*xi)*(eta*eta*eta)/8. + 2835.*(xi*xi*xi)/4. - 53865.*xi*xi*xi*xi/64. + 42525.*(xi*xi*xi*xi*xi)/128.);
     605           0 :                 case 7:
     606           0 :                   return sign * RealGradient(175.*eta*xi - 15.*eta - 420.*eta*xi*xi + 315.*eta*(xi*xi*xi) - 525.*eta*xi*xi*xi*xi/8. - 1260.*xi*eta*eta + 2205.*xi*(eta*eta*eta) - 1050.*xi*eta*eta*eta*eta + 245.*(eta*eta)/2. + 4725.*(eta*eta)*(xi*xi)/2. - 1050.*eta*eta*xi*xi*xi - 4725.*xi*xi*eta*eta*eta/2. - 280.*eta*eta*eta + 945.*(eta*eta*eta*eta)/4. - 525.*eta*eta*eta*eta*eta/8., -175.*eta*xi + 1260.*eta*(xi*xi) - 2205.*eta*xi*xi*xi + 1050.*eta*(xi*xi*xi*xi) + 15.*xi + 420.*xi*(eta*eta) - 315.*xi*eta*eta*eta + 525.*xi*(eta*eta*eta*eta)/8. - 4725.*eta*eta*xi*xi/2. + 4725.*(eta*eta)*(xi*xi*xi)/2. - 245.*xi*xi/2. + 1050.*(xi*xi)*(eta*eta*eta) + 280.*(xi*xi*xi) - 945.*xi*xi*xi*xi/4. + 525.*(xi*xi*xi*xi*xi)/8.);
     607           0 :                 case 8:
     608           0 :                   return sign * RealGradient(455.*eta*xi/4. - 20.*eta - 525.*eta*xi*xi/4. + 735.*eta*(xi*xi*xi)/16. - 525.*eta*xi*xi*xi*xi/128. - 2205.*xi*eta*eta/2. + 42525.*xi*(eta*eta*eta)/16. - 14175.*xi*eta*eta*eta*eta/8. + 1785.*(eta*eta)/8. + 31185.*(eta*eta)*(xi*xi)/32. - 1575.*eta*eta*xi*xi*xi/8. - 42525.*xi*xi*eta*eta*eta/32. - 2835.*eta*eta*eta/4. + 53865.*(eta*eta*eta*eta)/64. - 42525.*eta*eta*eta*eta*eta/128., -735.*eta*xi/4. + 1575.*eta*(xi*xi)/2. - 12285.*eta*xi*xi*xi/16. + 1575.*eta*(xi*xi*xi*xi)/8. + 10.*xi + 2835.*xi*(eta*eta)/4. - 14175.*xi*eta*eta*eta/16. + 42525.*xi*(eta*eta*eta*eta)/128. - 76545.*eta*eta*xi*xi/32. + 42525.*(eta*eta)*(xi*xi*xi)/32. - 385.*xi*xi/8. + 14175.*(xi*xi)*(eta*eta*eta)/8. + 245.*(xi*xi*xi)/4. - 1785.*xi*xi*xi*xi/64. + 525.*(xi*xi*xi*xi*xi)/128.);
     609           0 :                 case 9:
     610           0 :                   return sign * RealGradient(-25.*eta + 350.*(eta*eta) - 1400.*eta*eta*eta + 2100.*(eta*eta*eta*eta) - 1050.*eta*eta*eta*eta*eta, -140.*eta*xi + 5.*xi + 840.*xi*(eta*eta) - 1680.*xi*eta*eta*eta + 1050.*xi*(eta*eta*eta*eta));
     611           0 :                 case 10:
     612           0 :                   return sign * RealGradient(-25.*eta + 350.*(eta*eta) - 1400.*eta*eta*eta + 2100.*(eta*eta*eta*eta) - 1050.*eta*eta*eta*eta*eta, -140.*eta*xi + 120.*eta + 5.*xi + 840.*xi*(eta*eta) - 1680.*xi*eta*eta*eta + 1050.*xi*(eta*eta*eta*eta) - 5. - 630.*eta*eta + 1120.*(eta*eta*eta) - 630.*eta*eta*eta*eta);
     613           0 :                 case 11:
     614           0 :                   return sign * RealGradient(875.*eta*xi/32. + 555.*eta/128. - 1155.*eta*xi*xi/64. - 945.*eta*xi*xi*xi/32. - 525.*eta*xi*xi*xi*xi/128. - 9345.*xi*eta*eta/32. + 21735.*xi*(eta*eta*eta)/32. - 9975.*xi*eta*eta*eta*eta/32. - 595.*eta*eta/8. + 4725.*(eta*eta)*(xi*xi)/16. + 5775.*(eta*eta)*(xi*xi*xi)/32. - 48825.*xi*xi*eta*eta*eta/64. + 22155.*(eta*eta*eta)/64. - 36855.*eta*eta*eta*eta/64. + 19425.*(eta*eta*eta*eta*eta)/64., -1855.*eta*xi/16. - 705.*eta/32. + 1155.*eta*(xi*xi)/4. + 315.*eta*(xi*xi*xi)/16. - 5775.*eta*xi*xi*xi*xi/32. + 825.*xi/128. + 16695.*xi*(eta*eta)/64. + 945.*xi*(eta*eta*eta)/4. - 19425.*xi*eta*eta*eta*eta/64. + 85./128. + 9345.*(eta*eta)/64. - 76545.*eta*eta*xi*xi/64. + 48825.*(eta*eta)*(xi*xi*xi)/64. - 595.*xi*xi/64. + 9975.*(xi*xi)*(eta*eta*eta)/32. - 9695.*eta*eta*eta/32. - 595.*xi*xi*xi/64. + 11655.*(eta*eta*eta*eta)/64. + 945.*(xi*xi*xi*xi)/128. + 525.*(xi*xi*xi*xi*xi)/128.);
     615           0 :                 case 12:
     616           0 :                   return sign * RealGradient(-35.*eta*xi/2. - 85.*eta/8. + 525.*eta*(xi*xi)/4. - 105.*eta*xi*xi*xi/2. - 525.*eta*xi*xi*xi*xi/8. - 105.*xi*eta*eta/2. + 1575.*xi*(eta*eta*eta)/2. - 1575.*xi*eta*eta*eta*eta/2. + 315.*(eta*eta)/2. - 945.*eta*eta*xi*xi + 1575.*(eta*eta)*(xi*xi*xi)/2. + 1575.*(xi*xi)*(eta*eta*eta)/4. - 2485.*eta*eta*eta/4. + 3465.*(eta*eta*eta*eta)/4. - 1575.*eta*eta*eta*eta*eta/4., 105.*eta/2. - 840.*eta*xi*xi + 1575.*eta*(xi*xi*xi) - 1575.*eta*xi*xi*xi*xi/2. - 55.*xi/8. + 3255.*xi*(eta*eta)/4. - 1260.*xi*eta*eta*eta + 1575.*xi*(eta*eta*eta*eta)/4. - 15./8. - 1155.*eta*eta/4. - 945.*eta*eta*xi*xi/4. - 1575.*eta*eta*xi*xi*xi/4. + 175.*(xi*xi)/4. + 1575.*(xi*xi)*(eta*eta*eta)/2. + 945.*(eta*eta*eta)/2. - 35.*xi*xi*xi/4. - 945.*eta*eta*eta*eta/4. - 735.*xi*xi*xi*xi/8. + 525.*(xi*xi*xi*xi*xi)/8.);
     617           0 :                 case 13:
     618           0 :                   return sign * RealGradient(-3045.*eta*xi/32. + 2395.*eta/128. - 2835.*eta*xi*xi/64. + 14175.*eta*(xi*xi*xi)/32. - 42525.*eta*xi*xi*xi*xi/128. + 39375.*xi*(eta*eta)/32. - 84105.*xi*eta*eta*eta/32. + 48825.*xi*(eta*eta*eta*eta)/32. - 1715.*eta*eta/8. - 25515.*eta*eta*xi*xi/16. + 14175.*(eta*eta)*(xi*xi*xi)/32. + 127575.*(xi*xi)*(eta*eta*eta)/64. + 41755.*(eta*eta*eta)/64. - 48615.*eta*eta*eta*eta/64. + 19425.*(eta*eta*eta*eta*eta)/64., 12145.*eta*xi/16. - 2865.*eta/32. - 7245.*eta*xi*xi/4. + 25515.*eta*(xi*xi*xi)/16. - 14175.*eta*xi*xi*xi*xi/32. - 695.*xi/128. - 136185.*xi*eta*eta/64. + 6825.*xi*(eta*eta*eta)/4. - 19425.*xi*eta*eta*eta*eta/64. + 485./128. + 21105.*(eta*eta)/64. + 240975.*(eta*eta)*(xi*xi)/64. - 127575.*eta*eta*xi*xi*xi/64. - 11235.*xi*xi/64. - 48825.*xi*xi*eta*eta*eta/32. - 13615.*eta*eta*eta/32. + 42525.*(xi*xi*xi)/64. + 11655.*(eta*eta*eta*eta)/64. - 104895.*xi*xi*xi*xi/128. + 42525.*(xi*xi*xi*xi*xi)/128.);
     619           0 :                 case 14:
     620           0 :                   return sign * RealGradient(700.*eta*xi - 75.*eta - 2100.*eta*xi*xi + 2520.*eta*(xi*xi*xi) - 1050.*eta*xi*xi*xi*xi - 4200.*xi*eta*eta + 7560.*xi*(eta*eta*eta) - 4200.*xi*eta*eta*eta*eta + 700.*(eta*eta) + 7560.*(eta*eta)*(xi*xi) - 4200.*eta*eta*xi*xi*xi - 6300.*xi*xi*eta*eta*eta - 2100.*eta*eta*eta + 2520.*(eta*eta*eta*eta) - 1050.*eta*eta*eta*eta*eta, -2800.*eta*xi + 300.*eta + 8400.*eta*(xi*xi) - 10080.*eta*xi*xi*xi + 4200.*eta*(xi*xi*xi*xi) + 375.*xi + 6300.*xi*(eta*eta) - 5040.*xi*eta*eta*eta + 1050.*xi*(eta*eta*eta*eta) - 25. - 1050.*eta*eta - 11340.*eta*eta*xi*xi + 6300.*(eta*eta)*(xi*xi*xi) - 1750.*xi*xi + 4200.*(xi*xi)*(eta*eta*eta) + 1400.*(eta*eta*eta) + 3500.*(xi*xi*xi) - 630.*eta*eta*eta*eta - 3150.*xi*xi*xi*xi + 1050.*(xi*xi*xi*xi*xi));
     621           0 :                 case 15:
     622           0 :                   return RealGradient(-19600.*eta*xi + 3500.*eta + 35280.*eta*(xi*xi) - 23520.*eta*xi*xi*xi + 4200.*eta*(xi*xi*xi*xi) + 94080.*xi*(eta*eta) - 141120.*xi*eta*eta*eta + 67200.*xi*(eta*eta*eta*eta) - 24500.*eta*eta - 105840.*eta*eta*xi*xi + 33600.*(eta*eta)*(xi*xi*xi) + 75600.*(xi*xi)*(eta*eta*eta) + 58800.*(eta*eta*eta) - 58800.*eta*eta*eta*eta + 21000.*(eta*eta*eta*eta*eta), 9800.*eta*xi - 47040.*eta*xi*xi + 70560.*eta*(xi*xi*xi) - 33600.*eta*xi*xi*xi*xi - 700.*xi - 35280.*xi*eta*eta + 47040.*xi*(eta*eta*eta) - 21000.*xi*eta*eta*eta*eta + 105840.*(eta*eta)*(xi*xi) - 75600.*eta*eta*xi*xi*xi + 4900.*(xi*xi) - 67200.*xi*xi*eta*eta*eta - 11760.*xi*xi*xi + 11760.*(xi*xi*xi*xi) - 4200.*xi*xi*xi*xi*xi);
     623           0 :                 case 16:
     624           0 :                   return RealGradient(9800.*eta*xi - 700.*eta - 35280.*eta*xi*xi + 47040.*eta*(xi*xi*xi) - 21000.*eta*xi*xi*xi*xi - 47040.*xi*eta*eta + 70560.*xi*(eta*eta*eta) - 33600.*xi*eta*eta*eta*eta + 4900.*(eta*eta) + 105840.*(eta*eta)*(xi*xi) - 67200.*eta*eta*xi*xi*xi - 75600.*xi*xi*eta*eta*eta - 11760.*eta*eta*eta + 11760.*(eta*eta*eta*eta) - 4200.*eta*eta*eta*eta*eta, -19600.*eta*xi + 94080.*eta*(xi*xi) - 141120.*eta*xi*xi*xi + 67200.*eta*(xi*xi*xi*xi) + 3500.*xi + 35280.*xi*(eta*eta) - 23520.*xi*eta*eta*eta + 4200.*xi*(eta*eta*eta*eta) - 105840.*eta*eta*xi*xi + 75600.*(eta*eta)*(xi*xi*xi) - 24500.*xi*xi + 33600.*(xi*xi)*(eta*eta*eta) + 58800.*(xi*xi*xi) - 58800.*xi*xi*xi*xi + 21000.*(xi*xi*xi*xi*xi));
     625           0 :                 case 17:
     626           0 :                   return RealGradient(6440.*eta*xi - 280.*eta - 30240.*eta*xi*xi + 43680.*eta*(xi*xi*xi) - 16800.*eta*xi*xi*xi*xi - 6720.*xi*eta*eta + 280.*(eta*eta) + 30240.*(eta*eta)*(xi*xi) - 33600.*eta*eta*xi*xi*xi, -1120.*eta*xi + 13440.*eta*(xi*xi) - 40320.*eta*xi*xi*xi + 33600.*eta*(xi*xi*xi*xi) + 560.*xi - 7280.*xi*xi + 26880.*(xi*xi*xi) - 36960.*xi*xi*xi*xi + 16800.*(xi*xi*xi*xi*xi));
     627           0 :                 case 18:
     628           0 :                   return RealGradient(-3640.*eta*xi + 140.*eta + 20160.*eta*(xi*xi) - 36960.*eta*xi*xi*xi + 21000.*eta*(xi*xi*xi*xi) + 3360.*xi*(eta*eta) - 140.*eta*eta - 15120.*eta*eta*xi*xi + 16800.*(eta*eta)*(xi*xi*xi), 560.*eta*xi - 6720.*eta*xi*xi + 20160.*eta*(xi*xi*xi) - 16800.*eta*xi*xi*xi*xi - 700.*xi + 9100.*(xi*xi) - 33600.*xi*xi*xi + 46200.*(xi*xi*xi*xi) - 21000.*xi*xi*xi*xi*xi);
     629           0 :                 case 19:
     630           0 :                   return RealGradient(560.*eta*xi - 700.*eta - 6720.*xi*eta*eta + 20160.*xi*(eta*eta*eta) - 16800.*xi*eta*eta*eta*eta + 9100.*(eta*eta) - 33600.*eta*eta*eta + 46200.*(eta*eta*eta*eta) - 21000.*eta*eta*eta*eta*eta, -3640.*eta*xi + 3360.*eta*(xi*xi) + 140.*xi + 20160.*xi*(eta*eta) - 36960.*xi*eta*eta*eta + 21000.*xi*(eta*eta*eta*eta) - 15120.*eta*eta*xi*xi - 140.*xi*xi + 16800.*(xi*xi)*(eta*eta*eta));
     631           0 :                 case 20:
     632           0 :                   return RealGradient(-1120.*eta*xi + 560.*eta + 13440.*xi*(eta*eta) - 40320.*xi*eta*eta*eta + 33600.*xi*(eta*eta*eta*eta) - 7280.*eta*eta + 26880.*(eta*eta*eta) - 36960.*eta*eta*eta*eta + 16800.*(eta*eta*eta*eta*eta), 6440.*eta*xi - 6720.*eta*xi*xi - 280.*xi - 30240.*xi*eta*eta + 43680.*xi*(eta*eta*eta) - 16800.*xi*eta*eta*eta*eta + 30240.*(eta*eta)*(xi*xi) + 280.*(xi*xi) - 33600.*xi*xi*eta*eta*eta);
     633           0 :                 case 21:
     634           0 :                   return RealGradient(17920.*eta*xi/3. - 420.*eta - 17920.*eta*xi*xi + 156800.*eta*(xi*xi*xi)/9. - 44800.*eta*xi*xi*xi*xi/9. - 29120.*xi*eta*eta + 116480.*xi*(eta*eta*eta)/3. - 140000.*xi*eta*eta*eta*eta/9. + 7420.*(eta*eta)/3. + 62720.*(eta*eta)*(xi*xi) - 291200.*eta*eta*xi*xi*xi/9. - 44800.*xi*xi*eta*eta*eta - 4480.*eta*eta*eta + 28840.*(eta*eta*eta*eta)/9. - 7000.*eta*eta*eta*eta*eta/9., -10360.*eta*xi/3. + 28000.*eta*(xi*xi) - 170240.*eta*xi*xi*xi/3. + 291200.*eta*(xi*xi*xi*xi)/9. + 420.*xi + 6720.*xi*(eta*eta) - 39200.*xi*eta*eta*eta/9. + 7000.*xi*(eta*eta*eta*eta)/9. - 40880.*eta*eta*xi*xi + 44800.*(eta*eta)*(xi*xi*xi) - 12460.*xi*xi/3. + 140000.*(xi*xi)*(eta*eta*eta)/9. + 35840.*(xi*xi*xi)/3. - 118720.*xi*xi*xi*xi/9. + 44800.*(xi*xi*xi*xi*xi)/9.);
     635           0 :                 case 22:
     636           0 :                   return RealGradient(-12880.*eta*xi/3. + 280.*eta + 14560.*eta*(xi*xi) - 152320.*eta*xi*xi*xi/9. + 56000.*eta*(xi*xi*xi*xi)/9. + 22400.*xi*(eta*eta) - 91840.*xi*eta*eta*eta/3. + 112000.*xi*(eta*eta*eta*eta)/9. - 5320.*eta*eta/3. - 54880.*eta*eta*xi*xi + 313600.*(eta*eta)*(xi*xi*xi)/9. + 39200.*(xi*xi)*(eta*eta*eta) + 3360.*(eta*eta*eta) - 22400.*eta*eta*eta*eta/9. + 5600.*(eta*eta*eta*eta*eta)/9., 12040.*eta*xi/3. - 31360.*eta*xi*xi + 185920.*eta*(xi*xi*xi)/3. - 313600.*eta*xi*xi*xi*xi/9. - 560.*xi - 6720.*xi*eta*eta + 34720.*xi*(eta*eta*eta)/9. - 5600.*xi*eta*eta*eta*eta/9. + 38080.*(eta*eta)*(xi*xi) - 39200.*eta*eta*xi*xi*xi + 16240.*(xi*xi)/3. - 112000.*xi*xi*eta*eta*eta/9. - 45920.*xi*xi*xi/3. + 150080.*(xi*xi*xi*xi)/9. - 56000.*xi*xi*xi*xi*xi/9.);
     637           0 :                 case 23:
     638           0 :                   return RealGradient(12040.*eta*xi/3. - 560.*eta - 6720.*eta*xi*xi + 34720.*eta*(xi*xi*xi)/9. - 5600.*eta*xi*xi*xi*xi/9. - 31360.*xi*eta*eta + 185920.*xi*(eta*eta*eta)/3. - 313600.*xi*eta*eta*eta*eta/9. + 16240.*(eta*eta)/3. + 38080.*(eta*eta)*(xi*xi) - 112000.*eta*eta*xi*xi*xi/9. - 39200.*xi*xi*eta*eta*eta - 45920.*eta*eta*eta/3. + 150080.*(eta*eta*eta*eta)/9. - 56000.*eta*eta*eta*eta*eta/9., -12880.*eta*xi/3. + 22400.*eta*(xi*xi) - 91840.*eta*xi*xi*xi/3. + 112000.*eta*(xi*xi*xi*xi)/9. + 280.*xi + 14560.*xi*(eta*eta) - 152320.*xi*eta*eta*eta/9. + 56000.*xi*(eta*eta*eta*eta)/9. - 54880.*eta*eta*xi*xi + 39200.*(eta*eta)*(xi*xi*xi) - 5320.*xi*xi/3. + 313600.*(xi*xi)*(eta*eta*eta)/9. + 3360.*(xi*xi*xi) - 22400.*xi*xi*xi*xi/9. + 5600.*(xi*xi*xi*xi*xi)/9.);
     639           0 :                 case 24:
     640           0 :                   return RealGradient(-10360.*eta*xi/3. + 420.*eta + 6720.*eta*(xi*xi) - 39200.*eta*xi*xi*xi/9. + 7000.*eta*(xi*xi*xi*xi)/9. + 28000.*xi*(eta*eta) - 170240.*xi*eta*eta*eta/3. + 291200.*xi*(eta*eta*eta*eta)/9. - 12460.*eta*eta/3. - 40880.*eta*eta*xi*xi + 140000.*(eta*eta)*(xi*xi*xi)/9. + 44800.*(xi*xi)*(eta*eta*eta) + 35840.*(eta*eta*eta)/3. - 118720.*eta*eta*eta*eta/9. + 44800.*(eta*eta*eta*eta*eta)/9., 17920.*eta*xi/3. - 29120.*eta*xi*xi + 116480.*eta*(xi*xi*xi)/3. - 140000.*eta*xi*xi*xi*xi/9. - 420.*xi - 17920.*xi*eta*eta + 156800.*xi*(eta*eta*eta)/9. - 44800.*xi*eta*eta*eta*eta/9. + 62720.*(eta*eta)*(xi*xi) - 44800.*eta*eta*xi*xi*xi + 7420.*(xi*xi)/3. - 291200.*xi*xi*eta*eta*eta/9. - 4480.*xi*xi*xi + 28840.*(xi*xi*xi*xi)/9. - 7000.*xi*xi*xi*xi*xi/9.);
     641           0 :                 case 25:
     642           0 :                   return RealGradient(-12880.*eta*xi/9. - 700.*eta/9. + 5600.*eta*(xi*xi) - 49280.*eta*xi*xi*xi/9. + 11200.*eta*(xi*xi*xi*xi)/9. - 15680.*xi*eta*eta/3. + 51520.*xi*(eta*eta*eta)/3. - 95200.*xi*eta*eta*eta*eta/9. + 25900.*(eta*eta)/9. - 1120.*eta*eta*xi*xi + 22400.*(eta*eta)*(xi*xi*xi)/9. - 5600.*xi*xi*eta*eta*eta - 28000.*eta*eta*eta/3. + 93800.*(eta*eta*eta*eta)/9. - 35000.*eta*eta*eta*eta*eta/9., -10360.*eta*xi/9. + 7840.*eta*(xi*xi)/3. + 2240.*eta*(xi*xi*xi)/3. - 22400.*eta*xi*xi*xi*xi/9. + 140.*xi/9. + 5600.*xi*(eta*eta) - 75040.*xi*eta*eta*eta/9. + 35000.*xi*(eta*eta*eta*eta)/9. - 12880.*eta*eta*xi*xi + 5600.*(eta*eta)*(xi*xi*xi) + 3220.*(xi*xi)/9. + 95200.*(xi*xi)*(eta*eta*eta)/9. - 5600.*xi*xi*xi/3. + 24640.*(xi*xi*xi*xi)/9. - 11200.*xi*xi*xi*xi*xi/9.);
     643           0 :                 case 26:
     644           0 :                   return RealGradient(-9520.*eta*xi/9. + 1400.*eta/9. - 1120.*eta*xi*xi + 71680.*eta*(xi*xi*xi)/9. - 56000.*eta*xi*xi*xi*xi/9. + 44800.*xi*(eta*eta)/3. - 82880.*xi*eta*eta*eta/3. + 123200.*xi*(eta*eta*eta*eta)/9. - 14840.*eta*eta/9. - 25760.*eta*eta*xi*xi + 89600.*(eta*eta)*(xi*xi*xi)/9. + 28000.*(xi*xi)*(eta*eta*eta) + 12320.*(eta*eta*eta)/3. - 34720.*eta*eta*eta*eta/9. + 11200.*(eta*eta*eta*eta*eta)/9., 51800.*eta*xi/9. - 69440.*eta*xi*xi/3. + 82880.*eta*(xi*xi*xi)/3. - 89600.*eta*xi*xi*xi*xi/9. + 560.*xi/9. - 13440.*xi*eta*eta + 79520.*xi*(eta*eta*eta)/9. - 11200.*xi*eta*eta*eta*eta/9. + 40320.*(eta*eta)*(xi*xi) - 28000.*eta*eta*xi*xi*xi - 24080.*xi*xi/9. - 123200.*xi*xi*eta*eta*eta/9. + 32480.*(xi*xi*xi)/3. - 129920.*xi*xi*xi*xi/9. + 56000.*(xi*xi*xi*xi*xi)/9.);
     645           0 :                 case 27:
     646           0 :                   return RealGradient(2800.*eta*xi/9. + 700.*eta/9. - 560.*eta*xi*xi - 1120.*eta*xi*xi*xi/9. + 1400.*eta*(xi*xi*xi*xi)/9. - 4480.*xi*eta*eta/3. - 11200.*xi*eta*eta*eta/3. + 44800.*xi*(eta*eta*eta*eta)/9. - 13300.*eta*eta/9. + 6160.*(eta*eta)*(xi*xi) - 22400.*eta*eta*xi*xi*xi/9. - 2800.*xi*xi*eta*eta*eta + 19600.*(eta*eta*eta)/3. - 81200.*eta*eta*eta*eta/9. + 35000.*(eta*eta*eta*eta*eta)/9., 5320.*eta*xi/9. + 2240.*eta*(xi*xi)/3. - 12320.*eta*xi*xi*xi/3. + 22400.*eta*(xi*xi*xi*xi)/9. - 140.*xi/9. - 3920.*xi*eta*eta + 64960.*xi*(eta*eta*eta)/9. - 35000.*xi*eta*eta*eta*eta/9. + 2800.*(eta*eta)*(xi*xi) + 2800.*(eta*eta)*(xi*xi*xi) - 700.*xi*xi/9. - 44800.*xi*xi*eta*eta*eta/9. + 560.*(xi*xi*xi)/3. + 560.*(xi*xi*xi*xi)/9. - 1400.*xi*xi*xi*xi*xi/9.);
     647           0 :                 case 28:
     648           0 :                   return RealGradient(280.*eta*xi/9. - 980.*eta/9. + 1680.*eta*(xi*xi) - 11200.*eta*xi*xi*xi/9. - 7000.*eta*xi*xi*xi*xi/9. - 11200.*xi*eta*eta/3. + 52640.*xi*(eta*eta*eta)/3. - 123200.*xi*eta*eta*eta*eta/9. + 13580.*(eta*eta)/9. - 9520.*eta*eta*xi*xi + 112000.*(eta*eta)*(xi*xi*xi)/9. - 2800.*xi*xi*eta*eta*eta - 16240.*eta*eta*eta/3. + 59920.*(eta*eta*eta*eta)/9. - 23800.*eta*eta*eta*eta*eta/9., -8960.*eta*xi/9. - 17920.*eta*xi*xi/3. + 58240.*eta*(xi*xi*xi)/3. - 112000.*eta*xi*xi*xi*xi/9. - 140.*xi/9. + 9520.*xi*(eta*eta) - 99680.*xi*eta*eta*eta/9. + 23800.*xi*(eta*eta*eta*eta)/9. - 15120.*eta*eta*xi*xi + 2800.*(eta*eta)*(xi*xi*xi) + 4340.*(xi*xi)/9. + 123200.*(xi*xi)*(eta*eta*eta)/9. - 560.*xi*xi*xi - 6160.*xi*xi*xi*xi/9. + 7000.*(xi*xi*xi*xi*xi)/9.);
     649           0 :                 case 29:
     650           0 :                   return RealGradient(51800.*eta*xi/9. + 560.*eta/9. - 13440.*eta*xi*xi + 79520.*eta*(xi*xi*xi)/9. - 11200.*eta*xi*xi*xi*xi/9. - 69440.*xi*eta*eta/3. + 82880.*xi*(eta*eta*eta)/3. - 89600.*xi*eta*eta*eta*eta/9. - 24080.*eta*eta/9. + 40320.*(eta*eta)*(xi*xi) - 123200.*eta*eta*xi*xi*xi/9. - 28000.*xi*xi*eta*eta*eta + 32480.*(eta*eta*eta)/3. - 129920.*eta*eta*eta*eta/9. + 56000.*(eta*eta*eta*eta*eta)/9., -9520.*eta*xi/9. + 44800.*eta*(xi*xi)/3. - 82880.*eta*xi*xi*xi/3. + 123200.*eta*(xi*xi*xi*xi)/9. + 1400.*xi/9. - 1120.*xi*eta*eta + 71680.*xi*(eta*eta*eta)/9. - 56000.*xi*eta*eta*eta*eta/9. - 25760.*eta*eta*xi*xi + 28000.*(eta*eta)*(xi*xi*xi) - 14840.*xi*xi/9. + 89600.*(xi*xi)*(eta*eta*eta)/9. + 12320.*(xi*xi*xi)/3. - 34720.*xi*xi*xi*xi/9. + 11200.*(xi*xi*xi*xi*xi)/9.);
     651           0 :                 case 30:
     652           0 :                   return RealGradient(-10360.*eta*xi/9. + 140.*eta/9. + 5600.*eta*(xi*xi) - 75040.*eta*xi*xi*xi/9. + 35000.*eta*(xi*xi*xi*xi)/9. + 7840.*xi*(eta*eta)/3. + 2240.*xi*(eta*eta*eta)/3. - 22400.*xi*eta*eta*eta*eta/9. + 3220.*(eta*eta)/9. - 12880.*eta*eta*xi*xi + 95200.*(eta*eta)*(xi*xi*xi)/9. + 5600.*(xi*xi)*(eta*eta*eta) - 5600.*eta*eta*eta/3. + 24640.*(eta*eta*eta*eta)/9. - 11200.*eta*eta*eta*eta*eta/9., -12880.*eta*xi/9. - 15680.*eta*xi*xi/3. + 51520.*eta*(xi*xi*xi)/3. - 95200.*eta*xi*xi*xi*xi/9. - 700.*xi/9. + 5600.*xi*(eta*eta) - 49280.*xi*eta*eta*eta/9. + 11200.*xi*(eta*eta*eta*eta)/9. - 1120.*eta*eta*xi*xi - 5600.*eta*eta*xi*xi*xi + 25900.*(xi*xi)/9. + 22400.*(xi*xi)*(eta*eta*eta)/9. - 28000.*xi*xi*xi/3. + 93800.*(xi*xi*xi*xi)/9. - 35000.*xi*xi*xi*xi*xi/9.);
     653           0 :                 case 31:
     654           0 :                   return RealGradient(-8960.*eta*xi/9. - 140.*eta/9. + 9520.*eta*(xi*xi) - 99680.*eta*xi*xi*xi/9. + 23800.*eta*(xi*xi*xi*xi)/9. - 17920.*xi*eta*eta/3. + 58240.*xi*(eta*eta*eta)/3. - 112000.*xi*eta*eta*eta*eta/9. + 4340.*(eta*eta)/9. - 15120.*eta*eta*xi*xi + 123200.*(eta*eta)*(xi*xi*xi)/9. + 2800.*(xi*xi)*(eta*eta*eta) - 560.*eta*eta*eta - 6160.*eta*eta*eta*eta/9. + 7000.*(eta*eta*eta*eta*eta)/9., 280.*eta*xi/9. - 11200.*eta*xi*xi/3. + 52640.*eta*(xi*xi*xi)/3. - 123200.*eta*xi*xi*xi*xi/9. - 980.*xi/9. + 1680.*xi*(eta*eta) - 11200.*xi*eta*eta*eta/9. - 7000.*xi*eta*eta*eta*eta/9. - 9520.*eta*eta*xi*xi - 2800.*eta*eta*xi*xi*xi + 13580.*(xi*xi)/9. + 112000.*(xi*xi)*(eta*eta*eta)/9. - 16240.*xi*xi*xi/3. + 59920.*(xi*xi*xi*xi)/9. - 23800.*xi*xi*xi*xi*xi/9.);
     655           0 :                 case 32:
     656           0 :                   return RealGradient(5320.*eta*xi/9. - 140.*eta/9. - 3920.*eta*xi*xi + 64960.*eta*(xi*xi*xi)/9. - 35000.*eta*xi*xi*xi*xi/9. + 2240.*xi*(eta*eta)/3. - 12320.*xi*eta*eta*eta/3. + 22400.*xi*(eta*eta*eta*eta)/9. - 700.*eta*eta/9. + 2800.*(eta*eta)*(xi*xi) - 44800.*eta*eta*xi*xi*xi/9. + 2800.*(xi*xi)*(eta*eta*eta) + 560.*(eta*eta*eta)/3. + 560.*(eta*eta*eta*eta)/9. - 1400.*eta*eta*eta*eta*eta/9., 2800.*eta*xi/9. - 4480.*eta*xi*xi/3. - 11200.*eta*xi*xi*xi/3. + 44800.*eta*(xi*xi*xi*xi)/9. + 700.*xi/9. - 560.*xi*eta*eta - 1120.*xi*eta*eta*eta/9. + 1400.*xi*(eta*eta*eta*eta)/9. + 6160.*(eta*eta)*(xi*xi) - 2800.*eta*eta*xi*xi*xi - 13300.*xi*xi/9. - 22400.*xi*xi*eta*eta*eta/9. + 19600.*(xi*xi*xi)/3. - 81200.*xi*xi*xi*xi/9. + 35000.*(xi*xi*xi*xi*xi)/9.);
     657           0 :                 case 33:
     658           0 :                   return RealGradient(-6440.*eta*xi/9. + 280.*eta/9. + 1680.*eta*(xi*xi) - 4480.*eta*xi*xi*xi/3. + 1400.*eta*(xi*xi*xi*xi)/3. + 19040.*xi*(eta*eta)/3. - 11200.*xi*eta*eta*eta + 5600.*xi*(eta*eta*eta*eta) - 2800.*eta*eta/9. - 9520.*eta*eta*xi*xi + 11200.*(eta*eta)*(xi*xi*xi)/3. + 8400.*(xi*xi)*(eta*eta*eta) + 560.*(eta*eta*eta) - 280.*eta*eta*eta*eta, 6160.*eta*xi/9. - 14560.*eta*xi*xi/3. + 7840.*eta*(xi*xi*xi) - 11200.*eta*xi*xi*xi*xi/3. - 560.*xi/9. - 1680.*xi*eta*eta + 1120.*xi*(eta*eta*eta) + 10080.*(eta*eta)*(xi*xi) - 8400.*eta*eta*xi*xi*xi + 4760.*(xi*xi)/9. - 5600.*xi*xi*eta*eta*eta - 3920.*xi*xi*xi/3. + 3920.*(xi*xi*xi*xi)/3. - 1400.*xi*xi*xi*xi*xi/3.);
     659           0 :                 case 34:
     660           0 :                   return RealGradient(6160.*eta*xi/9. - 560.*eta/9. - 1680.*eta*xi*xi + 1120.*eta*(xi*xi*xi) - 14560.*xi*eta*eta/3. + 7840.*xi*(eta*eta*eta) - 11200.*xi*eta*eta*eta*eta/3. + 4760.*(eta*eta)/9. + 10080.*(eta*eta)*(xi*xi) - 5600.*eta*eta*xi*xi*xi - 8400.*xi*xi*eta*eta*eta - 3920.*eta*eta*eta/3. + 3920.*(eta*eta*eta*eta)/3. - 1400.*eta*eta*eta*eta*eta/3., -6440.*eta*xi/9. + 19040.*eta*(xi*xi)/3. - 11200.*eta*xi*xi*xi + 5600.*eta*(xi*xi*xi*xi) + 280.*xi/9. + 1680.*xi*(eta*eta) - 4480.*xi*eta*eta*eta/3. + 1400.*xi*(eta*eta*eta*eta)/3. - 9520.*eta*eta*xi*xi + 8400.*(eta*eta)*(xi*xi*xi) - 2800.*xi*xi/9. + 11200.*(xi*xi)*(eta*eta*eta)/3. + 560.*(xi*xi*xi) - 280.*xi*xi*xi*xi);
     661           0 :                 default:
     662           0 :                   libmesh_error_msg("Invalid i = " << i);
     663             :                 }
     664             :             }
     665             : 
     666           0 :           default:
     667           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
     668             :           } // end switch (type)
     669             :       } // end case FIFTH
     670             : 
     671             :       // unsupported order
     672           0 :     default:
     673           0 :       libmesh_error_msg("ERROR: Unsupported 2D FE order!: " << totalorder);
     674             :     }
     675             : #else // LIBMESH_DIM > 1
     676             :   libmesh_ignore(elem, order, i, p, add_p_level);
     677             :   libmesh_not_implemented();
     678             : #endif
     679             : }
     680             : 
     681             : 
     682             : 
     683             : 
     684             : template <>
     685           0 : RealGradient FE<2,NEDELEC_ONE>::shape(const ElemType,
     686             :                                       const Order,
     687             :                                       const unsigned int,
     688             :                                       const Point &)
     689             : {
     690           0 :   libmesh_error_msg("Nedelec elements require the element type \nbecause edge orientation is needed.");
     691             :   return RealGradient();
     692             : }
     693             : 
     694             : 
     695             : template <>
     696           0 : RealGradient FE<2,NEDELEC_ONE>::shape(const FEType fet,
     697             :                                       const Elem * elem,
     698             :                                       const unsigned int i,
     699             :                                       const Point & p,
     700             :                                       const bool add_p_level)
     701             : {
     702           0 :   return FE<2,NEDELEC_ONE>::shape(elem, fet.order, i, p, add_p_level);
     703             : }
     704             : 
     705             : template <>
     706    51212848 : RealGradient FE<2,NEDELEC_ONE>::shape_deriv(const Elem * elem,
     707             :                                             const Order order,
     708             :                                             const unsigned int i,
     709             :                                             const unsigned int j,
     710             :                                             const Point & p,
     711             :                                             const bool add_p_level)
     712             : {
     713             : #if LIBMESH_DIM > 1
     714     4261500 :   libmesh_assert(elem);
     715     4261500 :   libmesh_assert_less (j, 2);
     716             : 
     717    55474348 :   const Order totalorder = order + add_p_level*elem->p_level();
     718     4261500 :   libmesh_assert_less(i, n_dofs(elem->type(), totalorder));
     719             : 
     720    51212848 :   const char sign = i >= totalorder * elem->n_edges() || elem->positive_edge_orientation(i / totalorder) ? 1 : -1;
     721    20863854 :   const unsigned int ii = sign > 0 ? i : (i / totalorder * 2 + 1) * totalorder - 1 - i;
     722             : 
     723    51212848 :   const Real xi  = p(0);
     724    51212848 :   const Real eta = p(1);
     725             : 
     726    51212848 :   switch (totalorder)
     727             :     {
     728             :       // linear Nedelec (first kind) shape function first derivatives
     729     8517128 :     case FIRST:
     730             :       {
     731     8517128 :         switch (elem->type())
     732             :           {
     733     3431120 :           case QUAD8:
     734             :           case QUAD9:
     735             :             {
     736     3431120 :               switch (j)
     737             :                 {
     738             :                   // d()/dxi
     739     1715560 :                 case 0:
     740             :                   {
     741     1715560 :                     switch(ii)
     742             :                       {
     743       70912 :                       case 0:
     744             :                       case 2:
     745       70912 :                         return RealGradient();
     746      857780 :                       case 1:
     747             :                       case 3:
     748       70912 :                         return sign * RealGradient( 0.0, -0.25 );
     749             : 
     750           0 :                       default:
     751           0 :                         libmesh_error_msg("Invalid i = " << i);
     752             :                       }
     753             :                   } // j = 0
     754             : 
     755             :                   // d()/deta
     756     1715560 :                 case 1:
     757             :                   {
     758     1715560 :                     switch(ii)
     759             :                       {
     760       70912 :                       case 1:
     761             :                       case 3:
     762       70912 :                         return RealGradient();
     763      857780 :                       case 0:
     764             :                       case 2:
     765       70912 :                         return sign * RealGradient( 0.25 );
     766             : 
     767           0 :                       default:
     768           0 :                         libmesh_error_msg("Invalid i = " << i);
     769             :                       }
     770             :                   } // j = 1
     771             : 
     772           0 :                 default:
     773           0 :                   libmesh_error_msg("Invalid j = " << j);
     774             :                 }
     775             :             }
     776             : 
     777     5086008 :           case TRI6:
     778             :           case TRI7:
     779             :             {
     780     5086008 :               switch (j)
     781             :                 {
     782             :                   // d()/dxi
     783     2543004 :                 case 0:
     784      212424 :                   return sign * RealGradient( 0.0, -1.0 );
     785             : 
     786             :                   // d()/deta
     787     2543004 :                 case 1:
     788      212424 :                   return sign * RealGradient( 1.0 );
     789             : 
     790           0 :                 default:
     791           0 :                   libmesh_error_msg("Invalid j = " << j);
     792             :                 }
     793             :             }
     794             : 
     795           0 :           default:
     796           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
     797             :           }
     798             :       }
     799             : 
     800             :       // quadratic Nedelec (first kind) shape function first derivatives
     801    25059968 :     case SECOND:
     802             :       {
     803    25059968 :         switch (elem->type())
     804             :           {
     805    10683648 :           case QUAD8:
     806             :           case QUAD9:
     807             :             {
     808             :               // Even with a loose inverse_map tolerance we ought to
     809             :               // be nearly on the element interior in master
     810             :               // coordinates
     811      887328 :               libmesh_assert_less_equal ( std::fabs(xi), 1.0+10*TOLERANCE );
     812      887328 :               libmesh_assert_less_equal ( std::fabs(eta), 1.0+10*TOLERANCE );
     813             : 
     814    10683648 :               const Real x = 0.5 * (xi + 1.0);
     815    10683648 :               const Real y = 0.5 * (eta + 1.0);
     816             : 
     817    10683648 :               switch (j)
     818             :                 {
     819             :                   // d()/dxi
     820     5341824 :                 case 0:
     821             :                   {
     822     5341824 :                     switch(ii)
     823             :                       {
     824      445152 :                       case 0:
     825      445152 :                         return sign * RealGradient( 0.25*(-18.0*y*y+24.0*y-6.0), 0.0 );
     826      445152 :                       case 1:
     827      445152 :                         return sign * RealGradient( 0.25*( 18.0*y*y-24.0*y+6.0), 0.0 );
     828      445152 :                       case 2:
     829      445152 :                         return sign * RealGradient( 0.0, 0.25*(-36.0*x*y+24.0*x+12.0*y-8.0) );
     830      445152 :                       case 3:
     831      445152 :                         return sign * RealGradient( 0.0, 0.25*( 36.0*x*y-12.0*x-12.0*y+4.0) );
     832      445152 :                       case 4:
     833      445152 :                         return sign * RealGradient( 0.25*(-18.0*y*y+12.0*y), 0.0 );
     834      445152 :                       case 5:
     835      445152 :                         return sign * RealGradient( 0.25*( 18.0*y*y-12.0*y), 0.0 );
     836      445152 :                       case 6:
     837      445152 :                         return sign * RealGradient( 0.0, 0.25*(-36.0*x*y+12.0*x+24.0*y-8.0) );
     838      445152 :                       case 7:
     839      445152 :                         return sign * RealGradient( 0.0, 0.25*( 36.0*x*y-24.0*x-24.0*y+16.0) );
     840      445152 :                       case 8:
     841      445152 :                         return RealGradient( 0.0, 1.5*(6.0*x*y-4.0*x-3.0*y+2.0) );
     842      445152 :                       case 9:
     843      445152 :                         return RealGradient( 1.5*y*(-3.0*y+3.0), 0.0 );
     844      445152 :                       case 10:
     845      445152 :                         return RealGradient( 1.5*y*(3.0*y-3.0), 0.0 );
     846      445152 :                       case 11:
     847      445152 :                         return RealGradient( 0.0, 1.5*(-6.0*x*y+2.0*x+3.0*y-1.0) );
     848             : 
     849           0 :                       default:
     850           0 :                         libmesh_error_msg("Invalid i = " << i);
     851             :                       }
     852             :                   } // j = 0
     853             : 
     854             :                   // d()/deta
     855     5341824 :                 case 1:
     856             :                   {
     857     5341824 :                     switch(ii)
     858             :                       {
     859      445152 :                       case 0:
     860      445152 :                         return sign * RealGradient( 0.25*(-36.0*x*y+24.0*x+24.0*y-16.0), 0.0 );
     861      445152 :                       case 1:
     862      445152 :                         return sign * RealGradient( 0.25*( 36.0*x*y-24.0*x-12.0*y+8.0), 0.0 );
     863      445152 :                       case 2:
     864      445152 :                         return sign * RealGradient( 0.0, 0.25*x*(-18.0*x+12.0) );
     865      445152 :                       case 3:
     866      445152 :                         return sign * RealGradient( 0.0, 0.25*x*( 18.0*x-12.0) );
     867      445152 :                       case 4:
     868      445152 :                         return sign * RealGradient( 0.25*(-36.0*x*y+12.0*x+12.0*y-4.0), 0.0 );
     869      445152 :                       case 5:
     870      445152 :                         return sign * RealGradient( 0.25*( 36.0*x*y-12.0*x-24.0*y+8.0), 0.0 );
     871      445152 :                       case 6:
     872      445152 :                         return sign * RealGradient( 0.0, 0.25*(-18.0*x*x+24.0*x-6.0) );
     873      445152 :                       case 7:
     874      445152 :                         return sign * RealGradient( 0.0, 0.25*( 18.0*x*x-24.0*x+6.0) );
     875      445152 :                       case 8:
     876      445152 :                         return RealGradient( 0.0, 1.5*x*(3.0*x-3.0) );
     877      445152 :                       case 9:
     878      445152 :                         return RealGradient( 1.5*(-6.0*x*y+3.0*x+4.0*y-2.0), 0.0 );
     879      445152 :                       case 10:
     880      445152 :                         return RealGradient( 1.5*(6.0*x*y-3.0*x-2.0*y+1.0), 0.0 );
     881      445152 :                       case 11:
     882      445152 :                         return RealGradient( 0.0, 1.5*x*(-3.0*x+3.0) );
     883             : 
     884           0 :                       default:
     885           0 :                         libmesh_error_msg("Invalid i = " << i);
     886             :                       }
     887             :                   } // j = 1
     888             : 
     889           0 :                 default:
     890           0 :                   libmesh_error_msg("Invalid j = " << j);
     891             :                 }
     892             :             }
     893             : 
     894    14376320 :           case TRI6:
     895             :           case TRI7:
     896             :             {
     897    14376320 :               switch (j)
     898             :                 {
     899             :                   // d()/dxi
     900     7188160 :                 case 0:
     901             :                   {
     902     7188160 :                     switch(ii)
     903             :                       {
     904      898520 :                       case 0:
     905      898520 :                         return sign * RealGradient( 8.0*eta-6.0, -16.0*xi-8.0*eta+6.0 );
     906      898520 :                       case 1:
     907      898520 :                         return sign * RealGradient( -8.0*eta+6.0, 16.0*xi-4.0 );
     908      898520 :                       case 2:
     909      898520 :                         return sign * RealGradient( -8.0*eta, 16.0*xi-4.0 );
     910      898520 :                       case 3:
     911      898520 :                         return sign * RealGradient( 0.0, 8.0*eta-2.0 );
     912      898520 :                       case 4:
     913      898520 :                         return sign * RealGradient( 0.0, 8.0*eta-2.0 );
     914      898520 :                       case 5:
     915      898520 :                         return sign * RealGradient( 8.0*eta, -16.0*xi-8.0*eta+12.0 );
     916      898520 :                       case 6:
     917      898520 :                         return RealGradient( -8.0*eta, 16.0*xi+16.0*eta-8.0 );
     918      898520 :                       case 7:
     919      898520 :                         return RealGradient( 16.0*eta, -32.0*xi-8.0*eta+16.0 );
     920             : 
     921           0 :                       default:
     922           0 :                         libmesh_error_msg("Invalid i = " << i);
     923             :                       }
     924             :                   } // j = 0
     925             : 
     926             :                   // d()/deta
     927     7188160 :                 case 1:
     928             :                   {
     929     7188160 :                     switch(ii)
     930             :                       {
     931      898520 :                       case 0:
     932      898520 :                         return sign * RealGradient( 8.0*xi+16.0*eta-12.0, -8.0*xi );
     933      898520 :                       case 1:
     934      898520 :                         return sign * RealGradient( -8.0*xi+2.0, 0.0 );
     935      898520 :                       case 2:
     936      898520 :                         return sign * RealGradient( 2.0-8.0*xi, 0.0 );
     937      898520 :                       case 3:
     938      898520 :                         return sign * RealGradient( 4.0-16.0*eta, 8.0*xi );
     939      898520 :                       case 4:
     940      898520 :                         return sign * RealGradient( 4.0-16.0*eta,8.0*xi-6.0 );
     941      898520 :                       case 5:
     942      898520 :                         return sign * RealGradient( 8.0*xi+16*eta-6.0,-8.0*xi+6.0 );
     943      898520 :                       case 6:
     944      898520 :                         return RealGradient( -8.0*xi-32.0*eta+16.0, 16.0*xi );
     945      898520 :                       case 7:
     946      898520 :                         return RealGradient( 16.0*xi+16.0*eta-8.0,-8.0*xi );
     947             : 
     948           0 :                       default:
     949           0 :                         libmesh_error_msg("Invalid i = " << i);
     950             :                       }
     951             :                   } // j = 1
     952             : 
     953           0 :                 default:
     954           0 :                   libmesh_error_msg("Invalid j = " << j);
     955             :                 }
     956             :             }
     957             : 
     958           0 :           default:
     959           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
     960             :           }
     961             :       }
     962             : 
     963             :       // cubic Nedelec (first kind) shape function first derivatives
     964    17635752 :     case THIRD:
     965             :       {
     966    17635752 :         switch (elem->type())
     967             :           {
     968     7781472 :           case QUAD8:
     969             :           case QUAD9:
     970             :             {
     971     7781472 :               switch (j)
     972             :                 {
     973             :                   // d()/dxi
     974     3890736 :                 case 0:
     975             :                   {
     976     3890736 :                     switch(ii)
     977             :                       {
     978      162114 :                       case 0:
     979      162114 :                         return sign * RealGradient(81.*eta/2. + 15.*xi/2. - 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 39. - 162.*(eta + 1.)*(eta + 1.)/(2.*2.) + 90.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     980      162114 :                       case 1:
     981      162114 :                         return sign * RealGradient(-135.*eta/8. - 15.*xi/4. + 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 135.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 75.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 135./8. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2., 0.);
     982      162114 :                       case 2:
     983      162114 :                         return sign * RealGradient(27.*eta + 15.*xi/2. - 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 57./2. - 108.*(eta + 1.)*(eta + 1.)/(2.*2.) + 60.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     984      162114 :                       case 3:
     985      162114 :                         return sign * RealGradient(0., -27.*eta/2. - 27.*xi + 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 135./4. + 45.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 135.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
     986      162114 :                       case 4:
     987      162114 :                         return sign * RealGradient(0., 45.*eta/8. + 9.*xi/2. - 90.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. + 90.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 9. - 45.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. - 45.*(xi + 1.)*(xi + 1.)/(2.*2.)/4.);
     988      162114 :                       case 5:
     989      162114 :                         return sign * RealGradient(0., -9.*eta - 9.*xi + 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 63./4. + 45.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 45.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
     990      162114 :                       case 6:
     991      162114 :                         return sign * RealGradient(9.*eta - 45.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 9. - 72.*(eta + 1.)*(eta + 1.)/(2.*2.) + 60.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     992      162114 :                       case 7:
     993      162114 :                         return sign * RealGradient(-45.*eta/8. + 45.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 90.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 75.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 45./8. + 45.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2., 0.);
     994      162114 :                       case 8:
     995      162114 :                         return sign * RealGradient(27.*eta/2. - 45.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 27./2. - 108.*(eta + 1.)*(eta + 1.)/(2.*2.) + 90.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
     996      162114 :                       case 9:
     997      162114 :                         return sign * RealGradient(0., -27.*eta - 27.*xi/2. + 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 135./4. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 45.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
     998      162114 :                       case 10:
     999      162114 :                         return sign * RealGradient(0., 135.*eta/8. + 27.*xi/4. - 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. + 135.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 81./4. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. - 45.*(xi + 1.)*(xi + 1.)/(2.*2.)/4.);
    1000      162114 :                       case 11:
    1001      162114 :                         return sign * RealGradient(0., -81.*eta/2. - 81.*xi/2. + 324.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 243./4. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 135.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
    1002      162114 :                       case 12:
    1003      162114 :                         return RealGradient(0., -36.*eta - 81.*xi/2. + 324.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 117./2. + 60.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 135.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
    1004      162114 :                       case 13:
    1005      162114 :                         return RealGradient(0., 9.*eta + 27.*xi - 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 63./2. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.) - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 135.*(xi + 1.)*(xi + 1.)/(2.*2.)/2.);
    1006      162114 :                       case 14:
    1007      162114 :                         return RealGradient(36.*eta - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 36. - 162.*(eta + 1.)*(eta + 1.)/(2.*2.) + 90.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    1008      162114 :                       case 15:
    1009      162114 :                         return RealGradient(-9.*eta + 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 9. + 108.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 90.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    1010      162114 :                       case 16:
    1011      162114 :                         return RealGradient(24.*eta - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 24. - 108.*(eta + 1.)*(eta + 1.)/(2.*2.) + 60.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    1012      162114 :                       case 17:
    1013      162114 :                         return RealGradient(-6.*eta + 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 6. + 72.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 60.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    1014      162114 :                       case 18:
    1015      162114 :                         return RealGradient(0., -24.*eta - 27.*xi/2. + 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 63./2. + 60.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 45.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
    1016      162114 :                       case 19:
    1017      162114 :                         return RealGradient(0., 6.*eta + 9.*xi - 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 27./2. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.) - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 45.*(xi + 1.)*(xi + 1.)/(2.*2.)/2.);
    1018      162114 :                       case 20:
    1019       13366 :                         return RealGradient(0., 0.);
    1020      162114 :                       case 21:
    1021      162114 :                         return RealGradient(0., -9.*xi/2. - 5./2. + 15.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
    1022      162114 :                       case 22:
    1023      162114 :                         return RealGradient(0., 3.*xi + 5./2. - 15.*(xi + 1.)*(xi + 1.)/(2.*2.)/2.);
    1024      162114 :                       case 23:
    1025       13366 :                         return RealGradient(0., 0.);
    1026           0 :                       default:
    1027           0 :                         libmesh_error_msg("Invalid i = " << i);
    1028             :                       }
    1029             :                   } // j = 0
    1030             : 
    1031             :                   // d()/deta
    1032     3890736 :                 case 1:
    1033             :                   {
    1034     3890736 :                     switch(ii)
    1035             :                       {
    1036      162114 :                       case 0:
    1037      162114 :                         return sign * RealGradient(81.*eta/2. + 81.*xi/2. - 324.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 243./4. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 135.*(xi + 1.)*(xi + 1.)/(2.*2.)/2., 0.);
    1038      162114 :                       case 1:
    1039      162114 :                         return sign * RealGradient(-27.*eta/4. - 135.*xi/8. + 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 135.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 81./4. + 45.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. + 135.*((xi + 1.)*(xi + 1.)/(2.*2.))/4., 0.);
    1040      162114 :                       case 2:
    1041      162114 :                         return sign * RealGradient(27.*eta/2. + 27.*xi - 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 135./4. - 45.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 135.*(xi + 1.)*(xi + 1.)/(2.*2.)/2., 0.);
    1042      162114 :                       case 3:
    1043      162114 :                         return sign * RealGradient(0., -27.*xi/2. + 45.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 27./2. + 108.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 90.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1044      162114 :                       case 4:
    1045      162114 :                         return sign * RealGradient(0., 45.*xi/8. - 45.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 90.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 75.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 45./8. - 45.*(xi + 1.)*(xi + 1.)/(2.*2.) + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2.);
    1046      162114 :                       case 5:
    1047      162114 :                         return sign * RealGradient(0., -9.*xi + 45.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 9. + 72.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 60.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1048      162114 :                       case 6:
    1049      162114 :                         return sign * RealGradient(9.*eta + 9.*xi - 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 63./4. - 45.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 45.*(xi + 1.)*(xi + 1.)/(2.*2.)/2., 0.);
    1050      162114 :                       case 7:
    1051      162114 :                         return sign * RealGradient(-9.*eta/2. - 45.*xi/8. + 90.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 90.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 9. + 45.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. + 45.*((xi + 1.)*(xi + 1.)/(2.*2.))/4., 0.);
    1052      162114 :                       case 8:
    1053      162114 :                         return sign * RealGradient(27.*eta + 27.*xi/2. - 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 135./4. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 45.*(xi + 1.)*(xi + 1.)/(2.*2.)/2., 0.);
    1054      162114 :                       case 9:
    1055      162114 :                         return sign * RealGradient(0., -15.*eta/2. - 27.*xi + 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 57./2. + 108.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 60.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1056      162114 :                       case 10:
    1057      162114 :                         return sign * RealGradient(0., 15.*eta/4. + 135.*xi/8. - 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 135.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 75.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 135./8. - 135.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2.);
    1058      162114 :                       case 11:
    1059      162114 :                         return sign * RealGradient(0., -15.*eta/2. - 81.*xi/2. + 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 39. + 162.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 90.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1060      162114 :                       case 12:
    1061      162114 :                         return RealGradient(0., -36.*xi + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 36. + 162.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 90.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1062      162114 :                       case 13:
    1063      162114 :                         return RealGradient(0., 9.*xi - 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 9. - 108.*(xi + 1.)*(xi + 1.)/(2.*2.) + 90.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1064      162114 :                       case 14:
    1065      162114 :                         return RealGradient(81.*eta/2. + 36.*xi - 324.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 117./2. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 60.*(xi + 1.)*(xi + 1.)/(2.*2.), 0.);
    1066      162114 :                       case 15:
    1067      162114 :                         return RealGradient(-27.*eta - 9.*xi + 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 63./2. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 15.*((xi + 1.)*(xi + 1.)/(2.*2.)), 0.);
    1068      162114 :                       case 16:
    1069      162114 :                         return RealGradient(27.*eta/2. + 24.*xi - 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 63./2. - 45.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 60.*(xi + 1.)*(xi + 1.)/(2.*2.), 0.);
    1070      162114 :                       case 17:
    1071      162114 :                         return RealGradient(-9.*eta - 6.*xi + 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 27./2. + 45.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 15.*((xi + 1.)*(xi + 1.)/(2.*2.)), 0.);
    1072      162114 :                       case 18:
    1073      162114 :                         return RealGradient(0., -24.*xi + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 24. + 108.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 60.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1074      162114 :                       case 19:
    1075      162114 :                         return RealGradient(0., 6.*xi - 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 6. - 72.*(xi + 1.)*(xi + 1.)/(2.*2.) + 60.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1076      162114 :                       case 20:
    1077      162114 :                         return RealGradient(-9.*eta/2. - 5./2. + 15.*((eta + 1.)*(eta + 1.)/(2.*2.))/2., 0.);
    1078      162114 :                       case 21:
    1079       13366 :                         return RealGradient(0., 0.);
    1080      162114 :                       case 22:
    1081       13366 :                         return RealGradient(0., 0.);
    1082      162114 :                       case 23:
    1083      162114 :                         return RealGradient(3.*eta + 5./2. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.)/2., 0.);
    1084           0 :                       default:
    1085           0 :                         libmesh_error_msg("Invalid i = " << i);
    1086             :                       }
    1087             :                   } // j = 1
    1088             : 
    1089           0 :                 default:
    1090           0 :                   libmesh_error_msg("Invalid j = " << j);
    1091             :                 }
    1092             :             }
    1093             : 
    1094     9854280 :           case TRI6:
    1095             :           case TRI7:
    1096             :             {
    1097     9854280 :               switch (j)
    1098             :                 {
    1099             :                   // d()/dxi
    1100     4927140 :                 case 0:
    1101             :                   {
    1102     4927140 :                     switch(ii)
    1103             :                       {
    1104      328476 :                       case 0:
    1105      328476 :                         return sign * RealGradient(-90.*eta*xi + 120.*eta + 60.*xi - 36. - 90.*eta*eta, 180.*eta*xi - 60.*eta - 120.*xi + 18. + 45.*(eta*eta) + 135.*(xi*xi));
    1106      328476 :                       case 1:
    1107      328476 :                         return sign * RealGradient(45.*eta*xi - 75.*eta/2. - 30.*xi + 15. + 45.*(eta*eta)/2., -45.*eta*xi + 105.*xi/2. - 21./4. + 45.*(eta*eta)/4. - 135.*xi*xi/2.);
    1108      328476 :                       case 2:
    1109      328476 :                         return sign * RealGradient(-90.*eta*xi + 30.*eta + 60.*xi - 24., -90.*xi + 9. + 135.*(xi*xi));
    1110      328476 :                       case 3:
    1111      328476 :                         return sign * RealGradient(-90.*eta*xi + 30.*eta, -90.*xi + 9. + 135.*(xi*xi));
    1112      328476 :                       case 4:
    1113      328476 :                         return sign * RealGradient(-45.*eta*xi/2. + 45.*eta/2. - 45.*eta*eta, 90.*eta*xi - 45.*eta/2. - 75.*xi/2. + 6. + 45.*(eta*eta)/4. + 135.*(xi*xi)/4.);
    1114      328476 :                       case 5:
    1115      328476 :                         return sign * RealGradient(0., -30.*eta + 3. + 45.*(eta*eta));
    1116      328476 :                       case 6:
    1117      328476 :                         return sign * RealGradient(0., -30.*eta + 3. + 45.*(eta*eta));
    1118      328476 :                       case 7:
    1119      328476 :                         return sign * RealGradient(-45.*eta*xi/2. + 45.*(eta*eta)/2., -45.*eta*xi + 75.*eta/2. - 30.*xi + 9./4. - 45.*eta*eta/2. + 135.*(xi*xi)/4.);
    1120      328476 :                       case 8:
    1121      328476 :                         return sign * RealGradient(-90.*eta*xi + 60.*eta - 90.*eta*eta, 180.*eta*xi - 120.*eta - 180.*xi + 54. + 45.*(eta*eta) + 135.*(xi*xi));
    1122      328476 :                       case 9:
    1123      328476 :                         return RealGradient(180.*eta*xi - 300.*eta + 360.*(eta*eta), -720.*eta*xi + 300.*eta + 300.*xi - 60. - 270.*eta*eta - 270.*xi*xi);
    1124      328476 :                       case 10:
    1125      328476 :                         return RealGradient(-540.*eta*xi + 300.*eta - 360.*eta*eta, 720.*eta*xi - 300.*eta - 900.*xi + 180. + 90.*(eta*eta) + 810.*(xi*xi));
    1126      328476 :                       case 11:
    1127      328476 :                         return RealGradient(-360.*eta*xi + 360.*eta - 360.*eta*eta, 720.*eta*xi - 120.*eta - 480.*xi + 60. + 540.*(xi*xi));
    1128      328476 :                       case 12:
    1129      328476 :                         return RealGradient(540.*eta*xi - 240.*eta + 180.*(eta*eta), -360.*eta*xi + 60.*eta + 720.*xi - 90. - 810.*xi*xi);
    1130      328476 :                       case 13:
    1131      328476 :                         return RealGradient(60.*eta - 180.*eta*eta, 360.*eta*xi - 240.*eta - 60.*xi + 30. + 270.*(eta*eta));
    1132      328476 :                       case 14:
    1133      328476 :                         return RealGradient(-120.*eta + 360.*(eta*eta), -720.*eta*xi + 360.*eta + 120.*xi - 60. - 180.*eta*eta);
    1134           0 :                       default:
    1135           0 :                         libmesh_error_msg("Invalid i = " << i);
    1136             :                       }
    1137             :                   } // j = 0
    1138             : 
    1139             :                   // d()/deta
    1140     4927140 :                 case 1:
    1141             :                   {
    1142     4927140 :                     switch(ii)
    1143             :                       {
    1144      328476 :                       case 0:
    1145      328476 :                         return sign * RealGradient(-180.*eta*xi + 180.*eta + 120.*xi - 54. - 135.*eta*eta - 45.*xi*xi, 90.*eta*xi - 60.*xi + 90.*(xi*xi));
    1146      328476 :                       case 1:
    1147      328476 :                         return sign * RealGradient(45.*eta*xi + 30.*eta - 75.*xi/2. - 9./4. - 135.*eta*eta/4. + 45.*(xi*xi)/2., 45.*eta*xi/2. - 45.*xi*xi/2.);
    1148      328476 :                       case 2:
    1149      328476 :                         return sign * RealGradient(30.*xi - 3. - 45.*xi*xi, 0.);
    1150      328476 :                       case 3:
    1151      328476 :                         return sign * RealGradient(30.*xi - 3. - 45.*xi*xi, 0.);
    1152      328476 :                       case 4:
    1153      328476 :                         return sign * RealGradient(-90.*eta*xi + 75.*eta/2. + 45.*xi/2. - 6. - 135.*eta*eta/4. - 45.*xi*xi/4., 45.*eta*xi/2. - 45.*xi/2. + 45.*(xi*xi));
    1154      328476 :                       case 5:
    1155      328476 :                         return sign * RealGradient(90.*eta - 9. - 135.*eta*eta, 90.*eta*xi - 30.*xi);
    1156      328476 :                       case 6:
    1157      328476 :                         return sign * RealGradient(90.*eta - 9. - 135.*eta*eta, 90.*eta*xi - 60.*eta - 30.*xi + 24.);
    1158      328476 :                       case 7:
    1159      328476 :                         return sign * RealGradient(45.*eta*xi - 105.*eta/2. + 21./4. + 135.*(eta*eta)/2. - 45.*xi*xi/4., -45.*eta*xi + 30.*eta + 75.*xi/2. - 15. - 45.*xi*xi/2.);
    1160      328476 :                       case 8:
    1161      328476 :                         return sign * RealGradient(-180.*eta*xi + 120.*eta + 60.*xi - 18. - 135.*eta*eta - 45.*xi*xi, 90.*eta*xi - 60.*eta - 120.*xi + 36. + 90.*(xi*xi));
    1162      328476 :                       case 9:
    1163      328476 :                         return RealGradient(720.*eta*xi - 900.*eta - 300.*xi + 180. + 810.*(eta*eta) + 90.*(xi*xi), -540.*eta*xi + 300.*xi - 360.*xi*xi);
    1164      328476 :                       case 10:
    1165      328476 :                         return RealGradient(-720.*eta*xi + 300.*eta + 300.*xi - 60. - 270.*eta*eta - 270.*xi*xi, 180.*eta*xi - 300.*xi + 360.*(xi*xi));
    1166      328476 :                       case 11:
    1167      328476 :                         return RealGradient(-720.*eta*xi + 120.*eta + 360.*xi - 60. - 180.*xi*xi, -120.*xi + 360.*(xi*xi));
    1168      328476 :                       case 12:
    1169      328476 :                         return RealGradient(360.*eta*xi - 60.*eta - 240.*xi + 30. + 270.*(xi*xi), 60.*xi - 180.*xi*xi);
    1170      328476 :                       case 13:
    1171      328476 :                         return RealGradient(-360.*eta*xi + 720.*eta + 60.*xi - 90. - 810.*eta*eta, 540.*eta*xi - 240.*xi + 180.*(xi*xi));
    1172      328476 :                       case 14:
    1173      328476 :                         return RealGradient(720.*eta*xi - 480.*eta - 120.*xi + 60. + 540.*(eta*eta), -360.*eta*xi + 360.*xi - 360.*xi*xi);
    1174           0 :                       default:
    1175           0 :                         libmesh_error_msg("Invalid i = " << i);
    1176             :                       }
    1177             :                   } // j = 1
    1178             : 
    1179           0 :                 default:
    1180           0 :                   libmesh_error_msg("Invalid j = " << j);
    1181             :                 }
    1182             :             }
    1183             : 
    1184           0 :           default:
    1185           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
    1186             :           } // end switch (type)
    1187             :       } // end case THIRD
    1188             : 
    1189             :       // quartic Nedelec (first kind) shape function first derivatives
    1190           0 :     case FOURTH:
    1191             :       {
    1192           0 :         switch (elem->type())
    1193             :           {
    1194           0 :           case QUAD8:
    1195             :           case QUAD9:
    1196             :             {
    1197           0 :               switch (j)
    1198             :                 {
    1199             :                   // d()/dxi
    1200           0 :                 case 0:
    1201             :                   {
    1202           0 :                     switch(ii)
    1203             :                       {
    1204           0 :                       case 0:
    1205           0 :                         return sign * RealGradient(240.*eta + 60.*xi - 1920.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1680.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 7200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 9600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 270. - 1800.*(eta + 1.)*(eta + 1.)/(2.*2.) - 6300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 105.*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3675.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 2400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1050.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
    1206           0 :                       case 1:
    1207           0 :                         return sign * RealGradient(-760.*eta/9. - 215.*xi/9. + 6880.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. - 6160.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/9. - 8600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. + 34400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 15050.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9. - 880./9. + 1900.*((eta + 1.)*(eta + 1.)/(2.*2.))/3. + 7700.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. + 385.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 30800.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 13475.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9. - 7600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 3325.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9., 0.);
    1208           0 :                       case 2:
    1209           0 :                         return sign * RealGradient(400.*eta/9. + 170.*xi/9. - 5440.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. + 6160.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/9. + 6800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. - 27200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 11900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9. + 520./9. - 1000.*(eta + 1.)*(eta + 1.)/(2.*2.)/3. - 7700.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. - 385.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 30800.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 13475.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9. + 4000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 1750.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9., 0.);
    1210           0 :                       case 3:
    1211           0 :                         return sign * RealGradient(-120.*eta - 45.*xi + 1440.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1680.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 5400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 7200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 150. + 900.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 105.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    1212           0 :                       case 4:
    1213           0 :                         return sign * RealGradient(0., 60.*eta + 120.*xi - 1800.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 5400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 164. - 240.*(eta + 1.)*(eta + 1.)/(2.*2.) - 10800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 720.*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 140.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 560.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1214           0 :                       case 5:
    1215           0 :                         return sign * RealGradient(0., -190.*eta/9. - 170.*xi/9. + 1900.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. - 1900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 13300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 4300.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. + 7700.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 1012./27. + 860.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 4300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 30100.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 340.*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 7700.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/3. - 1540.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/27. + 53900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 2380.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27.);
    1216           0 :                       case 6:
    1217           0 :                         return sign * RealGradient(0., 100.*eta/9. + 80.*xi/9. - 1000.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. + 1000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 3400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. - 7700.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 508./27. - 680.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 3400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 23800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 160.*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 7700.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/3. + 1540.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/27. - 53900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 1120.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27.);
    1218           0 :                       case 7:
    1219           0 :                         return sign * RealGradient(0., -30.*eta - 30.*xi + 900.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 2700.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2700.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 56. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 8100.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 180.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 140.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 140.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1220           0 :                       case 8:
    1221           0 :                         return sign * RealGradient(30.*eta - 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 420.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 2700.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 5400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 30. - 450.*(eta + 1.)*(eta + 1.)/(2.*2.) - 3150.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3675.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 525.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
    1222           0 :                       case 9:
    1223           0 :                         return sign * RealGradient(-100.*eta/9. + 1360.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. - 1540.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/9. - 3400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. + 6800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/3. - 11900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9. - 100./9. + 500.*((eta + 1.)*(eta + 1.)/(2.*2.))/3. + 3850.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 7700.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/3. + 13475.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9. - 1000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/3. + 1750.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9., 0.);
    1224           0 :                       case 10:
    1225           0 :                         return sign * RealGradient(190.*eta/9. - 1720.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. + 1540.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/9. + 4300.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. - 8600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/3. + 15050.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/9. + 190./9. - 950.*(eta + 1.)*(eta + 1.)/(2.*2.)/3. - 3850.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 7700.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/3. - 13475.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9. + 1900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/3. - 3325.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/9., 0.);
    1226           0 :                       case 11:
    1227           0 :                         return sign * RealGradient(-60.*eta + 480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 420.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 3600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 7200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 60. + 900.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 3150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1800.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1050.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    1228           0 :                       case 12:
    1229           0 :                         return sign * RealGradient(0., 120.*eta + 60.*xi - 1800.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2100.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 5400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 4200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 164. - 720.*(eta + 1.)*(eta + 1.)/(2.*2.) - 10800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 240.*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 560.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 140.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1230           0 :                       case 13:
    1231           0 :                         return sign * RealGradient(0., -400.*eta/9. - 160.*xi/9. + 2000.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. - 4000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 7000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 6800.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. + 15400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 1552./27. + 2720.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 13600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 23800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 640.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 30800.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. - 6160.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/27. + 53900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 1120.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27.);
    1232           0 :                       case 14:
    1233           0 :                         return sign * RealGradient(0., 760.*eta/9. + 340.*xi/9. - 3800.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. + 7600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 13300.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 8600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. - 15400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 3028./27. - 3440.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 17200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 30100.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 1360.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 30800.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. + 6160.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/27. - 53900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 2380.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27.);
    1234           0 :                       case 15:
    1235           0 :                         return sign * RealGradient(0., -240.*eta - 240.*xi + 3600.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 7200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 7200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 416. + 960.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 14400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 960.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 560.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 560.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1236           0 :                       case 16:
    1237           0 :                         return RealGradient(0., -195.*eta - 232.*xi + 3480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 7200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 6960.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 4060.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 375. + 780.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 14400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 960.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 455.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 560.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1238           0 :                       case 17:
    1239           0 :                         return RealGradient(0., -45.*eta - 112.*xi + 1680.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 5400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3360.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 1960.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 145. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 10800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 720.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 105.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 560.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1240           0 :                       case 18:
    1241           0 :                         return RealGradient(0., -60.*eta - 16.*xi + 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 480.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 280.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 60. + 240.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 140.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.));
    1242           0 :                       case 19:
    1243           0 :                         return RealGradient(195.*eta - 1560.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1365.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 6960.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 9600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 195. - 1740.*(eta + 1.)*(eta + 1.)/(2.*2.) - 6090.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3675.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 2400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1050.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
    1244           0 :                       case 20:
    1245           0 :                         return RealGradient(45.*eta - 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 315.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 3360.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 7200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 45. - 840.*(eta + 1.)*(eta + 1.)/(2.*2.) - 2940.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3675.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1800.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1050.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
    1246           0 :                       case 21:
    1247           0 :                         return RealGradient(60.*eta - 480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 420.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 480.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 60. - 120.*(eta + 1.)*(eta + 1.)/(2.*2.) - 420.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.), 0.);
    1248           0 :                       case 22:
    1249           0 :                         return RealGradient(-195.*eta/2. + 1170.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1365.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 5220.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 7200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 195./2. + 870.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 6090.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1200.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    1250           0 :                       case 23:
    1251           0 :                         return RealGradient(-45.*eta/2. + 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 315.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 2520.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 5400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 45./2. + 420.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 2940.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    1252           0 :                       case 24:
    1253           0 :                         return RealGradient(-30.*eta + 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 420.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 360.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 30. + 60.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 420.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)), 0.);
    1254           0 :                       case 25:
    1255           0 :                         return RealGradient(0., 195.*eta/2. + 58.*xi - 1740.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2100.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 5220.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 4060.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 285./2. - 585.*(eta + 1.)*(eta + 1.)/(2.*2.) - 10800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 240.*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 455.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 140.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1256           0 :                       case 26:
    1257           0 :                         return RealGradient(0., 45.*eta/2. + 28.*xi - 840.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2700.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2100.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2520.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 1960.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 95./2. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.) - 8100.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 180.*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 105.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 140.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1258           0 :                       case 27:
    1259           0 :                         return RealGradient(0., 30.*eta + 4.*xi - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 360.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 280.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 30. - 180.*(eta + 1.)*(eta + 1.)/(2.*2.) + 140.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)));
    1260           0 :                       case 28:
    1261           0 :                         return RealGradient(-9.*eta - 9. + 171.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 120.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 105.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2., 0.);
    1262           0 :                       case 29:
    1263           0 :                         return RealGradient(9.*eta + 9. - 171.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 120.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 105.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2., 0.);
    1264           0 :                       case 30:
    1265           0 :                         return RealGradient(0., -9.*eta - 57.*xi + 171.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 210.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 54. + 240.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 140.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1266           0 :                       case 31:
    1267           0 :                         return RealGradient(0., 9.*eta + 57.*xi/2. - 171.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 360.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 210.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 63./2. - 120.*(xi + 1.)*(xi + 1.)/(2.*2.) + 70.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1268           0 :                       case 32:
    1269           0 :                         return RealGradient(0., -3.*eta/2. - 27.*xi + 81.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 210.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 53./2. + 180.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 140.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1270           0 :                       case 33:
    1271           0 :                         return RealGradient(0., 3.*eta/2. + 27.*xi/2. - 81.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 210.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 14. - 90.*(xi + 1.)*(xi + 1.)/(2.*2.) + 70.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1272           0 :                       case 34:
    1273           0 :                         return RealGradient(-3.*eta/2. - 3./2. + 81.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 90.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 105.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2., 0.);
    1274           0 :                       case 35:
    1275           0 :                         return RealGradient(3.*eta/2. + 3./2. - 81.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 90.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 105.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2., 0.);
    1276           0 :                       case 36:
    1277           0 :                         return RealGradient(0., -9.*eta/2. - 6.*xi + 18.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 9./2.);
    1278           0 :                       case 37:
    1279           0 :                         return RealGradient(9.*eta/2. + 9./2. - 9.*(eta + 1.)*(eta + 1.)/(2.*2.), 0.);
    1280           0 :                       case 38:
    1281           0 :                         return RealGradient(-9.*eta/2. - 9./2. + 9.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    1282           0 :                       case 39:
    1283           0 :                         return RealGradient(0., 9.*eta/2. + 3.*xi - 18.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 9./2.);
    1284           0 :                       default:
    1285           0 :                         libmesh_error_msg("Invalid i = " << i);
    1286             :                       }
    1287             :                   } // j = 0
    1288             : 
    1289             :                   // d()/deta
    1290           0 :                 case 1:
    1291             :                   {
    1292           0 :                     switch(ii)
    1293             :                       {
    1294           0 :                       case 0:
    1295           0 :                         return sign * RealGradient(240.*eta + 240.*xi - 3600.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 7200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 7200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 4200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 416. - 960.*(eta + 1.)*(eta + 1.)/(2.*2.) - 14400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 960.*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 560.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 560.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)), 0.);
    1296           0 :                       case 1:
    1297           0 :                         return sign * RealGradient(-340.*eta/9. - 760.*xi/9. + 3800.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. - 8600.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 15400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 7600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. + 13300.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 3028./27. + 1360.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 17200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 30800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 3440.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 30100.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. - 2380.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/27. + 53900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 6160.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27., 0.);
    1298           0 :                       case 2:
    1299           0 :                         return sign * RealGradient(160.*eta/9. + 400.*xi/9. - 2000.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. + 6800.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 15400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 4000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. - 7000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 1552./27. - 640.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 13600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 30800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 2720.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 23800.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. + 1120.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/27. - 53900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 6160.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27., 0.);
    1300           0 :                       case 3:
    1301           0 :                         return sign * RealGradient(-60.*eta - 120.*xi + 1800.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 5400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 164. + 240.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 10800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 720.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 140.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 560.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    1302           0 :                       case 4:
    1303           0 :                         return sign * RealGradient(0., 60.*xi - 480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 420.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 60. - 3150.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 900.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1800.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1050.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    1304           0 :                       case 5:
    1305           0 :                         return sign * RealGradient(0., -190.*xi/9. + 1720.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. - 4300.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 8600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/3. - 15050.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9. - 1540.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 190./9. + 3850.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 7700.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/3. + 13475.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9. + 950.*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 1900.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/3. + 3325.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9.);
    1306           0 :                       case 6:
    1307           0 :                         return sign * RealGradient(0., 100.*xi/9. - 1360.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. + 3400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 6800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/3. + 11900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9. + 1540.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 100./9. - 3850.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 7700.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/3. - 13475.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9. - 500.*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 1000.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/3. - 1750.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9.);
    1308           0 :                       case 7:
    1309           0 :                         return sign * RealGradient(0., -30.*xi + 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 2700.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 420.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 30. + 3150.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 450.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 900.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
    1310           0 :                       case 8:
    1311           0 :                         return sign * RealGradient(30.*eta + 30.*xi - 900.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2700.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2100.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2700.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 56. - 180.*(eta + 1.)*(eta + 1.)/(2.*2.) - 8100.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 180.*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 140.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 140.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)), 0.);
    1312           0 :                       case 9:
    1313           0 :                         return sign * RealGradient(-80.*eta/9. - 100.*xi/9. + 1000.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. - 3400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 7700.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 1000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 7000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 508./27. + 160.*((eta + 1.)*(eta + 1.)/(2.*2.))/3. + 3400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7700.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/3. + 680.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 23800.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. - 1120.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/27. + 53900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27. - 1540.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27., 0.);
    1314           0 :                       case 10:
    1315           0 :                         return sign * RealGradient(170.*eta/9. + 190.*xi/9. - 1900.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. + 4300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 7700.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 1900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 13300.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 1012./27. - 340.*(eta + 1.)*(eta + 1.)/(2.*2.)/3. - 4300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 7700.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/3. - 860.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 30100.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. + 2380.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/27. - 53900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/27. + 1540.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/27., 0.);
    1316           0 :                       case 11:
    1317           0 :                         return sign * RealGradient(-120.*eta - 60.*xi + 1800.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 3600.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 164. + 720.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 10800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 240.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 560.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 140.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    1318           0 :                       case 12:
    1319           0 :                         return sign * RealGradient(0., 45.*eta + 120.*xi - 1440.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 5400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1680.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 150. - 105.*(eta + 1.)*(eta + 1.)/(2.*2.) - 6300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 900.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1200.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    1320           0 :                       case 13:
    1321           0 :                         return sign * RealGradient(0., -170.*eta/9. - 400.*xi/9. + 5440.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. - 6800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 27200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 11900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9. - 6160.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 520./9. + 385.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 7700.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 30800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 13475.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9. + 1000.*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 4000.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 1750.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9.);
    1322           0 :                       case 14:
    1323           0 :                         return sign * RealGradient(0., 215.*eta/9. + 760.*xi/9. - 6880.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/9. + 8600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 34400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 15050.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/9. + 6160.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 880./9. - 385.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 7700.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 30800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 13475.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9. - 1900.*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 7600.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 3325.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/9.);
    1324           0 :                       case 15:
    1325           0 :                         return sign * RealGradient(0., -60.*eta - 240.*xi + 1920.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 7200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 9600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1680.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 270. + 105.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1800.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1050.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
    1326           0 :                       case 16:
    1327           0 :                         return RealGradient(0., -195.*xi + 1560.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 6960.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 9600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1365.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 195. + 6090.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1740.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1050.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
    1328           0 :                       case 17:
    1329           0 :                         return RealGradient(0., -45.*xi + 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 3360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 7200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 315.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 45. + 2940.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 840.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1800.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1050.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
    1330           0 :                       case 18:
    1331           0 :                         return RealGradient(0., -60.*xi + 480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 480.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 420.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 60. + 420.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 120.*((xi + 1.)*(xi + 1.)/(2.*2.)));
    1332           0 :                       case 19:
    1333           0 :                         return RealGradient(232.*eta + 195.*xi - 3480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 6960.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4060.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 7200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 4200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 375. - 960.*(eta + 1.)*(eta + 1.)/(2.*2.) - 14400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 780.*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 560.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 455.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)), 0.);
    1334           0 :                       case 20:
    1335           0 :                         return RealGradient(112.*eta + 45.*xi - 1680.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3360.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1960.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 5400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 4200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 145. - 720.*(eta + 1.)*(eta + 1.)/(2.*2.) - 10800.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 180.*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 560.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4900.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 105.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)), 0.);
    1336           0 :                       case 21:
    1337           0 :                         return RealGradient(16.*eta + 60.*xi - 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 480.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 280.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 60. - 240.*(xi + 1.)*(xi + 1.)/(2.*2.) + 140.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)), 0.);
    1338           0 :                       case 22:
    1339           0 :                         return RealGradient(-58.*eta - 195.*xi/2. + 1740.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 5220.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 4060.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 285./2. + 240.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 10800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 585.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 140.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 455.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    1340           0 :                       case 23:
    1341           0 :                         return RealGradient(-28.*eta - 45.*xi/2. + 840.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 2520.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 1960.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2700.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 2100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 95./2. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 8100.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 135.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 140.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4900.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 105.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    1342           0 :                       case 24:
    1343           0 :                         return RealGradient(-4.*eta - 30.*xi + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 280.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 30. + 180.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 140.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    1344           0 :                       case 25:
    1345           0 :                         return RealGradient(0., 195.*xi/2. - 1170.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 5220.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1365.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 195./2. - 6090.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 870.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1200.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    1346           0 :                       case 26:
    1347           0 :                         return RealGradient(0., 45.*xi/2. - 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2520.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 5400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 315.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 45./2. - 2940.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 420.*(xi + 1.)*(xi + 1.)/(2.*2.) + 900.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    1348           0 :                       case 27:
    1349           0 :                         return RealGradient(0., 30.*xi - 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 360.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 420.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 30. - 420.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 60.*(xi + 1.)*(xi + 1.)/(2.*2.));
    1350           0 :                       case 28:
    1351           0 :                         return RealGradient(-57.*eta - 9.*xi + 171.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 360.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 210.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 54. + 240.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 140.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    1352           0 :                       case 29:
    1353           0 :                         return RealGradient(57.*eta/2. + 9.*xi - 171.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 360.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 210.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 63./2. - 120.*(eta + 1.)*(eta + 1.)/(2.*2.) + 70.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    1354           0 :                       case 30:
    1355           0 :                         return RealGradient(0., -9.*xi - 9. + 171.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 120.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 105.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1356           0 :                       case 31:
    1357           0 :                         return RealGradient(0., 9.*xi + 9. - 171.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 120.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 105.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2.);
    1358           0 :                       case 32:
    1359           0 :                         return RealGradient(0., -3.*xi/2. - 3./2. + 81.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 90.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 105.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1360           0 :                       case 33:
    1361           0 :                         return RealGradient(0., 3.*xi/2. + 3./2. - 81.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 90.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 105.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2.);
    1362           0 :                       case 34:
    1363           0 :                         return RealGradient(-27.*eta - 3.*xi/2. + 81.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 210.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 53./2. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 140.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    1364           0 :                       case 35:
    1365           0 :                         return RealGradient(27.*eta/2. + 3.*xi/2. - 81.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 210.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 14. - 90.*(eta + 1.)*(eta + 1.)/(2.*2.) + 70.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    1366           0 :                       case 36:
    1367           0 :                         return RealGradient(0., -9.*xi/2. - 9./2. + 9.*((xi + 1.)*(xi + 1.)/(2.*2.)));
    1368           0 :                       case 37:
    1369           0 :                         return RealGradient(6.*eta + 9.*xi/2. - 18.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 9./2., 0.);
    1370           0 :                       case 38:
    1371           0 :                         return RealGradient(-3.*eta - 9.*xi/2. + 18.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 9./2., 0.);
    1372           0 :                       case 39:
    1373           0 :                         return RealGradient(0., 9.*xi/2. + 9./2. - 9.*(xi + 1.)*(xi + 1.)/(2.*2.));
    1374           0 :                       default:
    1375           0 :                         libmesh_error_msg("Invalid i = " << i);
    1376             :                       }
    1377             :                   } // j = 1
    1378             : 
    1379           0 :                 default:
    1380           0 :                   libmesh_error_msg("Invalid j = " << j);
    1381             :                 }
    1382             :             }
    1383             : 
    1384           0 :           case TRI6:
    1385             :           case TRI7:
    1386             :             {
    1387           0 :               switch (j)
    1388             :                 {
    1389             :                   // d()/dxi
    1390           0 :                 case 0:
    1391             :                   {
    1392           0 :                     switch(ii)
    1393             :                       {
    1394           0 :                       case 0:
    1395           0 :                         return sign * RealGradient(-1680.*eta*xi + 720.*eta + 672.*eta*(xi*xi) + 480.*xi + 1344.*xi*(eta*eta) - 120. - 1260.*eta*eta - 420.*xi*xi + 672.*(eta*eta*eta), 1680.*eta*xi - 240.*eta - 2016.*eta*xi*xi - 480.*xi - 1344.*xi*eta*eta + 40. + 420.*(eta*eta) + 1260.*(xi*xi) - 224.*eta*eta*eta - 896.*xi*xi*xi);
    1396           0 :                       case 1:
    1397           0 :                         return sign * RealGradient(5768.*eta*xi/9. - 200.*eta - 2464.*eta*xi*xi/9. - 1720.*xi/9. - 4480.*xi*eta*eta/9. + 380./9. + 784.*(eta*eta)/3. + 1540.*(xi*xi)/9. - 896.*eta*eta*eta/9., -4256.*eta*xi/9. + 176.*eta/9. + 2240.*eta*(xi*xi)/3. + 1600.*xi/9. + 1792.*xi*(eta*eta)/9. - 296./27. + 448.*(eta*eta)/9. - 504.*xi*xi - 1792.*eta*eta*eta/27. + 9856.*(xi*xi*xi)/27.);
    1398           0 :                       case 2:
    1399           0 :                         return sign * RealGradient(-2240.*eta*xi/9. - 16.*eta + 2464.*eta*(xi*xi)/9. + 1360.*xi/9. + 448.*xi*(eta*eta)/9. - 200./9. + 476.*(eta*eta)/3. - 1540.*xi*xi/9. - 1120.*eta*eta*eta/9., -784.*eta*xi/9. + 112.*eta/9. - 224.*eta*xi*xi/3. - 1024.*xi/9. + 2240.*xi*(eta*eta)/9. + 152./27. - 196.*eta*eta/9. + 420.*(xi*xi) - 224.*eta*eta*eta/27. - 9856.*xi*xi*xi/27.);
    1400           0 :                       case 3:
    1401           0 :                         return sign * RealGradient(504.*eta*xi - 72.*eta - 672.*eta*xi*xi - 360.*xi + 60. + 420.*(xi*xi), 288.*xi - 16. - 1008.*xi*xi + 896.*(xi*xi*xi));
    1402           0 :                       case 4:
    1403           0 :                         return sign * RealGradient(504.*eta*xi - 72.*eta - 672.*eta*xi*xi, 288.*xi - 16. - 1008.*xi*xi + 896.*(xi*xi*xi));
    1404           0 :                       case 5:
    1405           0 :                         return sign * RealGradient(896.*eta*xi/3. - 80.*eta - 1792.*eta*xi*xi/9. - 1792.*xi*eta*eta/3. + 784.*(eta*eta)/3. - 448.*eta*eta*eta/3., -1792.*eta*xi/3. + 56.*eta + 896.*eta*(xi*xi) + 160.*xi + 896.*xi*(eta*eta)/3. - 12. - 140.*eta*eta/3. - 1232.*xi*xi/3. + 224.*(eta*eta*eta)/27. + 7168.*(xi*xi*xi)/27.);
    1406           0 :                       case 6:
    1407           0 :                         return sign * RealGradient(280.*eta*xi/3. - 56.*eta - 224.*eta*xi*xi/9. - 896.*xi*eta*eta/3. + 896.*(eta*eta)/3. - 896.*eta*eta*eta/3., -1568.*eta*xi/3. + 80.*eta + 448.*eta*(xi*xi) + 64.*xi + 1792.*xi*(eta*eta)/3. - 8. - 448.*eta*eta/3. - 280.*xi*xi/3. + 1792.*(eta*eta*eta)/27. + 896.*(xi*xi*xi)/27.);
    1408           0 :                       case 7:
    1409           0 :                         return sign * RealGradient(0., 72.*eta - 4. - 252.*eta*eta + 224.*(eta*eta*eta));
    1410           0 :                       case 8:
    1411           0 :                         return sign * RealGradient(0., 72.*eta - 4. - 252.*eta*eta + 224.*(eta*eta*eta));
    1412           0 :                       case 9:
    1413           0 :                         return sign * RealGradient(392.*eta*xi/9. - 112.*eta/9. + 224.*eta*(xi*xi)/9. - 2240.*xi*eta*eta/9. + 392.*(eta*eta)/9. + 224.*(eta*eta*eta)/9., -952.*eta*xi/3. + 16.*eta + 1120.*eta*(xi*xi)/3. + 208.*xi/9. - 448.*xi*eta*eta/9. - 112./27. + 1120.*(eta*eta)/9. + 56.*(xi*xi)/9. - 2464.*eta*eta*eta/27. - 896.*xi*xi*xi/27.);
    1414           0 :                       case 10:
    1415           0 :                         return sign * RealGradient(-896.*eta*xi/9. - 176.*eta/9. + 1792.*eta*(xi*xi)/9. - 1792.*xi*eta*eta/9. + 2128.*(eta*eta)/9. - 2240.*eta*eta*eta/9., -1568.*eta*xi/3. + 200.*eta + 896.*eta*(xi*xi)/3. - 1216.*xi/9. + 4480.*xi*(eta*eta)/9. + 76./27. - 2884.*eta*eta/9. + 3472.*(xi*xi)/9. + 2464.*(eta*eta*eta)/27. - 7168.*xi*xi*xi/27.);
    1416           0 :                       case 11:
    1417           0 :                         return sign * RealGradient(-840.*eta*xi + 240.*eta + 672.*eta*(xi*xi) + 1344.*xi*(eta*eta) - 840.*eta*eta + 672.*(eta*eta*eta), 2520.*eta*xi - 720.*eta - 2016.*eta*xi*xi - 960.*xi - 1344.*xi*eta*eta + 160. + 840.*(eta*eta) + 1680.*(xi*xi) - 224.*eta*eta*eta - 896.*xi*xi*xi);
    1418           0 :                       case 12:
    1419           0 :                         return RealGradient(6048.*eta*xi - 3240.*eta - 2016.*eta*xi*xi - 8064.*xi*eta*eta + 9072.*(eta*eta) - 6048.*eta*eta*eta, -12096.*eta*xi + 2160.*eta + 12096.*eta*(xi*xi) + 2160.*xi + 12096.*xi*(eta*eta) - 240. - 4536.*eta*eta - 4536.*xi*xi + 2688.*(eta*eta*eta) + 2688.*(xi*xi*xi));
    1420           0 :                       case 13:
    1421           0 :                         return RealGradient(-9072.*eta*xi + 2160.*eta + 8064.*eta*(xi*xi) + 12096.*xi*(eta*eta) - 6048.*eta*eta + 4032.*(eta*eta*eta), 18144.*eta*xi - 3240.*eta - 18144.*eta*xi*xi - 8640.*xi - 8064.*xi*eta*eta + 960. + 3024.*(eta*eta) + 18144.*(xi*xi) - 672.*eta*eta*eta - 10752.*xi*xi*xi);
    1422           0 :                       case 14:
    1423           0 :                         return RealGradient(9072.*eta*xi - 1944.*eta - 6048.*eta*xi*xi - 8064.*xi*eta*eta + 2016.*(eta*eta), -6048.*eta*xi + 432.*eta + 12096.*eta*(xi*xi) + 3456.*xi - 216. - 10584.*xi*xi + 8064.*(xi*xi*xi));
    1424           0 :                       case 15:
    1425           0 :                         return RealGradient(-7056.*eta*xi + 1152.*eta + 8064.*eta*(xi*xi) + 4032.*xi*(eta*eta) - 1008.*eta*eta, 3024.*eta*xi - 216.*eta - 6048.*eta*xi*xi - 4608.*xi + 288. + 14112.*(xi*xi) - 10752.*xi*xi*xi);
    1426           0 :                       case 16:
    1427           0 :                         return RealGradient(-216.*eta + 1512.*(eta*eta) - 2016.*eta*eta*eta, -2016.*eta*xi + 1152.*eta + 144.*xi + 4032.*xi*(eta*eta) - 72. - 3528.*eta*eta + 2688.*(eta*eta*eta));
    1428           0 :                       case 17:
    1429           0 :                         return RealGradient(432.*eta - 3024.*eta*eta + 4032.*(eta*eta*eta), 4032.*eta*xi - 1944.*eta - 288.*xi - 8064.*xi*eta*eta + 144. + 4536.*(eta*eta) - 2016.*eta*eta*eta);
    1430           0 :                       case 18:
    1431           0 :                         return RealGradient(3276.*eta*xi - 1332.*eta - 1512.*eta*xi*xi - 6048.*xi*eta*eta + 4788.*(eta*eta) - 3528.*eta*eta*eta, -8064.*eta*xi + 1044.*eta + 9072.*eta*(xi*xi) + 1548.*xi + 7056.*xi*(eta*eta) - 144. - 1638.*eta*eta - 3402.*xi*xi + 672.*(eta*eta*eta) + 2016.*(xi*xi*xi));
    1432           0 :                       case 19:
    1433           0 :                         return RealGradient(-3276.*eta*xi + 1044.*eta + 2016.*eta*(xi*xi) + 7056.*xi*(eta*eta) - 4032.*eta*eta + 3024.*(eta*eta*eta), 9576.*eta*xi - 1332.*eta - 10584.*eta*xi*xi - 2196.*xi - 6048.*xi*eta*eta + 216. + 1638.*(eta*eta) + 4662.*(xi*xi) - 504.*eta*eta*eta - 2688.*xi*xi*xi);
    1434           0 :                       case 20:
    1435           0 :                         return RealGradient(1008.*eta*xi - 216.*eta - 504.*eta*xi*xi - 756.*eta*eta + 1008.*(eta*eta*eta), 1008.*eta*xi - 360.*eta + 144.*xi - 2016.*xi*eta*eta + 12. + 1008.*(eta*eta) - 756.*xi*xi - 672.*eta*eta*eta + 672.*(xi*xi*xi));
    1436           0 :                       case 21:
    1437           0 :                         return RealGradient(-756.*eta*xi - 216.*eta + 2016.*eta*(xi*xi) - 3024.*xi*eta*eta + 2268.*(eta*eta) - 2016.*eta*eta*eta, -5544.*eta*xi + 1188.*eta + 4536.*eta*(xi*xi) - 936.*xi + 4032.*xi*(eta*eta) + 6. - 1512.*eta*eta + 3402.*(xi*xi) + 336.*(eta*eta*eta) - 2688.*xi*xi*xi);
    1438           0 :                       case 22:
    1439           0 :                         return RealGradient(-3024.*eta*xi + 1188.*eta + 1008.*eta*(xi*xi) + 4032.*xi*(eta*eta) - 2772.*eta*eta + 1512.*(eta*eta*eta), 4536.*eta*xi - 216.*eta - 6048.*eta*xi*xi - 972.*xi - 3024.*xi*eta*eta + 66. - 378.*eta*eta + 2268.*(xi*xi) + 672.*(eta*eta*eta) - 1344.*xi*xi*xi);
    1440           0 :                       case 23:
    1441           0 :                         return RealGradient(2016.*eta*xi - 360.*eta - 2016.*eta*xi*xi - 2016.*xi*eta*eta + 504.*(eta*eta), -1512.*eta*xi - 216.*eta + 3024.*eta*(xi*xi) + 1440.*xi - 48. + 504.*(eta*eta) - 4032.*xi*xi - 168.*eta*eta*eta + 2688.*(xi*xi*xi));
    1442           0 :                       default:
    1443           0 :                         libmesh_error_msg("Invalid i = " << i);
    1444             :                       }
    1445             :                   } // j = 0
    1446             : 
    1447             :                   // d()/deta
    1448           0 :                 case 1:
    1449             :                   {
    1450           0 :                     switch(ii)
    1451             :                       {
    1452           0 :                       case 0:
    1453           0 :                         return sign * RealGradient(-2520.*eta*xi + 960.*eta + 1344.*eta*(xi*xi) + 720.*xi + 2016.*xi*(eta*eta) - 160. - 1680.*eta*eta - 840.*xi*xi + 896.*(eta*eta*eta) + 224.*(xi*xi*xi), 840.*eta*xi - 1344.*eta*xi*xi - 240.*xi - 672.*xi*eta*eta + 840.*(xi*xi) - 672.*xi*xi*xi);
    1454           0 :                       case 1:
    1455           0 :                         return sign * RealGradient(1568.*eta*xi/3. + 1216.*eta/9. - 4480.*eta*xi*xi/9. - 200.*xi - 896.*xi*eta*eta/3. - 76./27. - 3472.*eta*eta/9. + 2884.*(xi*xi)/9. + 7168.*(eta*eta*eta)/27. - 2464.*xi*xi*xi/27., 896.*eta*xi/9. + 1792.*eta*(xi*xi)/9. + 176.*xi/9. - 1792.*xi*eta*eta/9. - 2128.*xi*xi/9. + 2240.*(xi*xi*xi)/9.);
    1456           0 :                       case 2:
    1457           0 :                         return sign * RealGradient(952.*eta*xi/3. - 208.*eta/9. + 448.*eta*(xi*xi)/9. - 16.*xi - 1120.*xi*eta*eta/3. + 112./27. - 56.*eta*eta/9. - 1120.*xi*xi/9. + 896.*(eta*eta*eta)/27. + 2464.*(xi*xi*xi)/27., -392.*eta*xi/9. + 2240.*eta*(xi*xi)/9. + 112.*xi/9. - 224.*xi*eta*eta/9. - 392.*xi*xi/9. - 224.*xi*xi*xi/9.);
    1458           0 :                       case 3:
    1459           0 :                         return sign * RealGradient(-72.*xi + 4. + 252.*(xi*xi) - 224.*xi*xi*xi, 0.);
    1460           0 :                       case 4:
    1461           0 :                         return sign * RealGradient(-72.*xi + 4. + 252.*(xi*xi) - 224.*xi*xi*xi, 0.);
    1462           0 :                       case 5:
    1463           0 :                         return sign * RealGradient(1568.*eta*xi/3. - 64.*eta - 1792.*eta*xi*xi/3. - 80.*xi - 448.*xi*eta*eta + 8. + 280.*(eta*eta)/3. + 448.*(xi*xi)/3. - 896.*eta*eta*eta/27. - 1792.*xi*xi*xi/27., -280.*eta*xi/3. + 896.*eta*(xi*xi)/3. + 56.*xi + 224.*xi*(eta*eta)/9. - 896.*xi*xi/3. + 896.*(xi*xi*xi)/3.);
    1464           0 :                       case 6:
    1465           0 :                         return sign * RealGradient(1792.*eta*xi/3. - 160.*eta - 896.*eta*xi*xi/3. - 56.*xi - 896.*xi*eta*eta + 12. + 1232.*(eta*eta)/3. + 140.*(xi*xi)/3. - 7168.*eta*eta*eta/27. - 224.*xi*xi*xi/27., -896.*eta*xi/3. + 1792.*eta*(xi*xi)/3. + 80.*xi + 1792.*xi*(eta*eta)/9. - 784.*xi*xi/3. + 448.*(xi*xi*xi)/3.);
    1466           0 :                       case 7:
    1467           0 :                         return sign * RealGradient(-288.*eta + 16. + 1008.*(eta*eta) - 896.*eta*eta*eta, -504.*eta*xi + 72.*xi + 672.*xi*(eta*eta));
    1468           0 :                       case 8:
    1469           0 :                         return sign * RealGradient(-288.*eta + 16. + 1008.*(eta*eta) - 896.*eta*eta*eta, -504.*eta*xi + 360.*eta + 72.*xi + 672.*xi*(eta*eta) - 60. - 420.*eta*eta);
    1470           0 :                       case 9:
    1471           0 :                         return sign * RealGradient(784.*eta*xi/9. + 1024.*eta/9. - 2240.*eta*xi*xi/9. - 112.*xi/9. + 224.*xi*(eta*eta)/3. - 152./27. - 420.*eta*eta + 196.*(xi*xi)/9. + 9856.*(eta*eta*eta)/27. + 224.*(xi*xi*xi)/27., 2240.*eta*xi/9. - 1360.*eta/9. - 448.*eta*xi*xi/9. + 16.*xi - 2464.*xi*eta*eta/9. + 200./9. + 1540.*(eta*eta)/9. - 476.*xi*xi/3. + 1120.*(xi*xi*xi)/9.);
    1472           0 :                       case 10:
    1473           0 :                         return sign * RealGradient(4256.*eta*xi/9. - 1600.*eta/9. - 1792.*eta*xi*xi/9. - 176.*xi/9. - 2240.*xi*eta*eta/3. + 296./27. + 504.*(eta*eta) - 448.*xi*xi/9. - 9856.*eta*eta*eta/27. + 1792.*(xi*xi*xi)/27., -5768.*eta*xi/9. + 1720.*eta/9. + 4480.*eta*(xi*xi)/9. + 200.*xi + 2464.*xi*(eta*eta)/9. - 380./9. - 1540.*eta*eta/9. - 784.*xi*xi/3. + 896.*(xi*xi*xi)/9.);
    1474           0 :                       case 11:
    1475           0 :                         return sign * RealGradient(-1680.*eta*xi + 480.*eta + 1344.*eta*(xi*xi) + 240.*xi + 2016.*xi*(eta*eta) - 40. - 1260.*eta*eta - 420.*xi*xi + 896.*(eta*eta*eta) + 224.*(xi*xi*xi), 1680.*eta*xi - 480.*eta - 1344.*eta*xi*xi - 720.*xi - 672.*xi*eta*eta + 120. + 420.*(eta*eta) + 1260.*(xi*xi) - 672.*xi*xi*xi);
    1476           0 :                       case 12:
    1477           0 :                         return RealGradient(18144.*eta*xi - 8640.*eta - 8064.*eta*xi*xi - 3240.*xi - 18144.*xi*eta*eta + 960. + 18144.*(eta*eta) + 3024.*(xi*xi) - 10752.*eta*eta*eta - 672.*xi*xi*xi, -9072.*eta*xi + 12096.*eta*(xi*xi) + 2160.*xi + 8064.*xi*(eta*eta) - 6048.*xi*xi + 4032.*(xi*xi*xi));
    1478           0 :                       case 13:
    1479           0 :                         return RealGradient(-12096.*eta*xi + 2160.*eta + 12096.*eta*(xi*xi) + 2160.*xi + 12096.*xi*(eta*eta) - 240. - 4536.*eta*eta - 4536.*xi*xi + 2688.*(eta*eta*eta) + 2688.*(xi*xi*xi), 6048.*eta*xi - 8064.*eta*xi*xi - 3240.*xi - 2016.*xi*eta*eta + 9072.*(xi*xi) - 6048.*xi*xi*xi);
    1480           0 :                       case 14:
    1481           0 :                         return RealGradient(4032.*eta*xi - 288.*eta - 8064.*eta*xi*xi - 1944.*xi + 144. + 4536.*(xi*xi) - 2016.*xi*xi*xi, 432.*xi - 3024.*xi*xi + 4032.*(xi*xi*xi));
    1482           0 :                       case 15:
    1483           0 :                         return RealGradient(-2016.*eta*xi + 144.*eta + 4032.*eta*(xi*xi) + 1152.*xi - 72. - 3528.*xi*xi + 2688.*(xi*xi*xi), -216.*xi + 1512.*(xi*xi) - 2016.*xi*xi*xi);
    1484           0 :                       case 16:
    1485           0 :                         return RealGradient(3024.*eta*xi - 4608.*eta - 216.*xi - 6048.*xi*eta*eta + 288. + 14112.*(eta*eta) - 10752.*eta*eta*eta, -7056.*eta*xi + 4032.*eta*(xi*xi) + 1152.*xi + 8064.*xi*(eta*eta) - 1008.*xi*xi);
    1486           0 :                       case 17:
    1487           0 :                         return RealGradient(-6048.*eta*xi + 3456.*eta + 432.*xi + 12096.*xi*(eta*eta) - 216. - 10584.*eta*eta + 8064.*(eta*eta*eta), 9072.*eta*xi - 8064.*eta*xi*xi - 1944.*xi - 6048.*xi*eta*eta + 2016.*(xi*xi));
    1488           0 :                       case 18:
    1489           0 :                         return RealGradient(9576.*eta*xi - 2196.*eta - 6048.*eta*xi*xi - 1332.*xi - 10584.*xi*eta*eta + 216. + 4662.*(eta*eta) + 1638.*(xi*xi) - 2688.*eta*eta*eta - 504.*xi*xi*xi, -3276.*eta*xi + 7056.*eta*(xi*xi) + 1044.*xi + 2016.*xi*(eta*eta) - 4032.*xi*xi + 3024.*(xi*xi*xi));
    1490           0 :                       case 19:
    1491           0 :                         return RealGradient(-8064.*eta*xi + 1548.*eta + 7056.*eta*(xi*xi) + 1044.*xi + 9072.*xi*(eta*eta) - 144. - 3402.*eta*eta - 1638.*xi*xi + 2016.*(eta*eta*eta) + 672.*(xi*xi*xi), 3276.*eta*xi - 6048.*eta*xi*xi - 1332.*xi - 1512.*xi*eta*eta + 4788.*(xi*xi) - 3528.*xi*xi*xi);
    1492           0 :                       case 20:
    1493           0 :                         return RealGradient(-1512.*eta*xi + 1440.*eta - 216.*xi + 3024.*xi*(eta*eta) - 48. - 4032.*eta*eta + 504.*(xi*xi) + 2688.*(eta*eta*eta) - 168.*xi*xi*xi, 2016.*eta*xi - 2016.*eta*xi*xi - 360.*xi - 2016.*xi*eta*eta + 504.*(xi*xi));
    1494           0 :                       case 21:
    1495           0 :                         return RealGradient(4536.*eta*xi - 972.*eta - 3024.*eta*xi*xi - 216.*xi - 6048.*xi*eta*eta + 66. + 2268.*(eta*eta) - 378.*xi*xi - 1344.*eta*eta*eta + 672.*(xi*xi*xi), -3024.*eta*xi + 4032.*eta*(xi*xi) + 1188.*xi + 1008.*xi*(eta*eta) - 2772.*xi*xi + 1512.*(xi*xi*xi));
    1496           0 :                       case 22:
    1497           0 :                         return RealGradient(-5544.*eta*xi - 936.*eta + 4032.*eta*(xi*xi) + 1188.*xi + 4536.*xi*(eta*eta) + 6. + 3402.*(eta*eta) - 1512.*xi*xi - 2688.*eta*eta*eta + 336.*(xi*xi*xi), -756.*eta*xi - 3024.*eta*xi*xi - 216.*xi + 2016.*xi*(eta*eta) + 2268.*(xi*xi) - 2016.*xi*xi*xi);
    1498           0 :                       case 23:
    1499           0 :                         return RealGradient(1008.*eta*xi + 144.*eta - 2016.*eta*xi*xi - 360.*xi + 12. - 756.*eta*eta + 1008.*(xi*xi) + 672.*(eta*eta*eta) - 672.*xi*xi*xi, 1008.*eta*xi - 216.*xi - 504.*xi*eta*eta - 756.*xi*xi + 1008.*(xi*xi*xi));
    1500           0 :                       default:
    1501           0 :                         libmesh_error_msg("Invalid i = " << i);
    1502             :                       }
    1503             :                   } // j = 1
    1504             : 
    1505           0 :                 default:
    1506           0 :                   libmesh_error_msg("Invalid j = " << j);
    1507             :                 }
    1508             :             }
    1509             : 
    1510           0 :           default:
    1511           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
    1512             :           } // end switch (type)
    1513             :       } // end case FOURTH
    1514             : 
    1515             :       // quintic Nedelec (first kind) shape function first derivatives
    1516           0 :     case FIFTH:
    1517             :       {
    1518           0 :         switch (elem->type())
    1519             :           {
    1520           0 :           case QUAD8:
    1521             :           case QUAD9:
    1522             :             {
    1523           0 :               switch (j)
    1524             :                 {
    1525             :                   // d()/dxi
    1526           0 :                 case 0:
    1527             :                   {
    1528           0 :                     switch(ii)
    1529             :                       {
    1530           0 :                       case 0:
    1531           0 :                         return sign * RealGradient(1875.*eta/2. + 525.*xi/2. - 13125.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 26250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 15750.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 78750.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 183750.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 183750.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 66150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 1125. - 11250.*(eta + 1.)*(eta + 1.)/(2.*2.) - 157500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 94500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1050.*(xi + 1.)*(xi + 1.)/(2.*2.) + 367500.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 367500.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 132300.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 26250.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 630.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 220500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 79380.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 26250.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 9450.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
    1532           0 :                       case 1:
    1533           0 :                         return sign * RealGradient(-71625.*eta/256. - 21105.*xi/256. + 527625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/128. - 1021125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 291375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 1582875.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/64. + 3693375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 3693375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 1329615.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. - 10875./32. + 214875.*((eta + 1.)*(eta + 1.)/(2.*2.))/64. + 3063375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 874125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 40845.*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 7147875.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 7147875.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 2573235.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/64. - 501375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 11655.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. - 2039625.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/32. + 734265.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/32. + 501375.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 180495.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/64., 0.);
    1534           0 :                       case 2:
    1535           0 :                         return sign * RealGradient(2625.*eta/16. + 1155.*xi/16. - 28875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/8. + 70875.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 23625.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 86625.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/4. - 202125.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 202125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 72765.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/4. + 1785./8. - 7875.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 212625.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 70875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 2835.*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 496125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 496125.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 178605.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/4. + 18375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 165375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. + 165375.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. - 59535.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/2. - 18375.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 6615.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/4., 0.);
    1536           0 :                       case 3:
    1537           0 :                         return sign * RealGradient(-17625.*eta/256. - 9345.*xi/256. + 233625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/128. - 727125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 291375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 700875.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/64. + 1635375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 1635375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 588735.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. - 3195./32. + 52875.*((eta + 1.)*(eta + 1.)/(2.*2.))/64. + 2181375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 874125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 29085.*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 5089875.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 5089875.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 1832355.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/64. - 123375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 11655.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. - 2039625.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/32. + 734265.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/32. + 123375.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 44415.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/64., 0.);
    1538           0 :                       case 4:
    1539           0 :                         return sign * RealGradient(375.*eta + 315.*xi/2. - 7875.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 21000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 15750.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 47250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 110250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 110250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 39690.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 1005./2. - 4500.*(eta + 1.)*(eta + 1.)/(2.*2.) - 126000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 94500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 840.*(xi + 1.)*(xi + 1.)/(2.*2.) + 294000.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 294000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 105840.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 10500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 630.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 220500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 79380.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 10500.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 3780.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
    1540           0 :                       case 5:
    1541           0 :                         return sign * RealGradient(0., -375.*eta/2. - 375.*xi + 9000.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 47250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 84000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 47250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 31500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 42000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 18900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 2125./4. + 2625.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 165375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 294000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 165375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 7875.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 220500.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 99225.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1750.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 392000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 7000.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 176400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 7875.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1542           0 :                       case 6:
    1543           0 :                         return sign * RealGradient(0., 14325.*eta/256. + 7275.*xi/128. - 42975.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/16. + 902475.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 100275.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 902475.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 316575.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/32. - 204225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/16. + 174825.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. + 55325./512. - 105525.*(eta + 1.)*(eta + 1.)/(2.*2.)/256. - 6648075.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 738675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/8. - 6648075.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 152775.*(xi + 1.)*(xi + 1.)/(2.*2.)/256. + 4288725.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 3671325.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. + 68075.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/128. - 476525.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 4288725.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 16975.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. + 407925.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 58275.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/256. - 3671325.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 152775.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/256.);
    1544           0 :                       case 7:
    1545           0 :                         return sign * RealGradient(0., -525.*eta/16. - 225.*xi/8. + 1575.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 33075.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 14700.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 33075.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 17325.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 14175.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 1875./32. + 5775.*((eta + 1.)*(eta + 1.)/(2.*2.))/16. + 363825.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 80850.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 363825.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. + 4725.*((xi + 1.)*(xi + 1.)/(2.*2.))/16. - 297675.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 297675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 4725.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/8. + 132300.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 297675.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 66150.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 4725.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/16. + 297675.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. + 4725.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/16.);
    1546           0 :                       case 8:
    1547           0 :                         return sign * RealGradient(0., 3525.*eta/256. + 1275.*xi/128. - 10575.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/16. + 222075.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 24675.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 222075.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 140175.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/32. - 145425.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/16. + 174825.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. + 11725./512. - 46725.*(eta + 1.)*(eta + 1.)/(2.*2.)/256. - 2943675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 327075.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/8. - 2943675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 26775.*(xi + 1.)*(xi + 1.)/(2.*2.)/256. + 3053925.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 3671325.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. + 48475.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/128. - 339325.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 3053925.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 2975.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. + 407925.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 58275.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/256. - 3671325.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 26775.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/256.);
    1548           0 :                       case 9:
    1549           0 :                         return sign * RealGradient(0., -75.*eta - 75.*xi + 3600.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 33600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 18900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 33600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 18900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 575./4. + 1575.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 99225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 99225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1575.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 176400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 99225.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 313600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 176400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1550           0 :                       case 10:
    1551           0 :                         return sign * RealGradient(75.*eta - 1575.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 66150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 88200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 39690.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 75. - 1800.*(eta + 1.)*(eta + 1.)/(2.*2.) - 50400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 37800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 176400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 235200.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 105840.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 6300.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 132300.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 176400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 79380.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 8400.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 3780.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
    1552           0 :                       case 11:
    1553           0 :                         return sign * RealGradient(-3525.*eta/256. + 46725.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/128. - 145425.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 58275.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 140175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/32. + 981225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 327075.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/16. + 588735.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. - 3525./256. + 10575.*((eta + 1.)*(eta + 1.)/(2.*2.))/32. + 436275.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/32. - 174825.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. - 3053925.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 1017975.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/16. - 1832355.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/64. - 74025.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 1223775.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 407925.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/8. + 734265.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/32. + 24675.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/16. - 44415.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/64., 0.);
    1554           0 :                       case 12:
    1555           0 :                         return sign * RealGradient(525.*eta/16. - 5775.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/8. + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 4725.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 17325.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 121275.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 40425.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 72765.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/4. + 525./16. - 1575.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 42525.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 297675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 99225.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 178605.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/4. + 11025.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 66150.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 59535.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/2. - 3675.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 6615.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/4., 0.);
    1556           0 :                       case 13:
    1557           0 :                         return sign * RealGradient(-14325.*eta/256. + 105525.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/128. - 204225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 58275.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 316575.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/32. + 2216025.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 738675.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/16. + 1329615.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/64. - 14325./256. + 42975.*((eta + 1.)*(eta + 1.)/(2.*2.))/32. + 612675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/32. - 174825.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. - 4288725.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 1429575.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/16. - 2573235.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/64. - 300825.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 1223775.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 407925.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/8. + 734265.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/32. + 100275.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/16. - 180495.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/64., 0.);
    1558           0 :                       case 14:
    1559           0 :                         return sign * RealGradient(375.*eta/2. - 2625.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 5250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 31500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 110250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 147000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 66150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 375./2. - 4500.*(eta + 1.)*(eta + 1.)/(2.*2.) - 63000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 37800.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 220500.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 294000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 132300.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 15750.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 132300.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 176400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 79380.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 21000.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 9450.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
    1560           0 :                       case 15:
    1561           0 :                         return sign * RealGradient(0., -375.*eta - 375.*xi/2. + 9000.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 31500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 42000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 47250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 84000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 47250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 2125./4. + 7875.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 165375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 99225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 2625.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 294000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 165375.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 7000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 392000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1750.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 220500.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 7875.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1562           0 :                       case 16:
    1563           0 :                         return sign * RealGradient(0., 17625.*eta/256. + 6375.*xi/256. - 52875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/32. + 370125.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 123375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. + 222075.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 700875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/64. - 727125.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 874125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. + 45875./512. - 233625.*(eta + 1.)*(eta + 1.)/(2.*2.)/256. - 4906125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 1635375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 2943675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 44625.*(xi + 1.)*(xi + 1.)/(2.*2.)/256. + 5089875.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 6118875.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. + 242375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/128. - 1696625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. + 3053925.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 14875.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. + 2039625.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. - 291375.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/256. - 3671325.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 26775.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/256.);
    1564           0 :                       case 17:
    1565           0 :                         return sign * RealGradient(0., -2625.*eta/16. - 1125.*xi/16. + 7875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 55125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 18375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 33075.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 86625.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/4. + 70875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 70875.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. - 7125./32. + 28875.*((eta + 1.)*(eta + 1.)/(2.*2.))/16. + 606375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 202125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 363825.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. + 7875.*((xi + 1.)*(xi + 1.)/(2.*2.))/16. - 496125.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 496125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 23625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/8. + 165375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 297675.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 2625.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. - 165375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. + 23625.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/16. + 297675.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. + 4725.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/16.);
    1566           0 :                       case 18:
    1567           0 :                         return sign * RealGradient(0., 71625.*eta/256. + 36375.*xi/256. - 214875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/32. + 1504125.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 501375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. + 902475.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 1582875.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/64. - 1021125.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 874125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. + 203875./512. - 527625.*(eta + 1.)*(eta + 1.)/(2.*2.)/256. - 11080125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 3693375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 6648075.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 254625.*(xi + 1.)*(xi + 1.)/(2.*2.)/256. + 7147875.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 6118875.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. + 340375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/128. - 2382625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. + 4288725.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. + 84875.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. + 2039625.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/32. - 291375.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/256. - 3671325.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 152775.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/256.);
    1568           0 :                       case 19:
    1569           0 :                         return sign * RealGradient(0., -1875.*eta/2. - 1875.*xi/2. + 22500.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 78750.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 105000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 47250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 78750.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 105000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 47250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 6875./4. + 13125.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 275625.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 367500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 165375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 13125.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 367500.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 165375.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 8750.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 490000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 8750.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 220500.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 7875.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 7875.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1570           0 :                       case 20:
    1571           0 :                         return RealGradient(0., -2925.*eta/4. - 3525.*xi/4. + 21150.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 155475.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 105000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 47250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 74025.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 98700.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 44415.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 11925./8. + 20475.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 1088325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 367500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 165375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 51825.*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 362775.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 652995.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 6825.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 490000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 8750.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 220500.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 12285.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 7875.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1572           0 :                       case 21:
    1573           0 :                         return RealGradient(0., 150.*eta + 2775.*xi/8. - 8325.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 92475.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 84000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 47250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 58275.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 38850.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 34965.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 3775./8. - 1050.*(eta + 1.)*(eta + 1.)/(2.*2.) - 647325.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 294000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 165375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 30825.*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 215775.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 388395.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 1400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 392000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 220500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 7000.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 176400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 630.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 7875.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2.);
    1574           0 :                       case 22:
    1575           0 :                         return RealGradient(0., -675.*eta/2. - 1125.*xi/8. + 3375.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 6075.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. - 23625.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 15750.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 3375./8. + 4725.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 42525.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. + 2025.*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 25515.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 3150.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2.);
    1576           0 :                       case 23:
    1577           0 :                         return RealGradient(0., 675.*eta/4. + 225.*xi/2. - 2700.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 6075.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. + 9450.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 12600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5670.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 2025./8. - 4725.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 42525.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. - 2025.*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 14175.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 25515.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2835.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4.);
    1578           0 :                       case 24:
    1579           0 :                         return RealGradient(2925.*eta/4. - 20475.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 20475.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 12285.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 74025.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 362775.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 183750.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 66150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 2925./4. - 10575.*(eta + 1.)*(eta + 1.)/(2.*2.) - 148050.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 88830.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 362775.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 367500.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 132300.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 51825.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 217665.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 220500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 79380.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 26250.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 9450.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
    1580           0 :                       case 25:
    1581           0 :                         return RealGradient(-150.*eta + 2100.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 4200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2520.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 58275.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 215775.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 147000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 66150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 150. + 8325.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 58275.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 34965.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 215775.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 294000.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 132300.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 30825.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 129465.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 79380.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 21000.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 9450.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
    1582           0 :                       case 26:
    1583           0 :                         return RealGradient(675.*eta/2. - 4725.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 9450.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 5670.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 23625.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 675./2. - 3375.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 23625.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 14175.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 2025.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 8505.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    1584           0 :                       case 27:
    1585           0 :                         return RealGradient(-675.*eta/4. + 4725.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 4725.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2835.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 9450.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 14175.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 675./4. + 1350.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 18900.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 11340.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 2025.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 8505.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)), 0.);
    1586           0 :                       case 28:
    1587           0 :                         return RealGradient(585.*eta/2. - 12285.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 16380.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 12285.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 44415.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 217665.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 110250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 39690.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 585./2. - 4230.*(eta + 1.)*(eta + 1.)/(2.*2.) - 118440.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 88830.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 290220.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 294000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 105840.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 10365.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 217665.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 220500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 79380.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 10500.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 3780.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
    1588           0 :                       case 29:
    1589           0 :                         return RealGradient(-60.*eta + 1260.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 3360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2520.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 34965.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 129465.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 88200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 39690.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 60. + 1665.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 46620.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 34965.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 172620.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 235200.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 105840.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) - 6165.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 129465.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 79380.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) + 8400.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 3780.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
    1590           0 :                       case 30:
    1591           0 :                         return RealGradient(135.*eta - 2835.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 7560.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 5670.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 14175.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 8505.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 135. - 675.*(eta + 1.)*(eta + 1.)/(2.*2.) - 18900.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 11340.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 405.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 8505.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    1592           0 :                       case 31:
    1593           0 :                         return RealGradient(-135.*eta/2. + 2835.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 3780.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 2835.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5670.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 8505.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 135./2. + 540.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 15120.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 11340.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 11340.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 405.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 8505.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)), 0.);
    1594           0 :                       case 32:
    1595           0 :                         return RealGradient(0., -585.*eta/2. - 705.*xi/4. + 8460.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 31095.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 42000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 44415.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 78960.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 44415.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 3555./8. + 12285.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 652995.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 220500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 99225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 10365.*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 290220.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 652995.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 5460.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 392000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1750.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 220500.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 12285.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1596           0 :                       case 33:
    1597           0 :                         return RealGradient(0., 60.*eta + 555.*xi/8. - 3330.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 18495.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 33600.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 18900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 34965.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 31080.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 34965.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 995./8. - 630.*(eta + 1.)*(eta + 1.)/(2.*2.) - 388395.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 176400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 99225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 6165.*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 172620.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 388395.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 1120.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 313600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 176400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 176400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 630.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2.);
    1598           0 :                       case 34:
    1599           0 :                         return RealGradient(0., -135.*eta - 225.*xi/8. + 1350.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1215.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 12600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 1215./8. + 2835.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 25515.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. + 405.*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 11340.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 25515.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 2520.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2.);
    1600           0 :                       case 35:
    1601           0 :                         return RealGradient(0., 135.*eta/2. + 45.*xi/2. - 1080.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1215.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 5670.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 10080.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5670.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 675./8. - 2835.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 25515.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. - 405.*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 11340.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 25515.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 1260.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2835.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4.);
    1602           0 :                       case 36:
    1603           0 :                         return RealGradient(-72.*eta + 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1980.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 5100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1890.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 72. + 1188.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 3060.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3150.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1134.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
    1604           0 :                       case 37:
    1605           0 :                         return RealGradient(-48.*eta + 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1980.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 5100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1890.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 48. + 792.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2040.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2100.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 756.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.), 0.);
    1606           0 :                       case 38:
    1607           0 :                         return RealGradient(30.*eta - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 990.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2550.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2625.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 945.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 30. - 495.*(eta + 1.)*(eta + 1.)/(2.*2.) + 1275.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2625.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.))/2., 0.);
    1608           0 :                       case 39:
    1609           0 :                         return RealGradient(0., -72.*eta - 297.*xi + 2376.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 9180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 12600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5670.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1980.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 333. + 120.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 7650.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 10500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 2295.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3150.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2835.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1610           0 :                       case 40:
    1611           0 :                         return RealGradient(0., -48.*eta - 99.*xi + 1584.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 6120.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3780.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1980.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 135. + 120.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 7650.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 10500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 765.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1050.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2.);
    1612           0 :                       case 41:
    1613           0 :                         return RealGradient(0., 30.*eta + 99.*xi/2. - 990.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3825.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 5250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 990.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 147./2. - 60.*(eta + 1.)*(eta + 1.)/(2.*2.) - 3825.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 765.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4.);
    1614           0 :                       case 42:
    1615           0 :                         return RealGradient(0., 9.*eta + 108.*xi - 864.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 5400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 10080.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 5670.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 720.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 225./2. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.) - 4500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1350.*(xi + 1.)*(xi + 1.)/(2.*2.) + 2520.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2.);
    1616           0 :                       case 43:
    1617           0 :                         return RealGradient(0., 6.*eta + 36.*xi - 576.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6720.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3780.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 720.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 81./2. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.) - 4500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 450.*(xi + 1.)*(xi + 1.)/(2.*2.) + 840.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2.);
    1618           0 :                       case 44:
    1619           0 :                         return RealGradient(0., -15.*eta/4. - 18.*xi + 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 2250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 360.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 21. + 15.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 2250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 225.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 420.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4.);
    1620           0 :                       case 45:
    1621           0 :                         return RealGradient(9.*eta - 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 720.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 3000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1890.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 9. - 432.*(eta + 1.)*(eta + 1.)/(2.*2.) + 1800.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2520.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1134.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
    1622           0 :                       case 46:
    1623           0 :                         return RealGradient(6.*eta - 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 720.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 3000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1890.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.) + 6. - 288.*(eta + 1.)*(eta + 1.)/(2.*2.) + 1200.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1680.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 756.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)), 0.);
    1624           0 :                       case 47:
    1625           0 :                         return RealGradient(-15.*eta/4. + 15.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 360.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 1500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 945.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)) - 15./4. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 750.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1050.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.*2.)/2., 0.);
    1626           0 :                       case 48:
    1627           0 :                         return RealGradient(0., -36.*eta - 81.*xi/2. + 324.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 117./2. + 60.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 135.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
    1628           0 :                       case 49:
    1629           0 :                         return RealGradient(0., 9.*eta + 27.*xi - 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 63./2. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.) - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 135.*(xi + 1.)*(xi + 1.)/(2.*2.)/2.);
    1630           0 :                       case 50:
    1631           0 :                         return RealGradient(36.*eta - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 36. - 162.*(eta + 1.)*(eta + 1.)/(2.*2.) + 90.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    1632           0 :                       case 51:
    1633           0 :                         return RealGradient(-9.*eta + 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 9. + 108.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 90.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    1634           0 :                       case 52:
    1635           0 :                         return RealGradient(24.*eta - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 24. - 108.*(eta + 1.)*(eta + 1.)/(2.*2.) + 60.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    1636           0 :                       case 53:
    1637           0 :                         return RealGradient(-6.*eta + 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 6. + 72.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 60.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    1638           0 :                       case 54:
    1639           0 :                         return RealGradient(0., -24.*eta - 27.*xi/2. + 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 63./2. + 60.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 45.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
    1640           0 :                       case 55:
    1641           0 :                         return RealGradient(0., 6.*eta + 9.*xi - 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 27./2. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.) - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 45.*(xi + 1.)*(xi + 1.)/(2.*2.)/2.);
    1642           0 :                       case 56:
    1643           0 :                         return RealGradient(0., 0.);
    1644           0 :                       case 57:
    1645           0 :                         return RealGradient(0., -9.*xi/2. - 5./2. + 15.*((xi + 1.)*(xi + 1.)/(2.*2.))/2.);
    1646           0 :                       case 58:
    1647           0 :                         return RealGradient(0., 3.*xi + 5./2. - 15.*(xi + 1.)*(xi + 1.)/(2.*2.)/2.);
    1648           0 :                       case 59:
    1649           0 :                         return RealGradient(0., 0.);
    1650           0 :                       default:
    1651           0 :                         libmesh_error_msg("Invalid i = " << i);
    1652             :                       }
    1653             :                   } // j = 0
    1654             : 
    1655             :                   // d()/deta
    1656           0 :                 case 1:
    1657             :                   {
    1658           0 :                     switch(ii)
    1659             :                       {
    1660           0 :                       case 0:
    1661           0 :                         return sign * RealGradient(1875.*eta/2. + 1875.*xi/2. - 22500.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 78750.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 105000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 47250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 78750.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 105000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 47250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 6875./4. - 13125.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 275625.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 367500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 165375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 13125.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 367500.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 165375.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 8750.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 490000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 220500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 8750.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 220500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 7875.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 7875.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2., 0.);
    1662           0 :                       case 1:
    1663           0 :                         return sign * RealGradient(-36375.*eta/256. - 71625.*xi/256. + 214875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/32. - 1582875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/64. + 1021125.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 874125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 1504125.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/64. + 501375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/16. - 902475.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. - 203875./512. + 254625.*((eta + 1.)*(eta + 1.)/(2.*2.))/256. + 11080125.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 7147875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 6118875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 527625.*((xi + 1.)*(xi + 1.)/(2.*2.))/256. - 3693375.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 6648075.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. - 84875.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 2382625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. - 2039625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. - 340375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/128. - 4288725.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 152775.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/256. + 3671325.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 291375.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/256., 0.);
    1664           0 :                       case 2:
    1665           0 :                         return sign * RealGradient(1125.*eta/16. + 2625.*xi/16. - 7875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 86625.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 70875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 70875.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 55125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/4. - 18375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 33075.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. + 7125./32. - 7875.*(eta + 1.)*(eta + 1.)/(2.*2.)/16. - 606375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 496125.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 496125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 28875.*(xi + 1.)*(xi + 1.)/(2.*2.)/16. + 202125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 363825.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/8. + 2625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 165375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 165375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 23625.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/8. + 297675.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 4725.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/16. - 297675.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 23625.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/16., 0.);
    1666           0 :                       case 3:
    1667           0 :                         return sign * RealGradient(-6375.*eta/256. - 17625.*xi/256. + 52875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/32. - 700875.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/64. + 727125.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 874125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 370125.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/64. + 123375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/16. - 222075.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. - 45875./512. + 44625.*((eta + 1.)*(eta + 1.)/(2.*2.))/256. + 4906125.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 5089875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 6118875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 233625.*((xi + 1.)*(xi + 1.)/(2.*2.))/256. - 1635375.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 2943675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. - 14875.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 1696625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. - 2039625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. - 242375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/128. - 3053925.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 26775.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/256. + 3671325.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 291375.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/256., 0.);
    1668           0 :                       case 4:
    1669           0 :                         return sign * RealGradient(375.*eta/2. + 375.*xi - 9000.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 47250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 84000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 47250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 31500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 42000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 2125./4. - 2625.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 165375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 294000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 165375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 7875.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 220500.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 99225.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1750.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 392000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 220500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 7000.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 176400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 7875.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2., 0.);
    1670           0 :                       case 5:
    1671           0 :                         return sign * RealGradient(0., -375.*xi/2. + 2625.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 31500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 110250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 147000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 66150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 5250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 3150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 375./2. + 63000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 294000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 132300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 4500.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 37800.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 132300.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 79380.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 15750.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 21000.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 9450.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
    1672           0 :                       case 6:
    1673           0 :                         return sign * RealGradient(0., 14325.*xi/256. - 105525.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/128. + 316575.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/32. - 2216025.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 738675.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/16. - 1329615.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 204225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/128. - 58275.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 14325./256. - 612675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 4288725.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 1429575.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/16. + 2573235.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/64. - 42975.*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 174825.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/16. - 1223775.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 407925.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. - 734265.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/32. + 300825.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 100275.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/16. + 180495.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/64.);
    1674           0 :                       case 7:
    1675           0 :                         return sign * RealGradient(0., -525.*xi/16. + 5775.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/8. - 17325.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 121275.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 40425.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 72765.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/4. - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/8. + 4725.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 525./16. + 42525.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 297675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 99225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 178605.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/4. + 1575.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 66150.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 59535.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/2. - 11025.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 3675.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 6615.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/4.);
    1676           0 :                       case 8:
    1677           0 :                         return sign * RealGradient(0., 3525.*xi/256. - 46725.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/128. + 140175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/32. - 981225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 327075.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/16. - 588735.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 145425.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/128. - 58275.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 3525./256. - 436275.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 3053925.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 1017975.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/16. + 1832355.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/64. - 10575.*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 174825.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/16. - 1223775.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 407925.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. - 734265.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/32. + 74025.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 24675.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/16. + 44415.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/64.);
    1678           0 :                       case 9:
    1679           0 :                         return sign * RealGradient(0., -75.*xi + 1575.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 66150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 88200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 4200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 3150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 75. + 50400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 235200.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 105840.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 1800.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 37800.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 132300.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 79380.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 6300.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 8400.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 3780.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
    1680           0 :                       case 10:
    1681           0 :                         return sign * RealGradient(75.*eta + 75.*xi - 3600.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 18900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 33600.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 18900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 33600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 575./4. - 1575.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 99225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 176400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 99225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1575.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 176400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 99225.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 313600.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 176400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 176400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2., 0.);
    1682           0 :                       case 11:
    1683           0 :                         return sign * RealGradient(-1275.*eta/128. - 3525.*xi/256. + 10575.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/16. - 140175.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 145425.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. - 174825.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. - 222075.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/64. + 24675.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 222075.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. - 11725./512. + 26775.*((eta + 1.)*(eta + 1.)/(2.*2.))/256. + 2943675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 3053925.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 3671325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 46725.*((xi + 1.)*(xi + 1.)/(2.*2.))/256. - 327075.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/8. + 2943675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. - 2975.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/16. + 339325.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 407925.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 48475.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/128. - 3053925.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 26775.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/256. + 3671325.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 58275.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/256., 0.);
    1684           0 :                       case 12:
    1685           0 :                         return sign * RealGradient(225.*eta/8. + 525.*xi/16. - 1575.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 17325.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 14175.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 33075.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/4. - 14700.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 33075.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. + 1875./32. - 4725.*(eta + 1.)*(eta + 1.)/(2.*2.)/16. - 363825.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 297675.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 297675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 5775.*(xi + 1.)*(xi + 1.)/(2.*2.)/16. + 80850.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 363825.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/8. + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 132300.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 66150.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 4725.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/8. + 297675.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4. - 4725.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/16. - 297675.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 4725.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/16., 0.);
    1686           0 :                       case 13:
    1687           0 :                         return sign * RealGradient(-7275.*eta/128. - 14325.*xi/256. + 42975.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/16. - 316575.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/32. + 204225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. - 174825.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/32. - 902475.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/64. + 100275.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 902475.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. - 55325./512. + 152775.*((eta + 1.)*(eta + 1.)/(2.*2.))/256. + 6648075.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 4288725.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 3671325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 105525.*((xi + 1.)*(xi + 1.)/(2.*2.))/256. - 738675.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/8. + 6648075.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. - 16975.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/16. + 476525.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 407925.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 68075.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/128. - 4288725.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/64. + 152775.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/256. + 3671325.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 58275.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/256., 0.);
    1688           0 :                       case 14:
    1689           0 :                         return sign * RealGradient(375.*eta + 375.*xi/2. - 9000.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 31500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 42000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 18900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 47250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 84000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 47250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 2125./4. - 7875.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 165375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 220500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 99225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 2625.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 294000.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 165375.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 7000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 392000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 176400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 1750.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 220500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 7875.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2., 0.);
    1690           0 :                       case 15:
    1691           0 :                         return sign * RealGradient(0., -315.*eta/2. - 375.*xi + 7875.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 47250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 110250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 110250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 21000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 15750.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1005./2. + 840.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 126000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 294000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 294000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 105840.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 4500.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 94500.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 630.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 220500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 79380.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 10500.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 10500.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 3780.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
    1692           0 :                       case 16:
    1693           0 :                         return sign * RealGradient(0., 9345.*eta/256. + 17625.*xi/256. - 233625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/128. + 700875.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 1635375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 1635375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. - 588735.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 727125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/128. - 291375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 3195./32. - 29085.*(eta + 1.)*(eta + 1.)/(2.*2.)/128. - 2181375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/64. + 5089875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 5089875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. + 1832355.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/64. - 52875.*(xi + 1.)*(xi + 1.)/(2.*2.)/64. + 874125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/32. + 11655.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 2039625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/32. - 734265.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/32. + 123375.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 123375.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. + 44415.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/64.);
    1694           0 :                       case 17:
    1695           0 :                         return sign * RealGradient(0., -1155.*eta/16. - 2625.*xi/16. + 28875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/8. - 86625.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 202125.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 202125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. + 72765.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/4. - 70875.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/8. + 23625.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. - 1785./8. + 2835.*((eta + 1.)*(eta + 1.)/(2.*2.))/8. + 212625.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 496125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 496125.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. - 178605.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/4. + 7875.*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 70875.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/4. + 165375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 165375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. + 59535.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/2. - 18375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 18375.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. - 6615.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/4.);
    1696           0 :                       case 18:
    1697           0 :                         return sign * RealGradient(0., 21105.*eta/256. + 71625.*xi/256. - 527625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/128. + 1582875.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 3693375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/64. + 3693375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/64. - 1329615.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/64. + 1021125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/128. - 291375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. + 10875./32. - 40845.*(eta + 1.)*(eta + 1.)/(2.*2.)/128. - 3063375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/64. + 7147875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 7147875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. + 2573235.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/64. - 214875.*(xi + 1.)*(xi + 1.)/(2.*2.)/64. + 874125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/32. + 11655.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/64. - 2039625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/32. - 734265.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/32. + 501375.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 501375.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. + 180495.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/64.);
    1698           0 :                       case 19:
    1699           0 :                         return sign * RealGradient(0., -525.*eta/2. - 1875.*xi/2. + 13125.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 78750.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 183750.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 183750.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 66150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 26250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 15750.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1125. + 1050.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 157500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 367500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 367500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 132300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 11250.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 94500.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 630.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 220500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 79380.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 26250.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 26250.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 9450.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
    1700           0 :                       case 20:
    1701           0 :                         return RealGradient(0., -2925.*xi/4. + 20475.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 74025.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 362775.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 183750.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 66150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 20475.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 12285.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2925./4. + 148050.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 362775.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 367500.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 132300.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 10575.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 88830.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 217665.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 79380.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 51825.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 26250.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 9450.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
    1702           0 :                       case 21:
    1703           0 :                         return RealGradient(0., 150.*xi - 2100.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 58275.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 215775.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 147000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 66150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2520.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 150. - 58275.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 215775.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 294000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 132300.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 8325.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 34965.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 129465.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 176400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 79380.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 30825.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 21000.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 9450.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
    1704           0 :                       case 22:
    1705           0 :                         return RealGradient(0., -675.*xi/2. + 4725.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 23625.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 9450.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 5670.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 675./2. + 23625.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 14175.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3375.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 8505.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2025.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2.);
    1706           0 :                       case 23:
    1707           0 :                         return RealGradient(0., 675.*xi/4. - 4725.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 9450.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 14175.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 4725.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2835.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 675./4. - 18900.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1350.*(xi + 1.)*(xi + 1.)/(2.*2.) + 11340.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 8505.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2025.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2.);
    1708           0 :                       case 24:
    1709           0 :                         return RealGradient(3525.*eta/4. + 2925.*xi/4. - 21150.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 74025.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 98700.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 44415.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 155475.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 105000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 47250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 11925./8. - 51825.*(eta + 1.)*(eta + 1.)/(2.*2.)/8. - 1088325.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 362775.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 652995.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 20475.*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 367500.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 165375.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 8750.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 490000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 220500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 6825.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 220500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 7875.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 12285.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4., 0.);
    1710           0 :                       case 25:
    1711           0 :                         return RealGradient(-2775.*eta/8. - 150.*xi + 8325.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 58275.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 38850.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 34965.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 92475.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. + 84000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 47250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 3775./8. + 30825.*((eta + 1.)*(eta + 1.)/(2.*2.))/8. + 647325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 215775.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 388395.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 1050.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 294000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 165375.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 7000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 392000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 220500.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 7875.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 630.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)), 0.);
    1712           0 :                       case 26:
    1713           0 :                         return RealGradient(1125.*eta/8. + 675.*xi/2. - 3375.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 23625.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 15750.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 6075.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 3375./8. - 2025.*(eta + 1.)*(eta + 1.)/(2.*2.)/8. - 42525.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 14175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 25515.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 4725.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 3150.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2., 0.);
    1714           0 :                       case 27:
    1715           0 :                         return RealGradient(-225.*eta/2. - 675.*xi/4. + 2700.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 9450.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 12600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5670.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 6075.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 2025./8. + 2025.*((eta + 1.)*(eta + 1.)/(2.*2.))/8. + 42525.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 14175.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 25515.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 4725.*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2835.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4., 0.);
    1716           0 :                       case 28:
    1717           0 :                         return RealGradient(705.*eta/4. + 585.*xi/2. - 8460.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 44415.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 78960.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 44415.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 31095.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 42000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 3555./8. - 10365.*(eta + 1.)*(eta + 1.)/(2.*2.)/8. - 652995.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 290220.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 652995.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 12285.*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 220500.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 99225.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1750.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 392000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 220500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 5460.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 176400.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 12285.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4., 0.);
    1718           0 :                       case 29:
    1719           0 :                         return RealGradient(-555.*eta/8. - 60.*xi + 3330.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 34965.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 31080.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 34965.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 18495.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 33600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 18900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 995./8. + 6165.*((eta + 1.)*(eta + 1.)/(2.*2.))/8. + 388395.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 172620.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 388395.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 630.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 176400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 99225.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 313600.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 176400.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1120.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 176400.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 630.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)), 0.);
    1720           0 :                       case 30:
    1721           0 :                         return RealGradient(225.*eta/8. + 135.*xi - 1350.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 12600.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 1215.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 1215./8. - 405.*(eta + 1.)*(eta + 1.)/(2.*2.)/8. - 25515.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 11340.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 25515.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4. - 2835.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 2520.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2., 0.);
    1722           0 :                       case 31:
    1723           0 :                         return RealGradient(-45.*eta/2. - 135.*xi/2. + 1080.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 5670.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 10080.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5670.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 1215.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 675./8. + 405.*((eta + 1.)*(eta + 1.)/(2.*2.))/8. + 25515.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 11340.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 25515.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 2835.*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 1260.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2835.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4., 0.);
    1724           0 :                       case 32:
    1725           0 :                         return RealGradient(0., -585.*xi/2. + 12285.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 44415.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 217665.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 110250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 39690.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 16380.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 12285.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 585./2. + 118440.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 290220.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 294000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 105840.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 4230.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 88830.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 217665.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 220500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 79380.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 10365.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 10500.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 3780.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
    1726           0 :                       case 33:
    1727           0 :                         return RealGradient(0., 60.*xi - 1260.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 34965.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 129465.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 88200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 39690.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 3360.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2520.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 60. - 46620.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 172620.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 235200.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 105840.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 1665.*(xi + 1.)*(xi + 1.)/(2.*2.) + 34965.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 129465.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 176400.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 79380.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 6165.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 8400.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 3780.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
    1728           0 :                       case 34:
    1729           0 :                         return RealGradient(0., -135.*xi + 2835.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 14175.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 8505.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 7560.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 5670.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 135. + 18900.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 11340.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 675.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 14175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 8505.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 405.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1730           0 :                       case 35:
    1731           0 :                         return RealGradient(0., 135.*xi/2. - 2835.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 5670.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8505.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 3780.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 2835.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 135./2. - 15120.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 11340.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 540.*(xi + 1.)*(xi + 1.)/(2.*2.) + 11340.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 8505.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 405.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1732           0 :                       case 36:
    1733           0 :                         return RealGradient(-297.*eta - 72.*xi + 2376.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1980.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 9180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 12600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 5670.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 333. + 2295.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 7650.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 120.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 10500.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4725.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 3150.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2., 0.);
    1734           0 :                       case 37:
    1735           0 :                         return RealGradient(-99.*eta - 48.*xi + 1584.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1980.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 6120.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 8400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 3780.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 135. + 765.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 7650.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 120.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 10500.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4725.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 1050.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2., 0.);
    1736           0 :                       case 38:
    1737           0 :                         return RealGradient(99.*eta/2. + 30.*xi - 990.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 990.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 3825.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 5250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4725.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 147./2. - 765.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 3825.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 60.*(xi + 1.)*(xi + 1.)/(2.*2.) + 5250.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4725.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4., 0.);
    1738           0 :                       case 39:
    1739           0 :                         return RealGradient(0., -72.*xi + 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1980.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1890.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 72. + 1188.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3060.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3150.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 1134.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
    1740           0 :                       case 40:
    1741           0 :                         return RealGradient(0., -48.*xi + 240.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 1980.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 5250.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1890.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 48. + 792.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2040.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2100.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 756.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.));
    1742           0 :                       case 41:
    1743           0 :                         return RealGradient(0., 30.*xi - 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 990.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2550.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2625.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 945.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 30. - 495.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1275.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2625.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.))/2.);
    1744           0 :                       case 42:
    1745           0 :                         return RealGradient(0., 9.*xi - 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 720.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 1890.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 9. - 432.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1800.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2520.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 1134.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
    1746           0 :                       case 43:
    1747           0 :                         return RealGradient(0., 6.*xi - 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 720.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4200.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 1890.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.) + 6. - 288.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1200.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1680.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 756.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)));
    1748           0 :                       case 44:
    1749           0 :                         return RealGradient(0., -15.*xi/4. + 15.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 1500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2100.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) + 945.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)) - 15./4. + 180.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 750.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1050.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.*2.)/2.);
    1750           0 :                       case 45:
    1751           0 :                         return RealGradient(108.*eta + 9.*xi - 864.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 720.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 5400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 10080.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 5670.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 225./2. - 1350.*(eta + 1.)*(eta + 1.)/(2.*2.) - 4500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 15.*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4725.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 2520.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2835.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2., 0.);
    1752           0 :                       case 46:
    1753           0 :                         return RealGradient(36.*eta + 6.*xi - 576.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 720.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 3600.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 6720.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3780.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 81./2. - 450.*(eta + 1.)*(eta + 1.)/(2.*2.) - 4500.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 15.*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4725.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 840.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2., 0.);
    1754           0 :                       case 47:
    1755           0 :                         return RealGradient(-18.*eta - 15.*xi/4. + 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 360.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 2250.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 4200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4725.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 21. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 2250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 15.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 4200.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4725.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. - 420.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4., 0.);
    1756           0 :                       case 48:
    1757           0 :                         return RealGradient(0., -36.*xi + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 36. + 162.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 90.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1758           0 :                       case 49:
    1759           0 :                         return RealGradient(0., 9.*xi - 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 9. - 108.*(xi + 1.)*(xi + 1.)/(2.*2.) + 90.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1760           0 :                       case 50:
    1761           0 :                         return RealGradient(81.*eta/2. + 36.*xi - 324.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 270.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 117./2. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 60.*(xi + 1.)*(xi + 1.)/(2.*2.), 0.);
    1762           0 :                       case 51:
    1763           0 :                         return RealGradient(-27.*eta - 9.*xi + 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 270.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 63./2. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 15.*((xi + 1.)*(xi + 1.)/(2.*2.)), 0.);
    1764           0 :                       case 52:
    1765           0 :                         return RealGradient(27.*eta/2. + 24.*xi - 216.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 270.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 180.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 63./2. - 45.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 60.*(xi + 1.)*(xi + 1.)/(2.*2.), 0.);
    1766           0 :                       case 53:
    1767           0 :                         return RealGradient(-9.*eta - 6.*xi + 144.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 180.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 180.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 27./2. + 45.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 225.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 15.*((xi + 1.)*(xi + 1.)/(2.*2.)), 0.);
    1768           0 :                       case 54:
    1769           0 :                         return RealGradient(0., -24.*xi + 120.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 270.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 24. + 108.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 60.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    1770           0 :                       case 55:
    1771           0 :                         return RealGradient(0., 6.*xi - 30.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 180.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 6. - 72.*(xi + 1.)*(xi + 1.)/(2.*2.) + 60.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    1772           0 :                       case 56:
    1773           0 :                         return RealGradient(-9.*eta/2. - 5./2. + 15.*((eta + 1.)*(eta + 1.)/(2.*2.))/2., 0.);
    1774           0 :                       case 57:
    1775           0 :                         return RealGradient(0., 0.);
    1776           0 :                       case 58:
    1777           0 :                         return RealGradient(0., 0.);
    1778           0 :                       case 59:
    1779           0 :                         return RealGradient(3.*eta + 5./2. - 15.*(eta + 1.)*(eta + 1.)/(2.*2.)/2., 0.);
    1780           0 :                       default:
    1781           0 :                         libmesh_error_msg("Invalid i = " << i);
    1782             :                       }
    1783             :                   } // j = 1
    1784             : 
    1785           0 :                 default:
    1786           0 :                   libmesh_error_msg("Invalid j = " << j);
    1787             :                 }
    1788             :             }
    1789             : 
    1790           0 :           case TRI6:
    1791             :           case TRI7:
    1792             :             {
    1793           0 :               switch (j)
    1794             :                 {
    1795             :                   // d()/dxi
    1796           0 :                 case 0:
    1797             :                   {
    1798           0 :                     switch(ii)
    1799             :                       {
    1800           0 :                       case 0:
    1801           0 :                         return sign * RealGradient(-12600.*eta*xi + 2800.*eta + 15120.*eta*(xi*xi) - 4200.*eta*xi*xi*xi + 2100.*xi + 22680.*xi*(eta*eta) - 12600.*xi*eta*eta*eta - 300. - 8400.*eta*eta - 12600.*eta*eta*xi*xi - 4200.*xi*xi + 10080.*(eta*eta*eta) + 2520.*(xi*xi*xi) - 4200.*eta*eta*eta*eta, 8400.*eta*xi - 700.*eta - 22680.*eta*xi*xi + 16800.*eta*(xi*xi*xi) - 1400.*xi - 15120.*xi*eta*eta + 8400.*xi*(eta*eta*eta) + 75. + 2100.*(eta*eta) + 18900.*(eta*eta)*(xi*xi) + 6300.*(xi*xi) - 2520.*eta*eta*eta - 10080.*xi*xi*xi + 1050.*(eta*eta*eta*eta) + 5250.*(xi*xi*xi*xi));
    1802           0 :                       case 1:
    1803           0 :                         return sign * RealGradient(136185.*eta*xi/32. - 12145.*eta/16. - 20475.*eta*xi*xi/4. + 19425.*eta*(xi*xi*xi)/16. - 21105.*xi/32. - 240975.*xi*eta*eta/32. + 127575.*xi*(eta*eta*eta)/32. + 2865./32. + 7245.*(eta*eta)/4. + 146475.*(eta*eta)*(xi*xi)/32. + 40845.*(xi*xi)/32. - 25515.*eta*eta*eta/16. - 11655.*xi*xi*xi/16. + 14175.*(eta*eta*eta*eta)/32., -39375.*eta*xi/16. + 3045.*eta/32. + 252315.*eta*(xi*xi)/32. - 48825.*eta*xi*xi*xi/8. + 1715.*xi/4. + 25515.*xi*(eta*eta)/8. - 14175.*xi*eta*eta*eta/16. - 2395./128. + 2835.*(eta*eta)/64. - 382725.*eta*eta*xi*xi/64. - 125265.*xi*xi/64. - 14175.*eta*eta*eta/32. + 48615.*(xi*xi*xi)/16. + 42525.*(eta*eta*eta*eta)/128. - 97125.*xi*xi*xi*xi/64.);
    1804           0 :                       case 2:
    1805           0 :                         return sign * RealGradient(-3255.*eta*xi/2. + 3780.*eta*(xi*xi) - 1575.*eta*xi*xi*xi + 1155.*xi/2. + 945.*xi*(eta*eta)/2. + 1575.*xi*(eta*eta*eta)/2. - 105./2. + 840.*(eta*eta) - 4725.*eta*eta*xi*xi/2. - 2835.*xi*xi/2. - 1575.*eta*eta*eta + 945.*(xi*xi*xi) + 1575.*(eta*eta*eta*eta)/2., 105.*eta*xi + 35.*eta/2. - 4725.*eta*xi*xi/2. + 3150.*eta*(xi*xi*xi) - 315.*xi + 1890.*xi*(eta*eta) - 1575.*xi*eta*eta*eta + 85./8. - 525.*eta*eta/4. - 4725.*eta*eta*xi*xi/4. + 7455.*(xi*xi)/4. + 105.*(eta*eta*eta)/2. - 3465.*xi*xi*xi + 525.*(eta*eta*eta*eta)/8. + 7875.*(xi*xi*xi*xi)/4.);
    1806           0 :                       case 3:
    1807           0 :                         return sign * RealGradient(-16695.*eta*xi/32. + 1855.*eta/16. - 2835.*eta*xi*xi/4. + 19425.*eta*(xi*xi*xi)/16. - 9345.*xi/32. + 76545.*xi*(eta*eta)/32. - 48825.*xi*eta*eta*eta/32. + 705./32. - 1155.*eta*eta/4. - 29925.*eta*eta*xi*xi/32. + 29085.*(xi*xi)/32. - 315.*eta*eta*eta/16. - 11655.*xi*xi*xi/16. + 5775.*(eta*eta*eta*eta)/32., 9345.*eta*xi/16. - 875.*eta/32. - 65205.*eta*xi*xi/32. + 9975.*eta*(xi*xi*xi)/8. + 595.*xi/4. - 4725.*xi*eta*eta/8. - 5775.*xi*eta*eta*eta/16. - 555./128. + 1155.*(eta*eta)/64. + 146475.*(eta*eta)*(xi*xi)/64. - 66465.*xi*xi/64. + 945.*(eta*eta*eta)/32. + 36855.*(xi*xi*xi)/16. + 525.*(eta*eta*eta*eta)/128. - 97125.*xi*xi*xi*xi/64.);
    1808           0 :                       case 4:
    1809           0 :                         return sign * RealGradient(-1680.*eta*xi + 140.*eta + 5040.*eta*(xi*xi) - 4200.*eta*xi*xi*xi + 1260.*xi - 120. - 3360.*xi*xi + 2520.*(xi*xi*xi), -700.*xi + 25. + 4200.*(xi*xi) - 8400.*xi*xi*xi + 5250.*(xi*xi*xi*xi));
    1810           0 :                       case 5:
    1811           0 :                         return sign * RealGradient(-1680.*eta*xi + 140.*eta + 5040.*eta*(xi*xi) - 4200.*eta*xi*xi*xi, -700.*xi + 25. + 4200.*(xi*xi) - 8400.*xi*xi*xi + 5250.*(xi*xi*xi*xi));
    1812           0 :                       case 6:
    1813           0 :                         return sign * RealGradient(-2835.*eta*xi/2. + 735.*eta/4. + 42525.*eta*(xi*xi)/16. - 42525.*eta*xi*xi*xi/32. + 76545.*xi*(eta*eta)/16. - 42525.*xi*eta*eta*eta/16. - 1575.*eta*eta/2. - 42525.*eta*eta*xi*xi/8. + 12285.*(eta*eta*eta)/16. - 1575.*eta*eta*eta*eta/8., 2205.*eta*xi - 455.*eta/4. - 127575.*eta*xi*xi/16. + 14175.*eta*(xi*xi*xi)/2. - 1785.*xi/4. - 31185.*xi*eta*eta/16. + 1575.*xi*(eta*eta*eta)/4. + 20. + 525.*(eta*eta)/4. + 127575.*(eta*eta)*(xi*xi)/32. + 8505.*(xi*xi)/4. - 735.*eta*eta*eta/16. - 53865.*xi*xi*xi/16. + 525.*(eta*eta*eta*eta)/128. + 212625.*(xi*xi*xi*xi)/128.);
    1814           0 :                       case 7:
    1815           0 :                         return sign * RealGradient(-840.*eta*xi + 175.*eta + 945.*eta*(xi*xi) - 525.*eta*xi*xi*xi/2. + 4725.*xi*(eta*eta) - 4725.*xi*eta*eta*eta - 1260.*eta*eta - 3150.*eta*eta*xi*xi + 2205.*(eta*eta*eta) - 1050.*eta*eta*eta*eta, 2520.*eta*xi - 175.*eta - 6615.*eta*xi*xi + 4200.*eta*(xi*xi*xi) - 245.*xi - 4725.*xi*eta*eta + 2100.*xi*(eta*eta*eta) + 15. + 420.*(eta*eta) + 14175.*(eta*eta)*(xi*xi)/2. + 840.*(xi*xi) - 315.*eta*eta*eta - 945.*xi*xi*xi + 525.*(eta*eta*eta*eta)/8. + 2625.*(xi*xi*xi*xi)/8.);
    1816           0 :                       case 8:
    1817           0 :                         return sign * RealGradient(-525.*eta*xi/2. + 455.*eta/4. + 2205.*eta*(xi*xi)/16. - 525.*eta*xi*xi*xi/32. + 31185.*xi*(eta*eta)/16. - 42525.*xi*eta*eta*eta/16. - 2205.*eta*eta/2. - 4725.*eta*eta*xi*xi/8. + 42525.*(eta*eta*eta)/16. - 14175.*eta*eta*eta*eta/8., 1575.*eta*xi - 735.*eta/4. - 36855.*eta*xi*xi/16. + 1575.*eta*(xi*xi*xi)/2. - 385.*xi/4. - 76545.*xi*eta*eta/16. + 14175.*xi*(eta*eta*eta)/4. + 10. + 2835.*(eta*eta)/4. + 127575.*(eta*eta)*(xi*xi)/32. + 735.*(xi*xi)/4. - 14175.*eta*eta*eta/16. - 1785.*xi*xi*xi/16. + 42525.*(eta*eta*eta*eta)/128. + 2625.*(xi*xi*xi*xi)/128.);
    1818           0 :                       case 9:
    1819           0 :                         return sign * RealGradient(0., -140.*eta + 5. + 840.*(eta*eta) - 1680.*eta*eta*eta + 1050.*(eta*eta*eta*eta));
    1820           0 :                       case 10:
    1821           0 :                         return sign * RealGradient(0., -140.*eta + 5. + 840.*(eta*eta) - 1680.*eta*eta*eta + 1050.*(eta*eta*eta*eta));
    1822           0 :                       case 11:
    1823           0 :                         return sign * RealGradient(-1155.*eta*xi/32. + 875.*eta/32. - 2835.*eta*xi*xi/32. - 525.*eta*xi*xi*xi/32. + 4725.*xi*(eta*eta)/8. - 48825.*xi*eta*eta*eta/32. - 9345.*eta*eta/32. + 17325.*(eta*eta)*(xi*xi)/32. + 21735.*(eta*eta*eta)/32. - 9975.*eta*eta*eta*eta/32., 1155.*eta*xi/2. - 1855.*eta/16. + 945.*eta*(xi*xi)/16. - 5775.*eta*xi*xi*xi/8. - 595.*xi/32. - 76545.*xi*eta*eta/32. + 9975.*xi*(eta*eta*eta)/16. + 825./128. + 16695.*(eta*eta)/64. + 146475.*(eta*eta)*(xi*xi)/64. - 1785.*xi*xi/64. + 945.*(eta*eta*eta)/4. + 945.*(xi*xi*xi)/32. - 19425.*eta*eta*eta*eta/64. + 2625.*(xi*xi*xi*xi)/128.);
    1824           0 :                       case 12:
    1825           0 :                         return sign * RealGradient(525.*eta*xi/2. - 35.*eta/2. - 315.*eta*xi*xi/2. - 525.*eta*xi*xi*xi/2. - 1890.*xi*eta*eta + 1575.*xi*(eta*eta*eta)/2. - 105.*eta*eta/2. + 4725.*(eta*eta)*(xi*xi)/2. + 1575.*(eta*eta*eta)/2. - 1575.*eta*eta*eta*eta/2., -1680.*eta*xi + 4725.*eta*(xi*xi) - 3150.*eta*xi*xi*xi + 175.*xi/2. - 945.*xi*eta*eta/2. + 1575.*xi*(eta*eta*eta) - 55./8. + 3255.*(eta*eta)/4. - 4725.*eta*eta*xi*xi/4. - 105.*xi*xi/4. - 1260.*eta*eta*eta - 735.*xi*xi*xi/2. + 1575.*(eta*eta*eta*eta)/4. + 2625.*(xi*xi*xi*xi)/8.);
    1826           0 :                       case 13:
    1827           0 :                         return sign * RealGradient(-2835.*eta*xi/32. - 3045.*eta/32. + 42525.*eta*(xi*xi)/32. - 42525.*eta*xi*xi*xi/32. - 25515.*xi*eta*eta/8. + 127575.*xi*(eta*eta*eta)/32. + 39375.*(eta*eta)/32. + 42525.*(eta*eta)*(xi*xi)/32. - 84105.*eta*eta*eta/32. + 48825.*(eta*eta*eta*eta)/32., -7245.*eta*xi/2. + 12145.*eta/16. + 76545.*eta*(xi*xi)/16. - 14175.*eta*xi*xi*xi/8. - 11235.*xi/32. + 240975.*xi*(eta*eta)/32. - 48825.*xi*eta*eta*eta/16. - 695./128. - 136185.*eta*eta/64. - 382725.*eta*eta*xi*xi/64. + 127575.*(xi*xi)/64. + 6825.*(eta*eta*eta)/4. - 104895.*xi*xi*xi/32. - 19425.*eta*eta*eta*eta/64. + 212625.*(xi*xi*xi*xi)/128.);
    1828           0 :                       case 14:
    1829           0 :                         return sign * RealGradient(-4200.*eta*xi + 700.*eta + 7560.*eta*(xi*xi) - 4200.*eta*xi*xi*xi + 15120.*xi*(eta*eta) - 12600.*xi*eta*eta*eta - 4200.*eta*eta - 12600.*eta*eta*xi*xi + 7560.*(eta*eta*eta) - 4200.*eta*eta*eta*eta, 16800.*eta*xi - 2800.*eta - 30240.*eta*xi*xi + 16800.*eta*(xi*xi*xi) - 3500.*xi - 22680.*xi*eta*eta + 8400.*xi*(eta*eta*eta) + 375. + 6300.*(eta*eta) + 18900.*(eta*eta)*(xi*xi) + 10500.*(xi*xi) - 5040.*eta*eta*eta - 12600.*xi*xi*xi + 1050.*(eta*eta*eta*eta) + 5250.*(xi*xi*xi*xi));
    1830           0 :                       case 15:
    1831           0 :                         return RealGradient(70560.*eta*xi - 19600.*eta - 70560.*eta*xi*xi + 16800.*eta*(xi*xi*xi) - 211680.*xi*eta*eta + 151200.*xi*(eta*eta*eta) + 94080.*(eta*eta) + 100800.*(eta*eta)*(xi*xi) - 141120.*eta*eta*eta + 67200.*(eta*eta*eta*eta), -94080.*eta*xi + 9800.*eta + 211680.*eta*(xi*xi) - 134400.*eta*xi*xi*xi + 9800.*xi + 211680.*xi*(eta*eta) - 134400.*xi*eta*eta*eta - 700. - 35280.*eta*eta - 226800.*eta*eta*xi*xi - 35280.*xi*xi + 47040.*(eta*eta*eta) + 47040.*(xi*xi*xi) - 21000.*eta*eta*eta*eta - 21000.*xi*xi*xi*xi);
    1832           0 :                       case 16:
    1833           0 :                         return RealGradient(-70560.*eta*xi + 9800.*eta + 141120.*eta*(xi*xi) - 84000.*eta*xi*xi*xi + 211680.*xi*(eta*eta) - 151200.*xi*eta*eta*eta - 47040.*eta*eta - 201600.*eta*eta*xi*xi + 70560.*(eta*eta*eta) - 33600.*eta*eta*eta*eta, 188160.*eta*xi - 19600.*eta - 423360.*eta*xi*xi + 268800.*eta*(xi*xi*xi) - 49000.*xi - 211680.*xi*eta*eta + 67200.*xi*(eta*eta*eta) + 3500. + 35280.*(eta*eta) + 226800.*(eta*eta)*(xi*xi) + 176400.*(xi*xi) - 23520.*eta*eta*eta - 235200.*xi*xi*xi + 4200.*(eta*eta*eta*eta) + 105000.*(xi*xi*xi*xi));
    1834           0 :                       case 17:
    1835           0 :                         return RealGradient(-60480.*eta*xi + 6440.*eta + 131040.*eta*(xi*xi) - 67200.*eta*xi*xi*xi + 60480.*xi*(eta*eta) - 6720.*eta*eta - 100800.*eta*eta*xi*xi, 26880.*eta*xi - 1120.*eta - 120960.*eta*xi*xi + 134400.*eta*(xi*xi*xi) - 14560.*xi + 560. + 80640.*(xi*xi) - 147840.*xi*xi*xi + 84000.*(xi*xi*xi*xi));
    1836           0 :                       case 18:
    1837           0 :                         return RealGradient(40320.*eta*xi - 3640.*eta - 110880.*eta*xi*xi + 84000.*eta*(xi*xi*xi) - 30240.*xi*eta*eta + 3360.*(eta*eta) + 50400.*(eta*eta)*(xi*xi), -13440.*eta*xi + 560.*eta + 60480.*eta*(xi*xi) - 67200.*eta*xi*xi*xi + 18200.*xi - 700. - 100800.*xi*xi + 184800.*(xi*xi*xi) - 105000.*xi*xi*xi*xi);
    1838           0 :                       case 19:
    1839           0 :                         return RealGradient(560.*eta - 6720.*eta*eta + 20160.*(eta*eta*eta) - 16800.*eta*eta*eta*eta, 6720.*eta*xi - 3640.*eta - 280.*xi - 30240.*xi*eta*eta + 33600.*xi*(eta*eta*eta) + 140. + 20160.*(eta*eta) - 36960.*eta*eta*eta + 21000.*(eta*eta*eta*eta));
    1840           0 :                       case 20:
    1841           0 :                         return RealGradient(-1120.*eta + 13440.*(eta*eta) - 40320.*eta*eta*eta + 33600.*(eta*eta*eta*eta), -13440.*eta*xi + 6440.*eta + 560.*xi + 60480.*xi*(eta*eta) - 67200.*xi*eta*eta*eta - 280. - 30240.*eta*eta + 43680.*(eta*eta*eta) - 16800.*eta*eta*eta*eta);
    1842           0 :                       case 21:
    1843           0 :                         return RealGradient(-35840.*eta*xi + 17920.*eta/3. + 156800.*eta*(xi*xi)/3. - 179200.*eta*xi*xi*xi/9. + 125440.*xi*(eta*eta) - 89600.*xi*eta*eta*eta - 29120.*eta*eta - 291200.*eta*eta*xi*xi/3. + 116480.*(eta*eta*eta)/3. - 140000.*eta*eta*eta*eta/9., 56000.*eta*xi - 10360.*eta/3. - 170240.*eta*xi*xi + 1164800.*eta*(xi*xi*xi)/9. - 24920.*xi/3. - 81760.*xi*eta*eta + 280000.*xi*(eta*eta*eta)/9. + 420. + 6720.*(eta*eta) + 134400.*(eta*eta)*(xi*xi) + 35840.*(xi*xi) - 39200.*eta*eta*eta/9. - 474880.*xi*xi*xi/9. + 7000.*(eta*eta*eta*eta)/9. + 224000.*(xi*xi*xi*xi)/9.);
    1844           0 :                       case 22:
    1845           0 :                         return RealGradient(29120.*eta*xi - 12880.*eta/3. - 152320.*eta*xi*xi/3. + 224000.*eta*(xi*xi*xi)/9. - 109760.*xi*eta*eta + 78400.*xi*(eta*eta*eta) + 22400.*(eta*eta) + 313600.*(eta*eta)*(xi*xi)/3. - 91840.*eta*eta*eta/3. + 112000.*(eta*eta*eta*eta)/9., -62720.*eta*xi + 12040.*eta/3. + 185920.*eta*(xi*xi) - 1254400.*eta*xi*xi*xi/9. + 32480.*xi/3. + 76160.*xi*(eta*eta) - 224000.*xi*eta*eta*eta/9. - 560. - 6720.*eta*eta - 117600.*eta*eta*xi*xi - 45920.*xi*xi + 34720.*(eta*eta*eta)/9. + 600320.*(xi*xi*xi)/9. - 5600.*eta*eta*eta*eta/9. - 280000.*xi*xi*xi*xi/9.);
    1846           0 :                       case 23:
    1847           0 :                         return RealGradient(-13440.*eta*xi + 12040.*eta/3. + 34720.*eta*(xi*xi)/3. - 22400.*eta*xi*xi*xi/9. + 76160.*xi*(eta*eta) - 78400.*xi*eta*eta*eta - 31360.*eta*eta - 112000.*eta*eta*xi*xi/3. + 185920.*(eta*eta*eta)/3. - 313600.*eta*eta*eta*eta/9., 44800.*eta*xi - 12880.*eta/3. - 91840.*eta*xi*xi + 448000.*eta*(xi*xi*xi)/9. - 10640.*xi/3. - 109760.*xi*eta*eta + 627200.*xi*(eta*eta*eta)/9. + 280. + 14560.*(eta*eta) + 117600.*(eta*eta)*(xi*xi) + 10080.*(xi*xi) - 152320.*eta*eta*eta/9. - 89600.*xi*xi*xi/9. + 56000.*(eta*eta*eta*eta)/9. + 28000.*(xi*xi*xi*xi)/9.);
    1848           0 :                       case 24:
    1849           0 :                         return RealGradient(13440.*eta*xi - 10360.*eta/3. - 39200.*eta*xi*xi/3. + 28000.*eta*(xi*xi*xi)/9. - 81760.*xi*eta*eta + 89600.*xi*(eta*eta*eta) + 28000.*(eta*eta) + 140000.*(eta*eta)*(xi*xi)/3. - 170240.*eta*eta*eta/3. + 291200.*(eta*eta*eta*eta)/9., -58240.*eta*xi + 17920.*eta/3. + 116480.*eta*(xi*xi) - 560000.*eta*xi*xi*xi/9. + 14840.*xi/3. + 125440.*xi*(eta*eta) - 582400.*xi*eta*eta*eta/9. - 420. - 17920.*eta*eta - 134400.*eta*eta*xi*xi - 13440.*xi*xi + 156800.*(eta*eta*eta)/9. + 115360.*(xi*xi*xi)/9. - 44800.*eta*eta*eta*eta/9. - 35000.*xi*xi*xi*xi/9.);
    1850           0 :                       case 25:
    1851           0 :                         return RealGradient(11200.*eta*xi - 12880.*eta/9. - 49280.*eta*xi*xi/3. + 44800.*eta*(xi*xi*xi)/9. - 2240.*xi*eta*eta - 11200.*xi*eta*eta*eta - 15680.*eta*eta/3. + 22400.*(eta*eta)*(xi*xi)/3. + 51520.*(eta*eta*eta)/3. - 95200.*eta*eta*eta*eta/9., 15680.*eta*xi/3. - 10360.*eta/9. + 2240.*eta*(xi*xi) - 89600.*eta*xi*xi*xi/9. + 6440.*xi/9. - 25760.*xi*eta*eta + 190400.*xi*(eta*eta*eta)/9. + 140./9. + 5600.*(eta*eta) + 16800.*(eta*eta)*(xi*xi) - 5600.*xi*xi - 75040.*eta*eta*eta/9. + 98560.*(xi*xi*xi)/9. + 35000.*(eta*eta*eta*eta)/9. - 56000.*xi*xi*xi*xi/9.);
    1852           0 :                       case 26:
    1853           0 :                         return RealGradient(-2240.*eta*xi - 9520.*eta/9. + 71680.*eta*(xi*xi)/3. - 224000.*eta*xi*xi*xi/9. - 51520.*xi*eta*eta + 56000.*xi*(eta*eta*eta) + 44800.*(eta*eta)/3. + 89600.*(eta*eta)*(xi*xi)/3. - 82880.*eta*eta*eta/3. + 123200.*(eta*eta*eta*eta)/9., -138880.*eta*xi/3. + 51800.*eta/9. + 82880.*eta*(xi*xi) - 358400.*eta*xi*xi*xi/9. - 48160.*xi/9. + 80640.*xi*(eta*eta) - 246400.*xi*eta*eta*eta/9. + 560./9. - 13440.*eta*eta - 84000.*eta*eta*xi*xi + 32480.*(xi*xi) + 79520.*(eta*eta*eta)/9. - 519680.*xi*xi*xi/9. - 11200.*eta*eta*eta*eta/9. + 280000.*(xi*xi*xi*xi)/9.);
    1854           0 :                       case 27:
    1855           0 :                         return RealGradient(-1120.*eta*xi + 2800.*eta/9. - 1120.*eta*xi*xi/3. + 5600.*eta*(xi*xi*xi)/9. + 12320.*xi*(eta*eta) - 5600.*xi*eta*eta*eta - 4480.*eta*eta/3. - 22400.*eta*eta*xi*xi/3. - 11200.*eta*eta*eta/3. + 44800.*(eta*eta*eta*eta)/9., 4480.*eta*xi/3. + 5320.*eta/9. - 12320.*eta*xi*xi + 89600.*eta*(xi*xi*xi)/9. - 1400.*xi/9. + 5600.*xi*(eta*eta) - 89600.*xi*eta*eta*eta/9. - 140./9. - 3920.*eta*eta + 8400.*(eta*eta)*(xi*xi) + 560.*(xi*xi) + 64960.*(eta*eta*eta)/9. + 2240.*(xi*xi*xi)/9. - 35000.*eta*eta*eta*eta/9. - 7000.*xi*xi*xi*xi/9.);
    1856           0 :                       case 28:
    1857           0 :                         return RealGradient(3360.*eta*xi + 280.*eta/9. - 11200.*eta*xi*xi/3. - 28000.*eta*xi*xi*xi/9. - 19040.*xi*eta*eta - 5600.*xi*eta*eta*eta - 11200.*eta*eta/3. + 112000.*(eta*eta)*(xi*xi)/3. + 52640.*(eta*eta*eta)/3. - 123200.*eta*eta*eta*eta/9., -35840.*eta*xi/3. - 8960.*eta/9. + 58240.*eta*(xi*xi) - 448000.*eta*xi*xi*xi/9. + 8680.*xi/9. - 30240.*xi*eta*eta + 246400.*xi*(eta*eta*eta)/9. - 140./9. + 9520.*(eta*eta) + 8400.*(eta*eta)*(xi*xi) - 1680.*xi*xi - 99680.*eta*eta*eta/9. - 24640.*xi*xi*xi/9. + 23800.*(eta*eta*eta*eta)/9. + 35000.*(xi*xi*xi*xi)/9.);
    1858           0 :                       case 29:
    1859           0 :                         return RealGradient(-26880.*eta*xi + 51800.*eta/9. + 79520.*eta*(xi*xi)/3. - 44800.*eta*xi*xi*xi/9. + 80640.*xi*(eta*eta) - 56000.*xi*eta*eta*eta - 69440.*eta*eta/3. - 123200.*eta*eta*xi*xi/3. + 82880.*(eta*eta*eta)/3. - 89600.*eta*eta*eta*eta/9., 89600.*eta*xi/3. - 9520.*eta/9. - 82880.*eta*xi*xi + 492800.*eta*(xi*xi*xi)/9. - 29680.*xi/9. - 51520.*xi*eta*eta + 179200.*xi*(eta*eta*eta)/9. + 1400./9. - 1120.*eta*eta + 84000.*(eta*eta)*(xi*xi) + 12320.*(xi*xi) + 71680.*(eta*eta*eta)/9. - 138880.*xi*xi*xi/9. - 56000.*eta*eta*eta*eta/9. + 56000.*(xi*xi*xi*xi)/9.);
    1860           0 :                       case 30:
    1861           0 :                         return RealGradient(11200.*eta*xi - 10360.*eta/9. - 75040.*eta*xi*xi/3. + 140000.*eta*(xi*xi*xi)/9. - 25760.*xi*eta*eta + 11200.*xi*(eta*eta*eta) + 7840.*(eta*eta)/3. + 95200.*(eta*eta)*(xi*xi)/3. + 2240.*(eta*eta*eta)/3. - 22400.*eta*eta*eta*eta/9., -31360.*eta*xi/3. - 12880.*eta/9. + 51520.*eta*(xi*xi) - 380800.*eta*xi*xi*xi/9. + 51800.*xi/9. - 2240.*xi*eta*eta + 44800.*xi*(eta*eta*eta)/9. - 700./9. + 5600.*(eta*eta) - 16800.*eta*eta*xi*xi - 28000.*xi*xi - 49280.*eta*eta*eta/9. + 375200.*(xi*xi*xi)/9. + 11200.*(eta*eta*eta*eta)/9. - 175000.*xi*xi*xi*xi/9.);
    1862           0 :                       case 31:
    1863           0 :                         return RealGradient(19040.*eta*xi - 8960.*eta/9. - 99680.*eta*xi*xi/3. + 95200.*eta*(xi*xi*xi)/9. - 30240.*xi*eta*eta + 5600.*xi*(eta*eta*eta) - 17920.*eta*eta/3. + 123200.*(eta*eta)*(xi*xi)/3. + 58240.*(eta*eta*eta)/3. - 112000.*eta*eta*eta*eta/9., -22400.*eta*xi/3. + 280.*eta/9. + 52640.*eta*(xi*xi) - 492800.*eta*xi*xi*xi/9. + 27160.*xi/9. - 19040.*xi*eta*eta + 224000.*xi*(eta*eta*eta)/9. - 980./9. + 1680.*(eta*eta) - 8400.*eta*eta*xi*xi - 16240.*xi*xi - 11200.*eta*eta*eta/9. + 239680.*(xi*xi*xi)/9. - 7000.*eta*eta*eta*eta/9. - 119000.*xi*xi*xi*xi/9.);
    1864           0 :                       case 32:
    1865           0 :                         return RealGradient(-7840.*eta*xi + 5320.*eta/9. + 64960.*eta*(xi*xi)/3. - 140000.*eta*xi*xi*xi/9. + 5600.*xi*(eta*eta) + 5600.*xi*(eta*eta*eta) + 2240.*(eta*eta)/3. - 44800.*eta*eta*xi*xi/3. - 12320.*eta*eta*eta/3. + 22400.*(eta*eta*eta*eta)/9., -8960.*eta*xi/3. + 2800.*eta/9. - 11200.*eta*xi*xi + 179200.*eta*(xi*xi*xi)/9. - 26600.*xi/9. + 12320.*xi*(eta*eta) - 44800.*xi*eta*eta*eta/9. + 700./9. - 560.*eta*eta - 8400.*eta*eta*xi*xi + 19600.*(xi*xi) - 1120.*eta*eta*eta/9. - 324800.*xi*xi*xi/9. + 1400.*(eta*eta*eta*eta)/9. + 175000.*(xi*xi*xi*xi)/9.);
    1866           0 :                       case 33:
    1867           0 :                         return RealGradient(3360.*eta*xi - 6440.*eta/9. - 4480.*eta*xi*xi + 5600.*eta*(xi*xi*xi)/3. - 19040.*xi*eta*eta + 16800.*xi*(eta*eta*eta) + 19040.*(eta*eta)/3. + 11200.*(eta*eta)*(xi*xi) - 11200.*eta*eta*eta + 5600.*(eta*eta*eta*eta), -29120.*eta*xi/3. + 6160.*eta/9. + 23520.*eta*(xi*xi) - 44800.*eta*xi*xi*xi/3. + 9520.*xi/9. + 20160.*xi*(eta*eta) - 11200.*xi*eta*eta*eta - 560./9. - 1680.*eta*eta - 25200.*eta*eta*xi*xi - 3920.*xi*xi + 1120.*(eta*eta*eta) + 15680.*(xi*xi*xi)/3. - 7000.*xi*xi*xi*xi/3.);
    1868           0 :                       case 34:
    1869           0 :                         return RealGradient(-3360.*eta*xi + 6160.*eta/9. + 3360.*eta*(xi*xi) + 20160.*xi*(eta*eta) - 16800.*xi*eta*eta*eta - 14560.*eta*eta/3. - 16800.*eta*eta*xi*xi + 7840.*(eta*eta*eta) - 11200.*eta*eta*eta*eta/3., 38080.*eta*xi/3. - 6440.*eta/9. - 33600.*eta*xi*xi + 22400.*eta*(xi*xi*xi) - 5600.*xi/9. - 19040.*xi*eta*eta + 22400.*xi*(eta*eta*eta)/3. + 280./9. + 1680.*(eta*eta) + 25200.*(eta*eta)*(xi*xi) + 1680.*(xi*xi) - 4480.*eta*eta*eta/3. - 1120.*xi*xi*xi + 1400.*(eta*eta*eta*eta)/3.);
    1870           0 :                       default:
    1871           0 :                         libmesh_error_msg("Invalid i = " << i);
    1872             :                       }
    1873             :                   } // j = 0
    1874             : 
    1875             :                   // d()/deta
    1876           0 :                 case 1:
    1877             :                   {
    1878           0 :                     switch(ii)
    1879             :                       {
    1880           0 :                       case 0:
    1881           0 :                         return sign * RealGradient(-16800.*eta*xi + 3500.*eta + 22680.*eta*(xi*xi) - 8400.*eta*xi*xi*xi + 2800.*xi + 30240.*xi*(eta*eta) - 16800.*xi*eta*eta*eta - 375. - 10500.*eta*eta - 18900.*eta*eta*xi*xi - 6300.*xi*xi + 12600.*(eta*eta*eta) + 5040.*(xi*xi*xi) - 5250.*eta*eta*eta*eta - 1050.*xi*xi*xi*xi, 4200.*eta*xi - 15120.*eta*xi*xi + 12600.*eta*(xi*xi*xi) - 700.*xi - 7560.*xi*eta*eta + 4200.*xi*(eta*eta*eta) + 12600.*(eta*eta)*(xi*xi) + 4200.*(xi*xi) - 7560.*xi*xi*xi + 4200.*(xi*xi*xi*xi));
    1882           0 :                       case 1:
    1883           0 :                         return sign * RealGradient(7245.*eta*xi/2. + 11235.*eta/32. - 240975.*eta*xi*xi/32. + 48825.*eta*(xi*xi*xi)/16. - 12145.*xi/16. - 76545.*xi*eta*eta/16. + 14175.*xi*(eta*eta*eta)/8. + 695./128. - 127575.*eta*eta/64. + 382725.*(eta*eta)*(xi*xi)/64. + 136185.*(xi*xi)/64. + 104895.*(eta*eta*eta)/32. - 6825.*xi*xi*xi/4. - 212625.*eta*eta*eta*eta/128. + 19425.*(xi*xi*xi*xi)/64., 2835.*eta*xi/32. + 25515.*eta*(xi*xi)/8. - 127575.*eta*xi*xi*xi/32. + 3045.*xi/32. - 42525.*xi*eta*eta/32. + 42525.*xi*(eta*eta*eta)/32. - 42525.*eta*eta*xi*xi/32. - 39375.*xi*xi/32. + 84105.*(xi*xi*xi)/32. - 48825.*xi*xi*xi*xi/32.);
    1884           0 :                       case 2:
    1885           0 :                         return sign * RealGradient(1680.*eta*xi - 175.*eta/2. + 945.*eta*(xi*xi)/2. - 1575.*eta*xi*xi*xi - 4725.*xi*eta*eta + 3150.*xi*(eta*eta*eta) + 55./8. + 105.*(eta*eta)/4. + 4725.*(eta*eta)*(xi*xi)/4. - 3255.*xi*xi/4. + 735.*(eta*eta*eta)/2. + 1260.*(xi*xi*xi) - 2625.*eta*eta*eta*eta/8. - 1575.*xi*xi*xi*xi/4., -525.*eta*xi/2. + 1890.*eta*(xi*xi) - 1575.*eta*xi*xi*xi/2. + 35.*xi/2. + 315.*xi*(eta*eta)/2. + 525.*xi*(eta*eta*eta)/2. - 4725.*eta*eta*xi*xi/2. + 105.*(xi*xi)/2. - 1575.*xi*xi*xi/2. + 1575.*(xi*xi*xi*xi)/2.);
    1886           0 :                       case 3:
    1887           0 :                         return sign * RealGradient(-1155.*eta*xi/2. + 595.*eta/32. + 76545.*eta*(xi*xi)/32. - 9975.*eta*xi*xi*xi/16. + 1855.*xi/16. - 945.*xi*eta*eta/16. + 5775.*xi*(eta*eta*eta)/8. - 825./128. + 1785.*(eta*eta)/64. - 146475.*eta*eta*xi*xi/64. - 16695.*xi*xi/64. - 945.*eta*eta*eta/32. - 945.*xi*xi*xi/4. - 2625.*eta*eta*eta*eta/128. + 19425.*(xi*xi*xi*xi)/64., 1155.*eta*xi/32. - 4725.*eta*xi*xi/8. + 48825.*eta*(xi*xi*xi)/32. - 875.*xi/32. + 2835.*xi*(eta*eta)/32. + 525.*xi*(eta*eta*eta)/32. - 17325.*eta*eta*xi*xi/32. + 9345.*(xi*xi)/32. - 21735.*xi*xi*xi/32. + 9975.*(xi*xi*xi*xi)/32.);
    1888           0 :                       case 4:
    1889           0 :                         return sign * RealGradient(140.*xi - 5. - 840.*xi*xi + 1680.*(xi*xi*xi) - 1050.*xi*xi*xi*xi, 0.);
    1890           0 :                       case 5:
    1891           0 :                         return sign * RealGradient(140.*xi - 5. - 840.*xi*xi + 1680.*(xi*xi*xi) - 1050.*xi*xi*xi*xi, 0.);
    1892           0 :                       case 6:
    1893           0 :                         return sign * RealGradient(-1575.*eta*xi + 385.*eta/4. + 76545.*eta*(xi*xi)/16. - 14175.*eta*xi*xi*xi/4. + 735.*xi/4. + 36855.*xi*(eta*eta)/16. - 1575.*xi*eta*eta*eta/2. - 10. - 735.*eta*eta/4. - 127575.*eta*eta*xi*xi/32. - 2835.*xi*xi/4. + 1785.*(eta*eta*eta)/16. + 14175.*(xi*xi*xi)/16. - 2625.*eta*eta*eta*eta/128. - 42525.*xi*xi*xi*xi/128., 525.*eta*xi/2. - 31185.*eta*xi*xi/16. + 42525.*eta*(xi*xi*xi)/16. - 455.*xi/4. - 2205.*xi*eta*eta/16. + 525.*xi*(eta*eta*eta)/32. + 4725.*(eta*eta)*(xi*xi)/8. + 2205.*(xi*xi)/2. - 42525.*xi*xi*xi/16. + 14175.*(xi*xi*xi*xi)/8.);
    1894           0 :                       case 7:
    1895           0 :                         return sign * RealGradient(-2520.*eta*xi + 245.*eta + 4725.*eta*(xi*xi) - 2100.*eta*xi*xi*xi + 175.*xi + 6615.*xi*(eta*eta) - 4200.*xi*eta*eta*eta - 15. - 840.*eta*eta - 14175.*eta*eta*xi*xi/2. - 420.*xi*xi + 945.*(eta*eta*eta) + 315.*(xi*xi*xi) - 2625.*eta*eta*eta*eta/8. - 525.*xi*xi*xi*xi/8., 840.*eta*xi - 4725.*eta*xi*xi + 4725.*eta*(xi*xi*xi) - 175.*xi - 945.*xi*eta*eta + 525.*xi*(eta*eta*eta)/2. + 3150.*(eta*eta)*(xi*xi) + 1260.*(xi*xi) - 2205.*xi*xi*xi + 1050.*(xi*xi*xi*xi));
    1896           0 :                       case 8:
    1897           0 :                         return sign * RealGradient(-2205.*eta*xi + 1785.*eta/4. + 31185.*eta*(xi*xi)/16. - 1575.*eta*xi*xi*xi/4. + 455.*xi/4. + 127575.*xi*(eta*eta)/16. - 14175.*xi*eta*eta*eta/2. - 20. - 8505.*eta*eta/4. - 127575.*eta*eta*xi*xi/32. - 525.*xi*xi/4. + 53865.*(eta*eta*eta)/16. + 735.*(xi*xi*xi)/16. - 212625.*eta*eta*eta*eta/128. - 525.*xi*xi*xi*xi/128., 2835.*eta*xi/2. - 76545.*eta*xi*xi/16. + 42525.*eta*(xi*xi*xi)/16. - 735.*xi/4. - 42525.*xi*eta*eta/16. + 42525.*xi*(eta*eta*eta)/32. + 42525.*(eta*eta)*(xi*xi)/8. + 1575.*(xi*xi)/2. - 12285.*xi*xi*xi/16. + 1575.*(xi*xi*xi*xi)/8.);
    1898           0 :                       case 9:
    1899           0 :                         return sign * RealGradient(700.*eta - 25. - 4200.*eta*eta + 8400.*(eta*eta*eta) - 5250.*eta*eta*eta*eta, 1680.*eta*xi - 140.*xi - 5040.*xi*eta*eta + 4200.*xi*(eta*eta*eta));
    1900           0 :                       case 10:
    1901           0 :                         return sign * RealGradient(700.*eta - 25. - 4200.*eta*eta + 8400.*(eta*eta*eta) - 5250.*eta*eta*eta*eta, 1680.*eta*xi - 1260.*eta - 140.*xi - 5040.*xi*eta*eta + 4200.*xi*(eta*eta*eta) + 120. + 3360.*(eta*eta) - 2520.*eta*eta*eta);
    1902           0 :                       case 11:
    1903           0 :                         return sign * RealGradient(-9345.*eta*xi/16. - 595.*eta/4. + 4725.*eta*(xi*xi)/8. + 5775.*eta*(xi*xi*xi)/16. + 875.*xi/32. + 65205.*xi*(eta*eta)/32. - 9975.*xi*eta*eta*eta/8. + 555./128. + 66465.*(eta*eta)/64. - 146475.*eta*eta*xi*xi/64. - 1155.*xi*xi/64. - 36855.*eta*eta*eta/16. - 945.*xi*xi*xi/32. + 97125.*(eta*eta*eta*eta)/64. - 525.*xi*xi*xi*xi/128., 16695.*eta*xi/32. + 9345.*eta/32. - 76545.*eta*xi*xi/32. + 48825.*eta*(xi*xi*xi)/32. - 1855.*xi/16. + 2835.*xi*(eta*eta)/4. - 19425.*xi*eta*eta*eta/16. - 705./32. - 29085.*eta*eta/32. + 29925.*(eta*eta)*(xi*xi)/32. + 1155.*(xi*xi)/4. + 11655.*(eta*eta*eta)/16. + 315.*(xi*xi*xi)/16. - 5775.*xi*xi*xi*xi/32.);
    1904           0 :                       case 12:
    1905           0 :                         return sign * RealGradient(-105.*eta*xi + 315.*eta - 1890.*eta*xi*xi + 1575.*eta*(xi*xi*xi) - 35.*xi/2. + 4725.*xi*(eta*eta)/2. - 3150.*xi*eta*eta*eta - 85./8. - 7455.*eta*eta/4. + 4725.*(eta*eta)*(xi*xi)/4. + 525.*(xi*xi)/4. + 3465.*(eta*eta*eta) - 105.*xi*xi*xi/2. - 7875.*eta*eta*eta*eta/4. - 525.*xi*xi*xi*xi/8., 3255.*eta*xi/2. - 1155.*eta/2. - 945.*eta*xi*xi/2. - 1575.*eta*xi*xi*xi/2. - 3780.*xi*eta*eta + 1575.*xi*(eta*eta*eta) + 105./2. + 2835.*(eta*eta)/2. + 4725.*(eta*eta)*(xi*xi)/2. - 840.*xi*xi - 945.*eta*eta*eta + 1575.*(xi*xi*xi) - 1575.*xi*xi*xi*xi/2.);
    1906           0 :                       case 13:
    1907           0 :                         return sign * RealGradient(39375.*eta*xi/16. - 1715.*eta/4. - 25515.*eta*xi*xi/8. + 14175.*eta*(xi*xi*xi)/16. - 3045.*xi/32. - 252315.*xi*eta*eta/32. + 48825.*xi*(eta*eta*eta)/8. + 2395./128. + 125265.*(eta*eta)/64. + 382725.*(eta*eta)*(xi*xi)/64. - 2835.*xi*xi/64. - 48615.*eta*eta*eta/16. + 14175.*(xi*xi*xi)/32. + 97125.*(eta*eta*eta*eta)/64. - 42525.*xi*xi*xi*xi/128., -136185.*eta*xi/32. + 21105.*eta/32. + 240975.*eta*(xi*xi)/32. - 127575.*eta*xi*xi*xi/32. + 12145.*xi/16. + 20475.*xi*(eta*eta)/4. - 19425.*xi*eta*eta*eta/16. - 2865./32. - 40845.*eta*eta/32. - 146475.*eta*eta*xi*xi/32. - 7245.*xi*xi/4. + 11655.*(eta*eta*eta)/16. + 25515.*(xi*xi*xi)/16. - 14175.*xi*xi*xi*xi/32.);
    1908           0 :                       case 14:
    1909           0 :                         return sign * RealGradient(-8400.*eta*xi + 1400.*eta + 15120.*eta*(xi*xi) - 8400.*eta*xi*xi*xi + 700.*xi + 22680.*xi*(eta*eta) - 16800.*xi*eta*eta*eta - 75. - 6300.*eta*eta - 18900.*eta*eta*xi*xi - 2100.*xi*xi + 10080.*(eta*eta*eta) + 2520.*(xi*xi*xi) - 5250.*eta*eta*eta*eta - 1050.*xi*xi*xi*xi, 12600.*eta*xi - 2100.*eta - 22680.*eta*xi*xi + 12600.*eta*(xi*xi*xi) - 2800.*xi - 15120.*xi*eta*eta + 4200.*xi*(eta*eta*eta) + 300. + 4200.*(eta*eta) + 12600.*(eta*eta)*(xi*xi) + 8400.*(xi*xi) - 2520.*eta*eta*eta - 10080.*xi*xi*xi + 4200.*(xi*xi*xi*xi));
    1910           0 :                       case 15:
    1911           0 :                         return RealGradient(188160.*eta*xi - 49000.*eta - 211680.*eta*xi*xi + 67200.*eta*(xi*xi*xi) - 19600.*xi - 423360.*xi*eta*eta + 268800.*xi*(eta*eta*eta) + 3500. + 176400.*(eta*eta) + 226800.*(eta*eta)*(xi*xi) + 35280.*(xi*xi) - 235200.*eta*eta*eta - 23520.*xi*xi*xi + 105000.*(eta*eta*eta*eta) + 4200.*(xi*xi*xi*xi), -70560.*eta*xi + 211680.*eta*(xi*xi) - 151200.*eta*xi*xi*xi + 9800.*xi + 141120.*xi*(eta*eta) - 84000.*xi*eta*eta*eta - 201600.*eta*eta*xi*xi - 47040.*xi*xi + 70560.*(xi*xi*xi) - 33600.*xi*xi*xi*xi);
    1912           0 :                       case 16:
    1913           0 :                         return RealGradient(-94080.*eta*xi + 9800.*eta + 211680.*eta*(xi*xi) - 134400.*eta*xi*xi*xi + 9800.*xi + 211680.*xi*(eta*eta) - 134400.*xi*eta*eta*eta - 700. - 35280.*eta*eta - 226800.*eta*eta*xi*xi - 35280.*xi*xi + 47040.*(eta*eta*eta) + 47040.*(xi*xi*xi) - 21000.*eta*eta*eta*eta - 21000.*xi*xi*xi*xi, 70560.*eta*xi - 211680.*eta*xi*xi + 151200.*eta*(xi*xi*xi) - 19600.*xi - 70560.*xi*eta*eta + 16800.*xi*(eta*eta*eta) + 100800.*(eta*eta)*(xi*xi) + 94080.*(xi*xi) - 141120.*xi*xi*xi + 67200.*(xi*xi*xi*xi));
    1914           0 :                       case 17:
    1915           0 :                         return RealGradient(-13440.*eta*xi + 560.*eta + 60480.*eta*(xi*xi) - 67200.*eta*xi*xi*xi + 6440.*xi - 280. - 30240.*xi*xi + 43680.*(xi*xi*xi) - 16800.*xi*xi*xi*xi, -1120.*xi + 13440.*(xi*xi) - 40320.*xi*xi*xi + 33600.*(xi*xi*xi*xi));
    1916           0 :                       case 18:
    1917           0 :                         return RealGradient(6720.*eta*xi - 280.*eta - 30240.*eta*xi*xi + 33600.*eta*(xi*xi*xi) - 3640.*xi + 140. + 20160.*(xi*xi) - 36960.*xi*xi*xi + 21000.*(xi*xi*xi*xi), 560.*xi - 6720.*xi*xi + 20160.*(xi*xi*xi) - 16800.*xi*xi*xi*xi);
    1918           0 :                       case 19:
    1919           0 :                         return RealGradient(-13440.*eta*xi + 18200.*eta + 560.*xi + 60480.*xi*(eta*eta) - 67200.*xi*eta*eta*eta - 700. - 100800.*eta*eta + 184800.*(eta*eta*eta) - 105000.*eta*eta*eta*eta, 40320.*eta*xi - 30240.*eta*xi*xi - 3640.*xi - 110880.*xi*eta*eta + 84000.*xi*(eta*eta*eta) + 50400.*(eta*eta)*(xi*xi) + 3360.*(xi*xi));
    1920           0 :                       case 20:
    1921           0 :                         return RealGradient(26880.*eta*xi - 14560.*eta - 1120.*xi - 120960.*xi*eta*eta + 134400.*xi*(eta*eta*eta) + 560. + 80640.*(eta*eta) - 147840.*eta*eta*eta + 84000.*(eta*eta*eta*eta), -60480.*eta*xi + 60480.*eta*(xi*xi) + 6440.*xi + 131040.*xi*(eta*eta) - 67200.*xi*eta*eta*eta - 100800.*eta*eta*xi*xi - 6720.*xi*xi);
    1922           0 :                       case 21:
    1923           0 :                         return RealGradient(-58240.*eta*xi + 14840.*eta/3. + 125440.*eta*(xi*xi) - 582400.*eta*xi*xi*xi/9. + 17920.*xi/3. + 116480.*xi*(eta*eta) - 560000.*xi*eta*eta*eta/9. - 420. - 13440.*eta*eta - 134400.*eta*eta*xi*xi - 17920.*xi*xi + 115360.*(eta*eta*eta)/9. + 156800.*(xi*xi*xi)/9. - 35000.*eta*eta*eta*eta/9. - 44800.*xi*xi*xi*xi/9., 13440.*eta*xi - 81760.*eta*xi*xi + 89600.*eta*(xi*xi*xi) - 10360.*xi/3. - 39200.*xi*eta*eta/3. + 28000.*xi*(eta*eta*eta)/9. + 140000.*(eta*eta)*(xi*xi)/3. + 28000.*(xi*xi) - 170240.*xi*xi*xi/3. + 291200.*(xi*xi*xi*xi)/9.);
    1924           0 :                       case 22:
    1925           0 :                         return RealGradient(44800.*eta*xi - 10640.*eta/3. - 109760.*eta*xi*xi + 627200.*eta*(xi*xi*xi)/9. - 12880.*xi/3. - 91840.*xi*eta*eta + 448000.*xi*(eta*eta*eta)/9. + 280. + 10080.*(eta*eta) + 117600.*(eta*eta)*(xi*xi) + 14560.*(xi*xi) - 89600.*eta*eta*eta/9. - 152320.*xi*xi*xi/9. + 28000.*(eta*eta*eta*eta)/9. + 56000.*(xi*xi*xi*xi)/9., -13440.*eta*xi + 76160.*eta*(xi*xi) - 78400.*eta*xi*xi*xi + 12040.*xi/3. + 34720.*xi*(eta*eta)/3. - 22400.*xi*eta*eta*eta/9. - 112000.*eta*eta*xi*xi/3. - 31360.*xi*xi + 185920.*(xi*xi*xi)/3. - 313600.*xi*xi*xi*xi/9.);
    1926           0 :                       case 23:
    1927           0 :                         return RealGradient(-62720.*eta*xi + 32480.*eta/3. + 76160.*eta*(xi*xi) - 224000.*eta*xi*xi*xi/9. + 12040.*xi/3. + 185920.*xi*(eta*eta) - 1254400.*xi*eta*eta*eta/9. - 560. - 45920.*eta*eta - 117600.*eta*eta*xi*xi - 6720.*xi*xi + 600320.*(eta*eta*eta)/9. + 34720.*(xi*xi*xi)/9. - 280000.*eta*eta*eta*eta/9. - 5600.*xi*xi*xi*xi/9., 29120.*eta*xi - 109760.*eta*xi*xi + 78400.*eta*(xi*xi*xi) - 12880.*xi/3. - 152320.*xi*eta*eta/3. + 224000.*xi*(eta*eta*eta)/9. + 313600.*(eta*eta)*(xi*xi)/3. + 22400.*(xi*xi) - 91840.*xi*xi*xi/3. + 112000.*(xi*xi*xi*xi)/9.);
    1928           0 :                       case 24:
    1929           0 :                         return RealGradient(56000.*eta*xi - 24920.*eta/3. - 81760.*eta*xi*xi + 280000.*eta*(xi*xi*xi)/9. - 10360.*xi/3. - 170240.*xi*eta*eta + 1164800.*xi*(eta*eta*eta)/9. + 420. + 35840.*(eta*eta) + 134400.*(eta*eta)*(xi*xi) + 6720.*(xi*xi) - 474880.*eta*eta*eta/9. - 39200.*xi*xi*xi/9. + 224000.*(eta*eta*eta*eta)/9. + 7000.*(xi*xi*xi*xi)/9., -35840.*eta*xi + 125440.*eta*(xi*xi) - 89600.*eta*xi*xi*xi + 17920.*xi/3. + 156800.*xi*(eta*eta)/3. - 179200.*xi*eta*eta*eta/9. - 291200.*eta*eta*xi*xi/3. - 29120.*xi*xi + 116480.*(xi*xi*xi)/3. - 140000.*xi*xi*xi*xi/9.);
    1930           0 :                       case 25:
    1931           0 :                         return RealGradient(-31360.*eta*xi/3. + 51800.*eta/9. - 2240.*eta*xi*xi + 44800.*eta*(xi*xi*xi)/9. - 12880.*xi/9. + 51520.*xi*(eta*eta) - 380800.*xi*eta*eta*eta/9. - 700./9. - 28000.*eta*eta - 16800.*eta*eta*xi*xi + 5600.*(xi*xi) + 375200.*(eta*eta*eta)/9. - 49280.*xi*xi*xi/9. - 175000.*eta*eta*eta*eta/9. + 11200.*(xi*xi*xi*xi)/9., 11200.*eta*xi - 25760.*eta*xi*xi + 11200.*eta*(xi*xi*xi) - 10360.*xi/9. - 75040.*xi*eta*eta/3. + 140000.*xi*(eta*eta*eta)/9. + 95200.*(eta*eta)*(xi*xi)/3. + 7840.*(xi*xi)/3. + 2240.*(xi*xi*xi)/3. - 22400.*xi*xi*xi*xi/9.);
    1932           0 :                       case 26:
    1933           0 :                         return RealGradient(89600.*eta*xi/3. - 29680.*eta/9. - 51520.*eta*xi*xi + 179200.*eta*(xi*xi*xi)/9. - 9520.*xi/9. - 82880.*xi*eta*eta + 492800.*xi*(eta*eta*eta)/9. + 1400./9. + 12320.*(eta*eta) + 84000.*(eta*eta)*(xi*xi) - 1120.*xi*xi - 138880.*eta*eta*eta/9. + 71680.*(xi*xi*xi)/9. + 56000.*(eta*eta*eta*eta)/9. - 56000.*xi*xi*xi*xi/9., -26880.*eta*xi + 80640.*eta*(xi*xi) - 56000.*eta*xi*xi*xi + 51800.*xi/9. + 79520.*xi*(eta*eta)/3. - 44800.*xi*eta*eta*eta/9. - 123200.*eta*eta*xi*xi/3. - 69440.*xi*xi/3. + 82880.*(xi*xi*xi)/3. - 89600.*xi*xi*xi*xi/9.);
    1934           0 :                       case 27:
    1935           0 :                         return RealGradient(-8960.*eta*xi/3. - 26600.*eta/9. + 12320.*eta*(xi*xi) - 44800.*eta*xi*xi*xi/9. + 2800.*xi/9. - 11200.*xi*eta*eta + 179200.*xi*(eta*eta*eta)/9. + 700./9. + 19600.*(eta*eta) - 8400.*eta*eta*xi*xi - 560.*xi*xi - 324800.*eta*eta*eta/9. - 1120.*xi*xi*xi/9. + 175000.*(eta*eta*eta*eta)/9. + 1400.*(xi*xi*xi*xi)/9., -7840.*eta*xi + 5600.*eta*(xi*xi) + 5600.*eta*(xi*xi*xi) + 5320.*xi/9. + 64960.*xi*(eta*eta)/3. - 140000.*xi*eta*eta*eta/9. - 44800.*eta*eta*xi*xi/3. + 2240.*(xi*xi)/3. - 12320.*xi*xi*xi/3. + 22400.*(xi*xi*xi*xi)/9.);
    1936           0 :                       case 28:
    1937           0 :                         return RealGradient(-22400.*eta*xi/3. + 27160.*eta/9. - 19040.*eta*xi*xi + 224000.*eta*(xi*xi*xi)/9. + 280.*xi/9. + 52640.*xi*(eta*eta) - 492800.*xi*eta*eta*eta/9. - 980./9. - 16240.*eta*eta - 8400.*eta*eta*xi*xi + 1680.*(xi*xi) + 239680.*(eta*eta*eta)/9. - 11200.*xi*xi*xi/9. - 119000.*eta*eta*eta*eta/9. - 7000.*xi*xi*xi*xi/9., 19040.*eta*xi - 30240.*eta*xi*xi + 5600.*eta*(xi*xi*xi) - 8960.*xi/9. - 99680.*xi*eta*eta/3. + 95200.*xi*(eta*eta*eta)/9. + 123200.*(eta*eta)*(xi*xi)/3. - 17920.*xi*xi/3. + 58240.*(xi*xi*xi)/3. - 112000.*xi*xi*xi*xi/9.);
    1938           0 :                       case 29:
    1939           0 :                         return RealGradient(-138880.*eta*xi/3. - 48160.*eta/9. + 80640.*eta*(xi*xi) - 246400.*eta*xi*xi*xi/9. + 51800.*xi/9. + 82880.*xi*(eta*eta) - 358400.*xi*eta*eta*eta/9. + 560./9. + 32480.*(eta*eta) - 84000.*eta*eta*xi*xi - 13440.*xi*xi - 519680.*eta*eta*eta/9. + 79520.*(xi*xi*xi)/9. + 280000.*(eta*eta*eta*eta)/9. - 11200.*xi*xi*xi*xi/9., -2240.*eta*xi - 51520.*eta*xi*xi + 56000.*eta*(xi*xi*xi) - 9520.*xi/9. + 71680.*xi*(eta*eta)/3. - 224000.*xi*eta*eta*eta/9. + 89600.*(eta*eta)*(xi*xi)/3. + 44800.*(xi*xi)/3. - 82880.*xi*xi*xi/3. + 123200.*(xi*xi*xi*xi)/9.);
    1940           0 :                       case 30:
    1941           0 :                         return RealGradient(15680.*eta*xi/3. + 6440.*eta/9. - 25760.*eta*xi*xi + 190400.*eta*(xi*xi*xi)/9. - 10360.*xi/9. + 2240.*xi*(eta*eta) - 89600.*xi*eta*eta*eta/9. + 140./9. - 5600.*eta*eta + 16800.*(eta*eta)*(xi*xi) + 5600.*(xi*xi) + 98560.*(eta*eta*eta)/9. - 75040.*xi*xi*xi/9. - 56000.*eta*eta*eta*eta/9. + 35000.*(xi*xi*xi*xi)/9., 11200.*eta*xi - 2240.*eta*xi*xi - 11200.*eta*xi*xi*xi - 12880.*xi/9. - 49280.*xi*eta*eta/3. + 44800.*xi*(eta*eta*eta)/9. + 22400.*(eta*eta)*(xi*xi)/3. - 15680.*xi*xi/3. + 51520.*(xi*xi*xi)/3. - 95200.*xi*xi*xi*xi/9.);
    1942           0 :                       case 31:
    1943           0 :                         return RealGradient(-35840.*eta*xi/3. + 8680.*eta/9. - 30240.*eta*xi*xi + 246400.*eta*(xi*xi*xi)/9. - 8960.*xi/9. + 58240.*xi*(eta*eta) - 448000.*xi*eta*eta*eta/9. - 140./9. - 1680.*eta*eta + 8400.*(eta*eta)*(xi*xi) + 9520.*(xi*xi) - 24640.*eta*eta*eta/9. - 99680.*xi*xi*xi/9. + 35000.*(eta*eta*eta*eta)/9. + 23800.*(xi*xi*xi*xi)/9., 3360.*eta*xi - 19040.*eta*xi*xi - 5600.*eta*xi*xi*xi + 280.*xi/9. - 11200.*xi*eta*eta/3. - 28000.*xi*eta*eta*eta/9. + 112000.*(eta*eta)*(xi*xi)/3. - 11200.*xi*xi/3. + 52640.*(xi*xi*xi)/3. - 123200.*xi*xi*xi*xi/9.);
    1944           0 :                       case 32:
    1945           0 :                         return RealGradient(4480.*eta*xi/3. - 1400.*eta/9. + 5600.*eta*(xi*xi) - 89600.*eta*xi*xi*xi/9. + 5320.*xi/9. - 12320.*xi*eta*eta + 89600.*xi*(eta*eta*eta)/9. - 140./9. + 560.*(eta*eta) + 8400.*(eta*eta)*(xi*xi) - 3920.*xi*xi + 2240.*(eta*eta*eta)/9. + 64960.*(xi*xi*xi)/9. - 7000.*eta*eta*eta*eta/9. - 35000.*xi*xi*xi*xi/9., -1120.*eta*xi + 12320.*eta*(xi*xi) - 5600.*eta*xi*xi*xi + 2800.*xi/9. - 1120.*xi*eta*eta/3. + 5600.*xi*(eta*eta*eta)/9. - 22400.*eta*eta*xi*xi/3. - 4480.*xi*xi/3. - 11200.*xi*xi*xi/3. + 44800.*(xi*xi*xi*xi)/9.);
    1946           0 :                       case 33:
    1947           0 :                         return RealGradient(38080.*eta*xi/3. - 5600.*eta/9. - 19040.*eta*xi*xi + 22400.*eta*(xi*xi*xi)/3. - 6440.*xi/9. - 33600.*xi*eta*eta + 22400.*xi*(eta*eta*eta) + 280./9. + 1680.*(eta*eta) + 25200.*(eta*eta)*(xi*xi) + 1680.*(xi*xi) - 1120.*eta*eta*eta - 4480.*xi*xi*xi/3. + 1400.*(xi*xi*xi*xi)/3., -3360.*eta*xi + 20160.*eta*(xi*xi) - 16800.*eta*xi*xi*xi + 6160.*xi/9. + 3360.*xi*(eta*eta) - 16800.*eta*eta*xi*xi - 14560.*xi*xi/3. + 7840.*(xi*xi*xi) - 11200.*xi*xi*xi*xi/3.);
    1948           0 :                       case 34:
    1949           0 :                         return RealGradient(-29120.*eta*xi/3. + 9520.*eta/9. + 20160.*eta*(xi*xi) - 11200.*eta*xi*xi*xi + 6160.*xi/9. + 23520.*xi*(eta*eta) - 44800.*xi*eta*eta*eta/3. - 560./9. - 3920.*eta*eta - 25200.*eta*eta*xi*xi - 1680.*xi*xi + 15680.*(eta*eta*eta)/3. + 1120.*(xi*xi*xi) - 7000.*eta*eta*eta*eta/3., 3360.*eta*xi - 19040.*eta*xi*xi + 16800.*eta*(xi*xi*xi) - 6440.*xi/9. - 4480.*xi*eta*eta + 5600.*xi*(eta*eta*eta)/3. + 11200.*(eta*eta)*(xi*xi) + 19040.*(xi*xi)/3. - 11200.*xi*xi*xi + 5600.*(xi*xi*xi*xi));
    1950           0 :                       default:
    1951           0 :                         libmesh_error_msg("Invalid i = " << i);
    1952             :                       }
    1953             :                   } // j = 1
    1954             : 
    1955           0 :                 default:
    1956           0 :                   libmesh_error_msg("Invalid j = " << j);
    1957             :                 }
    1958             :             }
    1959             : 
    1960           0 :           default:
    1961           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
    1962             :           } // end switch (type)
    1963             :       } // end case FIFTH
    1964             : 
    1965             :       // unsupported order
    1966           0 :     default:
    1967           0 :       libmesh_error_msg("ERROR: Unsupported 2D FE order!: " << totalorder);
    1968             :     }
    1969             : #else // LIBMESH_DIM > 1
    1970             :   libmesh_ignore(elem, order, i, j, add_p_level);
    1971             :   libmesh_not_implemented();
    1972             : #endif
    1973             : }
    1974             : 
    1975             : 
    1976             : 
    1977             : template <>
    1978           0 : RealGradient FE<2,NEDELEC_ONE>::shape_deriv(const ElemType,
    1979             :                                             const Order,
    1980             :                                             const unsigned int,
    1981             :                                             const unsigned int,
    1982             :                                             const Point &)
    1983             : {
    1984           0 :   libmesh_error_msg("Nedelec elements require the element type \nbecause edge orientation is needed.");
    1985             :   return RealGradient();
    1986             : }
    1987             : 
    1988             : template <>
    1989           0 : RealGradient FE<2,NEDELEC_ONE>::shape_deriv(const FEType fet,
    1990             :                                             const Elem * elem,
    1991             :                                             const unsigned int i,
    1992             :                                             const unsigned int j,
    1993             :                                             const Point & p,
    1994             :                                             const bool add_p_level)
    1995             : {
    1996           0 :   return FE<2,NEDELEC_ONE>::shape_deriv(elem, fet.order, i, j, p, add_p_level);
    1997             : }
    1998             : 
    1999             : 
    2000             : 
    2001             : 
    2002             : 
    2003             : #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES
    2004             : 
    2005             : template <>
    2006           0 : RealGradient FE<2,NEDELEC_ONE>::shape_second_deriv(const Elem * elem,
    2007             :                                                    const Order order,
    2008             :                                                    const unsigned int i,
    2009             :                                                    const unsigned int j,
    2010             :                                                    const Point & p,
    2011             :                                                    const bool add_p_level)
    2012             : {
    2013             : #if LIBMESH_DIM > 1
    2014           0 :   libmesh_assert(elem);
    2015             : 
    2016             :   // j = 0 ==> d^2 phi / dxi^2
    2017             :   // j = 1 ==> d^2 phi / dxi deta
    2018             :   // j = 2 ==> d^2 phi / deta^2
    2019           0 :   libmesh_assert_less (j, 3);
    2020             : 
    2021           0 :   const Order totalorder = order + add_p_level*elem->p_level();
    2022           0 :   libmesh_assert_less(i, n_dofs(elem->type(), totalorder));
    2023             : 
    2024           0 :   const char sign = i >= totalorder * elem->n_edges() || elem->positive_edge_orientation(i / totalorder) ? 1 : -1;
    2025           0 :   const unsigned int ii = sign > 0 ? i : (i / totalorder * 2 + 1) * totalorder - 1 - i;
    2026             : 
    2027           0 :   const Real xi  = p(0);
    2028           0 :   const Real eta = p(1);
    2029             : 
    2030           0 :   switch (totalorder)
    2031             :     {
    2032             :       // linear Nedelec (first kind) shape function second derivatives
    2033           0 :     case FIRST:
    2034             :       {
    2035           0 :         switch (elem->type())
    2036             :           {
    2037           0 :           case QUAD8:
    2038             :           case QUAD9:
    2039             :           case TRI6:
    2040             :           case TRI7:
    2041             :             // All second derivatives for linear quads and triangles are zero.
    2042           0 :             return RealGradient();
    2043             : 
    2044           0 :           default:
    2045           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
    2046             : 
    2047             :           } // end switch (type)
    2048             :       } // end case FIRST
    2049             : 
    2050             :       // quadratic Nedelec (first kind) shape function second derivatives
    2051           0 :     case SECOND:
    2052             :       {
    2053           0 :         switch (elem->type())
    2054             :           {
    2055           0 :           case QUAD8:
    2056             :           case QUAD9:
    2057             :             {
    2058             :               // Even with a loose inverse_map tolerance we ought to
    2059             :               // be nearly on the element interior in master
    2060             :               // coordinates
    2061           0 :               libmesh_assert_less_equal ( std::fabs(xi), 1.0+10*TOLERANCE );
    2062           0 :               libmesh_assert_less_equal ( std::fabs(eta), 1.0+10*TOLERANCE );
    2063             : 
    2064           0 :               const Real x = 0.5 * (xi + 1.0);
    2065           0 :               const Real y = 0.5 * (eta + 1.0);
    2066             : 
    2067           0 :               switch (j)
    2068             :                 {
    2069             :                   // d^2()/dxi^2
    2070           0 :                 case 0:
    2071             :                   {
    2072           0 :                     switch(ii)
    2073             :                       {
    2074           0 :                       case 0:
    2075             :                       case 1:
    2076             :                       case 4:
    2077             :                       case 5:
    2078             :                       case 9:
    2079             :                       case 10:
    2080           0 :                         return RealGradient();
    2081           0 :                       case 2:
    2082           0 :                         return sign * RealGradient( 0.0, 0.125*(-36.0*y+24.0) );
    2083           0 :                       case 3:
    2084           0 :                         return sign * RealGradient( 0.0, 0.125*( 36.0*y-12.0) );
    2085           0 :                       case 6:
    2086           0 :                         return sign * RealGradient( 0.0, 0.125*(-36.0*y+12.0) );
    2087           0 :                       case 7:
    2088           0 :                         return sign * RealGradient( 0.0, 0.125*( 36.0*y-24.0) );
    2089           0 :                       case 8:
    2090           0 :                         return RealGradient( 0.0,  0.75*(6.0*y-4.0) );
    2091           0 :                       case 11:
    2092           0 :                         return RealGradient( 0.0,  0.75*(-6.0*y+2.0) );
    2093             : 
    2094           0 :                       default:
    2095           0 :                         libmesh_error_msg("Invalid i = " << i);
    2096             :                       }
    2097             :                   } // j = 0
    2098             : 
    2099             :                   // d^2()/dxideta
    2100           0 :                 case 1:
    2101             :                   {
    2102           0 :                     switch(ii)
    2103             :                       {
    2104           0 :                       case 0:
    2105           0 :                         return sign * RealGradient( 0.125*(-36.0*y+24.0), 0.0 );
    2106           0 :                       case 1:
    2107           0 :                         return sign * RealGradient( 0.125*( 36.0*y-24.0), 0.0 );
    2108           0 :                       case 2:
    2109           0 :                        return sign * RealGradient( 0.0, 0.125*(-36.0*x+12.0) );
    2110           0 :                       case 3:
    2111           0 :                        return sign * RealGradient( 0.0, 0.125*( 36.0*x-12.0) );
    2112           0 :                       case 4:
    2113           0 :                         return sign * RealGradient( 0.125*(-36.0*y+12.0), 0.0 );
    2114           0 :                       case 5:
    2115           0 :                         return sign * RealGradient( 0.125*( 36.0*y-12.0), 0.0 );
    2116           0 :                       case 6:
    2117           0 :                         return sign * RealGradient( 0.0, 0.125*(-36.0*x+24.0) );
    2118           0 :                       case 7:
    2119           0 :                         return sign * RealGradient( 0.0, 0.125*( 36.0*x-24.0) );
    2120           0 :                       case 8:
    2121           0 :                         return RealGradient( 0.0,  0.75*(6.0*x-3.0) );
    2122           0 :                       case 9:
    2123           0 :                         return RealGradient( 0.75*(-6.0*y), 0.0 );
    2124           0 :                       case 10:
    2125           0 :                         return RealGradient( 0.75*(6.0*y), 0.0 );
    2126           0 :                       case 11:
    2127           0 :                         return RealGradient( 0.0, 0.75*(-6.0*x+3.0) );
    2128             : 
    2129           0 :                       default:
    2130           0 :                         libmesh_error_msg("Invalid i = " << i);
    2131             :                       }
    2132             :                   } // j = 1
    2133             : 
    2134             :                   // d^2()/deta^2
    2135           0 :                 case 2:
    2136             :                   {
    2137           0 :                     switch(ii)
    2138             :                       {
    2139           0 :                       case 2:
    2140             :                       case 3:
    2141             :                       case 6:
    2142             :                       case 7:
    2143             :                       case 8:
    2144             :                       case 11:
    2145           0 :                         return RealGradient();
    2146           0 :                       case 0:
    2147           0 :                         return sign * RealGradient( 0.125*(-36.0*x+24.0), 0.0 );
    2148           0 :                       case 1:
    2149           0 :                         return sign * RealGradient( 0.125*( 36.0*x-12.0), 0.0 );
    2150           0 :                       case 4:
    2151           0 :                         return sign * RealGradient( 0.125*(-36.0*x+12.0), 0.0 );
    2152           0 :                       case 5:
    2153           0 :                         return sign * RealGradient( 0.125*( 36.0*x-24.0), 0.0 );
    2154           0 :                       case 9:
    2155           0 :                         return RealGradient( 0.75*(-6.0*x+4.0), 0.0 );
    2156           0 :                       case 10:
    2157           0 :                         return RealGradient( 0.75*( 6.0*x-2.0), 0.0 );
    2158             : 
    2159           0 :                       default:
    2160           0 :                         libmesh_error_msg("Invalid i = " << i);
    2161             :                       }
    2162             :                   } // j = 2
    2163             : 
    2164           0 :                 default:
    2165           0 :                   libmesh_error_msg("Invalid j = " << j);
    2166             :                 }
    2167             :             }
    2168             : 
    2169           0 :           case TRI6:
    2170             :           case TRI7:
    2171             :             {
    2172           0 :               switch (j)
    2173             :                 {
    2174             :                   // d^2()/dxi^2
    2175           0 :                 case 0:
    2176             :                   {
    2177           0 :                     switch(ii)
    2178             :                       {
    2179           0 :                       case 3:
    2180             :                       case 4:
    2181           0 :                         return RealGradient();
    2182           0 :                       case 0:
    2183           0 :                         return sign * RealGradient( 0.0, -16.0 );
    2184           0 :                       case 1:
    2185           0 :                         return sign * RealGradient( 0.0, 16.0 );
    2186           0 :                       case 2:
    2187           0 :                         return sign * RealGradient( 0.0, 16.0 );
    2188           0 :                       case 5:
    2189           0 :                         return sign * RealGradient( 0.0, -16.0 );
    2190           0 :                       case 6:
    2191           0 :                         return RealGradient( 0.0, 16.0 );
    2192           0 :                       case 7:
    2193           0 :                         return RealGradient( 0.0,-32.0 );
    2194           0 :                       default:
    2195           0 :                         libmesh_error_msg("Invalid i = " << i);
    2196             :                       }
    2197             :                   } // j = 0
    2198             : 
    2199             :                   // d^2()/dxideta
    2200           0 :                 case 1:
    2201             :                   {
    2202           0 :                     switch(ii)
    2203             :                       {
    2204           0 :                       case 0:
    2205           0 :                         return sign * RealGradient( 8.0, -8.0 );
    2206           0 :                       case 1:
    2207           0 :                         return sign * RealGradient( -8.0, 0.0 );
    2208           0 :                       case 2:
    2209           0 :                         return sign * RealGradient( -8.0, 0.0 );
    2210           0 :                       case 3:
    2211           0 :                         return sign * RealGradient( 0.0, 8.0 );
    2212           0 :                       case 4:
    2213           0 :                         return sign * RealGradient( 0.0, 8.0 );
    2214           0 :                       case 5:
    2215           0 :                         return sign * RealGradient( 8.0, -8.0 );
    2216           0 :                       case 6:
    2217           0 :                         return RealGradient( -8.0, 16.0 );
    2218           0 :                       case 7:
    2219           0 :                         return RealGradient( 16.0, -8.0 );
    2220           0 :                       default:
    2221           0 :                         libmesh_error_msg("Invalid i = " << i);
    2222             :                       }
    2223             :                   } // j = 1
    2224             : 
    2225             :                   // d^2()/deta^2
    2226           0 :                 case 2:
    2227             :                   {
    2228           0 :                     switch(ii)
    2229             :                       {
    2230           0 :                       case 1:
    2231             :                       case 2:
    2232           0 :                         return RealGradient();
    2233           0 :                       case 0:
    2234           0 :                         return sign * RealGradient( 16.0, 0.0 );
    2235           0 :                       case 3:
    2236           0 :                         return sign * RealGradient( -16.0, 0.0 );
    2237           0 :                       case 4:
    2238           0 :                         return sign * RealGradient( -16.0, 0.0 );
    2239           0 :                       case 5:
    2240           0 :                         return sign * RealGradient( 16.0, 0.0 );
    2241           0 :                       case 6:
    2242           0 :                         return RealGradient( -32.0, 0.0 );
    2243           0 :                       case 7:
    2244           0 :                         return RealGradient( 16.0, 0.0 );
    2245           0 :                       default:
    2246           0 :                         libmesh_error_msg("Invalid i = " << i);
    2247             :                       }
    2248             :                   } // j = 2
    2249             : 
    2250           0 :                 default:
    2251           0 :                   libmesh_error_msg("Invalid j = " << j);
    2252             :                 }
    2253             :             }
    2254             : 
    2255           0 :           default:
    2256           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
    2257             : 
    2258             :           } // end switch (type)
    2259             :       } // end case SECOND
    2260             : 
    2261             :       // cubic Nedelec (first kind) shape function second derivatives
    2262           0 :     case THIRD:
    2263             :       {
    2264           0 :         switch (elem->type())
    2265             :           {
    2266           0 :           case QUAD8:
    2267             :           case QUAD9:
    2268             :             {
    2269           0 :               switch (j)
    2270             :                 {
    2271             :                   // d^2()/dxi^2
    2272           0 :                 case 0:
    2273             :                   {
    2274           0 :                     switch(ii)
    2275             :                       {
    2276           0 :                       case 0:
    2277           0 :                         return sign * RealGradient(-135.*eta/4. - 105./4. + 135.*((eta + 1.)*(eta + 1.))/4. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    2278           0 :                       case 1:
    2279           0 :                         return sign * RealGradient(135.*eta/8. + 105./8. - 135.*(eta + 1.)*(eta + 1.)/8. + 75.*((eta + 1.)*(eta + 1.)*(eta + 1.))/16., 0.);
    2280           0 :                       case 2:
    2281           0 :                         return sign * RealGradient(-135.*eta/4. - 105./4. + 135.*((eta + 1.)*(eta + 1.))/4. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    2282           0 :                       case 3:
    2283           0 :                         return sign * RealGradient(0., 54.*eta + 135.*xi/4. - 135.*(eta + 1.)*(xi + 1.)/2. + 225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 243./4. - 45.*(eta + 1.)*(eta + 1.)/2.);
    2284           0 :                       case 4:
    2285           0 :                         return sign * RealGradient(0., -45.*eta/2. - 45.*xi/8. + 225.*(eta + 1.)*(xi + 1.)/8. - 225.*(xi + 1.)*(eta + 1.)*(eta + 1.)/16. - 189./8. + 45.*((eta + 1.)*(eta + 1.))/4.);
    2286           0 :                       case 5:
    2287           0 :                         return sign * RealGradient(0., 36.*eta + 45.*xi/4. - 45.*(eta + 1.)*(xi + 1.) + 225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 153./4. - 45.*(eta + 1.)*(eta + 1.)/2.);
    2288           0 :                       case 6:
    2289           0 :                         return sign * RealGradient(-45.*eta/4. - 45./4. + 45.*((eta + 1.)*(eta + 1.))/2. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    2290           0 :                       case 7:
    2291           0 :                         return sign * RealGradient(45.*eta/8. + 45./8. - 45.*(eta + 1.)*(eta + 1.)/4. + 75.*((eta + 1.)*(eta + 1.)*(eta + 1.))/16., 0.);
    2292           0 :                       case 8:
    2293           0 :                         return sign * RealGradient(-45.*eta/4. - 45./4. + 45.*((eta + 1.)*(eta + 1.))/2. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    2294           0 :                       case 9:
    2295           0 :                         return sign * RealGradient(0., 54.*eta + 45.*xi/4. - 45.*(eta + 1.)*(xi + 1.) + 225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 207./4. - 135.*(eta + 1.)*(eta + 1.)/4.);
    2296           0 :                       case 10:
    2297           0 :                         return sign * RealGradient(0., -135.*eta/4. - 45.*xi/8. + 225.*(eta + 1.)*(xi + 1.)/8. - 225.*(xi + 1.)*(eta + 1.)*(eta + 1.)/16. - 261./8. + 135.*((eta + 1.)*(eta + 1.))/8.);
    2298           0 :                       case 11:
    2299           0 :                         return sign * RealGradient(0., 81.*eta + 135.*xi/4. - 135.*(eta + 1.)*(xi + 1.)/2. + 225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 297./4. - 135.*(eta + 1.)*(eta + 1.)/4.);
    2300           0 :                       case 12:
    2301           0 :                         return RealGradient(0., 81.*eta + 135.*xi/4. - 135.*(eta + 1.)*(xi + 1.)/2. + 225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 297./4. - 135.*(eta + 1.)*(eta + 1.)/4.);
    2302           0 :                       case 13:
    2303           0 :                         return RealGradient(0., -54.*eta - 135.*xi/4. + 135.*(eta + 1.)*(xi + 1.)/2. - 225.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. - 243./4. + 45.*((eta + 1.)*(eta + 1.))/2.);
    2304           0 :                       case 14:
    2305           0 :                         return RealGradient(-30.*eta - 30. + 135.*((eta + 1.)*(eta + 1.))/4. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    2306           0 :                       case 15:
    2307           0 :                         return RealGradient(15.*eta/2. + 15./2. - 45.*(eta + 1.)*(eta + 1.)/2. + 75.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8., 0.);
    2308           0 :                       case 16:
    2309           0 :                         return RealGradient(-30.*eta - 30. + 135.*((eta + 1.)*(eta + 1.))/4. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    2310           0 :                       case 17:
    2311           0 :                         return RealGradient(15.*eta/2. + 15./2. - 45.*(eta + 1.)*(eta + 1.)/2. + 75.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8., 0.);
    2312           0 :                       case 18:
    2313           0 :                         return RealGradient(0., 54.*eta + 45.*xi/4. - 45.*(eta + 1.)*(xi + 1.) + 225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 207./4. - 135.*(eta + 1.)*(eta + 1.)/4.);
    2314           0 :                       case 19:
    2315           0 :                         return RealGradient(0., -36.*eta - 45.*xi/4. + 45.*(eta + 1.)*(xi + 1.) - 225.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. - 153./4. + 45.*((eta + 1.)*(eta + 1.))/2.);
    2316           0 :                       case 20:
    2317           0 :                         return RealGradient(0., 0.);
    2318           0 :                       case 21:
    2319           0 :                         return RealGradient(0., 15.*xi/4. - 3./4.);
    2320           0 :                       case 22:
    2321           0 :                         return RealGradient(0., -15.*xi/4. - 3./4.);
    2322           0 :                       case 23:
    2323           0 :                         return RealGradient(0., 0.);
    2324           0 :                       default:
    2325           0 :                         libmesh_error_msg("Invalid i = " << i);
    2326             :                       }
    2327             :                   } // j = 0
    2328             : 
    2329             :                   // d^2()/dxideta
    2330           0 :                 case 1:
    2331             :                   {
    2332           0 :                     switch(ii)
    2333             :                       {
    2334           0 :                       case 0:
    2335           0 :                         return sign * RealGradient(-81.*eta - 135.*xi/4. + 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 297./4. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    2336           0 :                       case 1:
    2337           0 :                         return sign * RealGradient(135.*eta/4. + 135.*xi/8. - 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 135./4. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)/4., 0.);
    2338           0 :                       case 2:
    2339           0 :                         return sign * RealGradient(-54.*eta - 135.*xi/4. + 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 243./4. + 90.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    2340           0 :                       case 3:
    2341           0 :                         return sign * RealGradient(0., 45.*eta/4. + 54.*xi - 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 207./4. - 135.*(xi + 1.)*(xi + 1.)/(2.*2.));
    2342           0 :                       case 4:
    2343           0 :                         return sign * RealGradient(0., -45.*eta/8. - 45.*xi/2. + 90.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. - 45./2. + 225.*((xi + 1.)*(xi + 1.)/(2.*2.))/4.);
    2344           0 :                       case 5:
    2345           0 :                         return sign * RealGradient(0., 45.*eta/4. + 36.*xi - 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 153./4. - 90.*(xi + 1.)*(xi + 1.)/(2.*2.));
    2346           0 :                       case 6:
    2347           0 :                         return sign * RealGradient(-36.*eta - 45.*xi/4. + 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 153./4. + 90.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    2348           0 :                       case 7:
    2349           0 :                         return sign * RealGradient(45.*eta/2. + 45.*xi/8. - 90.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 45./2. - 225.*(eta + 1.)*(eta + 1.)/(2.*2.)/4., 0.);
    2350           0 :                       case 8:
    2351           0 :                         return sign * RealGradient(-54.*eta - 45.*xi/4. + 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 207./4. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    2352           0 :                       case 9:
    2353           0 :                         return sign * RealGradient(0., 135.*eta/4. + 54.*xi - 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 243./4. - 90.*(xi + 1.)*(xi + 1.)/(2.*2.));
    2354           0 :                       case 10:
    2355           0 :                         return sign * RealGradient(0., -135.*eta/8. - 135.*xi/4. + 135.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. - 135./4. + 225.*((xi + 1.)*(xi + 1.)/(2.*2.))/4.);
    2356           0 :                       case 11:
    2357           0 :                         return sign * RealGradient(0., 135.*eta/4. + 81.*xi - 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 297./4. - 135.*(xi + 1.)*(xi + 1.)/(2.*2.));
    2358           0 :                       case 12:
    2359           0 :                         return RealGradient(0., 30.*eta + 81.*xi - 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 75. - 135.*(xi + 1.)*(xi + 1.)/(2.*2.));
    2360           0 :                       case 13:
    2361           0 :                         return RealGradient(0., -15.*eta/2. - 54.*xi + 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 105./2. + 135.*((xi + 1.)*(xi + 1.)/(2.*2.)));
    2362           0 :                       case 14:
    2363           0 :                         return RealGradient(-81.*eta - 30.*xi + 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 75. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    2364           0 :                       case 15:
    2365           0 :                         return RealGradient(54.*eta + 15.*xi/2. - 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 105./2. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.), 0.);
    2366           0 :                       case 16:
    2367           0 :                         return RealGradient(-54.*eta - 30.*xi + 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 60. + 90.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    2368           0 :                       case 17:
    2369           0 :                         return RealGradient(36.*eta + 15.*xi/2. - 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 75./2. - 90.*(eta + 1.)*(eta + 1.)/(2.*2.), 0.);
    2370           0 :                       case 18:
    2371           0 :                         return RealGradient(0., 30.*eta + 54.*xi - 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 60. - 90.*(xi + 1.)*(xi + 1.)/(2.*2.));
    2372           0 :                       case 19:
    2373           0 :                         return RealGradient(0., -15.*eta/2. - 36.*xi + 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 75./2. + 90.*((xi + 1.)*(xi + 1.)/(2.*2.)));
    2374           0 :                       case 20:
    2375           0 :                         return RealGradient(0., 0.);
    2376           0 :                       case 21:
    2377           0 :                         return RealGradient(0., 0.);
    2378           0 :                       case 22:
    2379           0 :                         return RealGradient(0., 0.);
    2380           0 :                       case 23:
    2381           0 :                         return RealGradient(0., 0.);
    2382           0 :                       default:
    2383           0 :                         libmesh_error_msg("Invalid i = " << i);
    2384             :                       }
    2385             :                   } // j = 1
    2386             : 
    2387             :                   // d^2()/deta^2
    2388           0 :                 case 2:
    2389             :                   {
    2390           0 :                     switch(ii)
    2391             :                       {
    2392           0 :                       case 0:
    2393           0 :                         return sign * RealGradient(-135.*eta/4. - 81.*xi + 135.*(eta + 1.)*(xi + 1.)/2. - 225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 297./4. + 135.*((xi + 1.)*(xi + 1.))/4., 0.);
    2394           0 :                       case 1:
    2395           0 :                         return sign * RealGradient(45.*eta/8. + 135.*xi/4. - 225.*(eta + 1.)*(xi + 1.)/8. + 225.*(eta + 1.)*((xi + 1.)*(xi + 1.))/16. + 261./8. - 135.*(xi + 1.)*(xi + 1.)/8., 0.);
    2396           0 :                       case 2:
    2397           0 :                         return sign * RealGradient(-45.*eta/4. - 54.*xi + 45.*(eta + 1.)*(xi + 1.) - 225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 207./4. + 135.*((xi + 1.)*(xi + 1.))/4., 0.);
    2398           0 :                       case 3:
    2399           0 :                         return sign * RealGradient(0., 45.*xi/4. + 45./4. - 45.*(xi + 1.)*(xi + 1.)/2. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    2400           0 :                       case 4:
    2401           0 :                         return sign * RealGradient(0., -45.*xi/8. - 45./8. + 45.*((xi + 1.)*(xi + 1.))/4. - 75.*(xi + 1.)*(xi + 1.)*(xi + 1.)/16.);
    2402           0 :                       case 5:
    2403           0 :                         return sign * RealGradient(0., 45.*xi/4. + 45./4. - 45.*(xi + 1.)*(xi + 1.)/2. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    2404           0 :                       case 6:
    2405           0 :                         return sign * RealGradient(-45.*eta/4. - 36.*xi + 45.*(eta + 1.)*(xi + 1.) - 225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 153./4. + 45.*((xi + 1.)*(xi + 1.))/2., 0.);
    2406           0 :                       case 7:
    2407           0 :                         return sign * RealGradient(45.*eta/8. + 45.*xi/2. - 225.*(eta + 1.)*(xi + 1.)/8. + 225.*(eta + 1.)*((xi + 1.)*(xi + 1.))/16. + 189./8. - 45.*(xi + 1.)*(xi + 1.)/4., 0.);
    2408           0 :                       case 8:
    2409           0 :                         return sign * RealGradient(-135.*eta/4. - 54.*xi + 135.*(eta + 1.)*(xi + 1.)/2. - 225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 243./4. + 45.*((xi + 1.)*(xi + 1.))/2., 0.);
    2410           0 :                       case 9:
    2411           0 :                         return sign * RealGradient(0., 135.*xi/4. + 105./4. - 135.*(xi + 1.)*(xi + 1.)/4. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    2412           0 :                       case 10:
    2413           0 :                         return sign * RealGradient(0., -135.*xi/8. - 105./8. + 135.*((xi + 1.)*(xi + 1.))/8. - 75.*(xi + 1.)*(xi + 1.)*(xi + 1.)/16.);
    2414           0 :                       case 11:
    2415           0 :                         return sign * RealGradient(0., 135.*xi/4. + 105./4. - 135.*(xi + 1.)*(xi + 1.)/4. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    2416           0 :                       case 12:
    2417           0 :                         return RealGradient(0., 30.*xi + 30. - 135.*(xi + 1.)*(xi + 1.)/4. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    2418           0 :                       case 13:
    2419           0 :                         return RealGradient(0., -15.*xi/2. - 15./2. + 45.*((xi + 1.)*(xi + 1.))/2. - 75.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8.);
    2420           0 :                       case 14:
    2421           0 :                         return RealGradient(-135.*eta/4. - 81.*xi + 135.*(eta + 1.)*(xi + 1.)/2. - 225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 297./4. + 135.*((xi + 1.)*(xi + 1.))/4., 0.);
    2422           0 :                       case 15:
    2423           0 :                         return RealGradient(135.*eta/4. + 54.*xi - 135.*(eta + 1.)*(xi + 1.)/2. + 225.*(eta + 1.)*((xi + 1.)*(xi + 1.))/8. + 243./4. - 45.*(xi + 1.)*(xi + 1.)/2., 0.);
    2424           0 :                       case 16:
    2425           0 :                         return RealGradient(-45.*eta/4. - 54.*xi + 45.*(eta + 1.)*(xi + 1.) - 225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 207./4. + 135.*((xi + 1.)*(xi + 1.))/4., 0.);
    2426           0 :                       case 17:
    2427           0 :                         return RealGradient(45.*eta/4. + 36.*xi - 45.*(eta + 1.)*(xi + 1.) + 225.*(eta + 1.)*((xi + 1.)*(xi + 1.))/8. + 153./4. - 45.*(xi + 1.)*(xi + 1.)/2., 0.);
    2428           0 :                       case 18:
    2429           0 :                         return RealGradient(0., 30.*xi + 30. - 135.*(xi + 1.)*(xi + 1.)/4. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    2430           0 :                       case 19:
    2431           0 :                         return RealGradient(0., -15.*xi/2. - 15./2. + 45.*((xi + 1.)*(xi + 1.))/2. - 75.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8.);
    2432           0 :                       case 20:
    2433           0 :                         return RealGradient(15.*eta/4. - 3./4., 0.);
    2434           0 :                       case 21:
    2435           0 :                         return RealGradient(0., 0.);
    2436           0 :                       case 22:
    2437           0 :                         return RealGradient(0., 0.);
    2438           0 :                       case 23:
    2439           0 :                         return RealGradient(-15.*eta/4. - 3./4., 0.);
    2440           0 :                       default:
    2441           0 :                         libmesh_error_msg("Invalid i = " << i);
    2442             :                       }
    2443             :                   } // j = 2
    2444             : 
    2445           0 :                 default:
    2446           0 :                   libmesh_error_msg("Invalid j = " << j);
    2447             :                 }
    2448             :             }
    2449             : 
    2450           0 :           case TRI6:
    2451             :           case TRI7:
    2452             :             {
    2453           0 :               switch (j)
    2454             :                 {
    2455             :                   // d^2()/dxi^2
    2456           0 :                 case 0:
    2457             :                   {
    2458           0 :                     switch(ii)
    2459             :                       {
    2460           0 :                       case 0:
    2461           0 :                         return sign * RealGradient(60. - 90.*eta, 180.*eta + 270.*xi - 120.);
    2462           0 :                       case 1:
    2463           0 :                         return sign * RealGradient(45.*eta - 30., -45.*eta - 135.*xi + 105./2.);
    2464           0 :                       case 2:
    2465           0 :                         return sign * RealGradient(60. - 90.*eta, 270.*xi - 90.);
    2466           0 :                       case 3:
    2467           0 :                         return sign * RealGradient(-90.*eta, 270.*xi - 90.);
    2468           0 :                       case 4:
    2469           0 :                         return sign * RealGradient(-45.*eta/2., 90.*eta + 135.*xi/2. - 75./2.);
    2470           0 :                       case 5:
    2471           0 :                         return sign * RealGradient(0., 0.);
    2472           0 :                       case 6:
    2473           0 :                         return sign * RealGradient(0., 0.);
    2474           0 :                       case 7:
    2475           0 :                         return sign * RealGradient(-45.*eta/2., -45.*eta + 135.*xi/2. - 30.);
    2476           0 :                       case 8:
    2477           0 :                         return sign * RealGradient(-90.*eta, 180.*eta + 270.*xi - 180.);
    2478           0 :                       case 9:
    2479           0 :                         return RealGradient(180.*eta, -720.*eta - 540.*xi + 300.);
    2480           0 :                       case 10:
    2481           0 :                         return RealGradient(-540.*eta, 720.*eta + 1620.*xi - 900.);
    2482           0 :                       case 11:
    2483           0 :                         return RealGradient(-360.*eta, 720.*eta + 1080.*xi - 480.);
    2484           0 :                       case 12:
    2485           0 :                         return RealGradient(540.*eta, -360.*eta - 1620.*xi + 720.);
    2486           0 :                       case 13:
    2487           0 :                         return RealGradient(0., 360.*eta - 60.);
    2488           0 :                       case 14:
    2489           0 :                         return RealGradient(0., 120. - 720.*eta);
    2490           0 :                       default:
    2491           0 :                         libmesh_error_msg("Invalid i = " << i);
    2492             :                       }
    2493             :                   } // j = 0
    2494             : 
    2495             :                   // d^2()/dxideta
    2496           0 :                 case 1:
    2497             :                   {
    2498           0 :                     switch(ii)
    2499             :                       {
    2500           0 :                       case 0:
    2501           0 :                         return sign * RealGradient(-180.*eta - 90.*xi + 120., 90.*eta + 180.*xi - 60.);
    2502           0 :                       case 1:
    2503           0 :                         return sign * RealGradient(45.*eta + 45.*xi - 75./2., 45.*eta/2. - 45.*xi);
    2504           0 :                       case 2:
    2505           0 :                         return sign * RealGradient(30. - 90.*xi, 0.);
    2506           0 :                       case 3:
    2507           0 :                         return sign * RealGradient(30. - 90.*xi, 0.);
    2508           0 :                       case 4:
    2509           0 :                         return sign * RealGradient(-90.*eta - 45.*xi/2. + 45./2., 45.*eta/2. + 90.*xi - 45./2.);
    2510           0 :                       case 5:
    2511           0 :                         return sign * RealGradient(0., 90.*eta - 30.);
    2512           0 :                       case 6:
    2513           0 :                         return sign * RealGradient(0., 90.*eta - 30.);
    2514           0 :                       case 7:
    2515           0 :                         return sign * RealGradient(45.*eta - 45.*xi/2., -45.*eta - 45.*xi + 75./2.);
    2516           0 :                       case 8:
    2517           0 :                         return sign * RealGradient(-180.*eta - 90.*xi + 60., 90.*eta + 180.*xi - 120.);
    2518           0 :                       case 9:
    2519           0 :                         return RealGradient(720.*eta + 180.*xi - 300., -540.*eta - 720.*xi + 300.);
    2520           0 :                       case 10:
    2521           0 :                         return RealGradient(-720.*eta - 540.*xi + 300., 180.*eta + 720.*xi - 300.);
    2522           0 :                       case 11:
    2523           0 :                         return RealGradient(-720.*eta - 360.*xi + 360., 720.*xi - 120.);
    2524           0 :                       case 12:
    2525           0 :                         return RealGradient(360.*eta + 540.*xi - 240., 60. - 360.*xi);
    2526           0 :                       case 13:
    2527           0 :                         return RealGradient(60. - 360.*eta, 540.*eta + 360.*xi - 240.);
    2528           0 :                       case 14:
    2529           0 :                         return RealGradient(720.*eta - 120., -360.*eta - 720.*xi + 360.);
    2530           0 :                       default:
    2531           0 :                         libmesh_error_msg("Invalid i = " << i);
    2532             :                       }
    2533             :                   } // j = 1
    2534             : 
    2535             :                   // d^2()/deta^2
    2536           0 :                 case 2:
    2537             :                   {
    2538           0 :                     switch(ii)
    2539             :                       {
    2540           0 :                       case 0:
    2541           0 :                         return sign * RealGradient(-270.*eta - 180.*xi + 180., 90.*xi);
    2542           0 :                       case 1:
    2543           0 :                         return sign * RealGradient(-135.*eta/2. + 45.*xi + 30., 45.*xi/2.);
    2544           0 :                       case 2:
    2545           0 :                         return sign * RealGradient(0., 0.);
    2546           0 :                       case 3:
    2547           0 :                         return sign * RealGradient(0., 0.);
    2548           0 :                       case 4:
    2549           0 :                         return sign * RealGradient(-135.*eta/2. - 90.*xi + 75./2., 45.*xi/2.);
    2550           0 :                       case 5:
    2551           0 :                         return sign * RealGradient(90. - 270.*eta, 90.*xi);
    2552           0 :                       case 6:
    2553           0 :                         return sign * RealGradient(90. - 270.*eta, 90.*xi - 60.);
    2554           0 :                       case 7:
    2555           0 :                         return sign * RealGradient(135.*eta + 45.*xi - 105./2., 30. - 45.*xi);
    2556           0 :                       case 8:
    2557           0 :                         return sign * RealGradient(-270.*eta - 180.*xi + 120., 90.*xi - 60.);
    2558           0 :                       case 9:
    2559           0 :                         return RealGradient(1620.*eta + 720.*xi - 900., -540.*xi);
    2560           0 :                       case 10:
    2561           0 :                         return RealGradient(-540.*eta - 720.*xi + 300., 180.*xi);
    2562           0 :                       case 11:
    2563           0 :                         return RealGradient(120. - 720.*xi, 0.);
    2564           0 :                       case 12:
    2565           0 :                         return RealGradient(360.*xi - 60., 0.);
    2566           0 :                       case 13:
    2567           0 :                         return RealGradient(-1620.*eta - 360.*xi + 720., 540.*xi);
    2568           0 :                       case 14:
    2569           0 :                         return RealGradient(1080.*eta + 720.*xi - 480., -360.*xi);
    2570           0 :                       default:
    2571           0 :                         libmesh_error_msg("Invalid i = " << i);
    2572             :                       }
    2573             :                   } // j = 2
    2574             : 
    2575           0 :                 default:
    2576           0 :                   libmesh_error_msg("Invalid j = " << j);
    2577             :                 }
    2578             :             }
    2579             : 
    2580           0 :           default:
    2581           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
    2582             :           } // end switch (type)
    2583             :       } // end case THIRD
    2584             : 
    2585             :       // quartic Nedelec (first kind) shape function second derivatives
    2586           0 :     case FOURTH:
    2587             :       {
    2588           0 :         switch (elem->type())
    2589             :           {
    2590           0 :           case QUAD8:
    2591             :           case QUAD9:
    2592             :             {
    2593           0 :               switch (j)
    2594             :                 {
    2595             :                   // d^2()/dxi^2
    2596           0 :                 case 0:
    2597             :                   {
    2598           0 :                     switch(ii)
    2599             :                       {
    2600           0 :                       case 0:
    2601           0 :                         return sign * RealGradient(-480.*eta - 105.*xi/2. + 420.*(eta + 1.)*(xi + 1.) - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. + 525.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 3675.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. - 945./2. + 900.*((eta + 1.)*(eta + 1.)) - 600.*(eta + 1.)*(eta + 1.)*(eta + 1.) + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4., 0.);
    2602           0 :                       case 1:
    2603           0 :                         return sign * RealGradient(1720.*eta/9. + 385.*xi/18. - 1540.*(eta + 1.)*(xi + 1.)/9. + 1925.*(xi + 1.)*((eta + 1.)*(eta + 1.))/6. - 1925.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/9. + 13475.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/288. + 3395./18. - 1075.*(eta + 1.)*(eta + 1.)/3. + 2150.*((eta + 1.)*(eta + 1.)*(eta + 1.))/9. - 7525.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/144., 0.);
    2604           0 :                       case 2:
    2605           0 :                         return sign * RealGradient(-1360.*eta/9. - 385.*xi/18. + 1540.*(eta + 1.)*(xi + 1.)/9. - 1925.*(xi + 1.)*(eta + 1.)*(eta + 1.)/6. + 1925.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/9. - 13475.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/288. - 2765./18. + 850.*((eta + 1.)*(eta + 1.))/3. - 1700.*(eta + 1.)*(eta + 1.)*(eta + 1.)/9. + 2975.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/72., 0.);
    2606           0 :                       case 3:
    2607           0 :                         return sign * RealGradient(360.*eta + 105.*xi/2. - 420.*(eta + 1.)*(xi + 1.) + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. - 525.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 3675.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 735./2. - 675.*(eta + 1.)*(eta + 1.) + 450.*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16., 0.);
    2608           0 :                       case 4:
    2609           0 :                         return sign * RealGradient(0., -450.*eta - 360.*xi + 1350.*(eta + 1.)*(xi + 1.) - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. - 1350.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 690. + 450.*((eta + 1.)*(eta + 1.)) + 1575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. + 210.*((xi + 1.)*(xi + 1.)) - 3675.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 525.*(eta + 1.)*(eta + 1.)*(eta + 1.)/4.);
    2610           0 :                       case 5:
    2611           0 :                         return sign * RealGradient(0., 475.*eta/3. + 170.*xi/3. - 475.*(eta + 1.)*(xi + 1.) + 3325.*(eta + 1.)*((xi + 1.)*(xi + 1.))/12. + 1075.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. - 1925.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/12. + 1765./9. - 1075.*(eta + 1.)*(eta + 1.)/6. - 7525.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/24. - 595.*(xi + 1.)*(xi + 1.)/18. + 13475.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/144. + 1925.*((eta + 1.)*(eta + 1.)*(eta + 1.))/36.);
    2612           0 :                       case 6:
    2613           0 :                         return sign * RealGradient(0., -250.*eta/3. - 80.*xi/3. + 250.*(eta + 1.)*(xi + 1.) - 875.*(eta + 1.)*(xi + 1.)*(xi + 1.)/6. - 425.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 1925.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/12. - 910./9. + 425.*((eta + 1.)*(eta + 1.))/3. + 2975.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/12. + 140.*((xi + 1.)*(xi + 1.))/9. - 13475.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/144. - 1925.*(eta + 1.)*(eta + 1.)*(eta + 1.)/36.);
    2614           0 :                       case 7:
    2615           0 :                         return sign * RealGradient(0., 225.*eta + 90.*xi - 675.*(eta + 1.)*(xi + 1.) + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.))/4. + 2025.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 285. - 675.*(eta + 1.)*(eta + 1.)/2. - 4725.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 105.*(xi + 1.)*(xi + 1.)/2. + 3675.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.))/4.);
    2616           0 :                       case 8:
    2617           0 :                         return sign * RealGradient(-90.*eta + 105.*(eta + 1.)*(xi + 1.) - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)/4. + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 3675.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. - 90. + 675.*((eta + 1.)*(eta + 1.))/2. - 675.*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16., 0.);
    2618           0 :                       case 9:
    2619           0 :                         return sign * RealGradient(340.*eta/9. - 385.*(eta + 1.)*(xi + 1.)/9. + 1925.*(xi + 1.)*((eta + 1.)*(eta + 1.))/12. - 1925.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/12. + 13475.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/288. + 340./9. - 425.*(eta + 1.)*(eta + 1.)/3. + 425.*((eta + 1.)*(eta + 1.)*(eta + 1.))/3. - 2975.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/72., 0.);
    2620           0 :                       case 10:
    2621           0 :                         return sign * RealGradient(-430.*eta/9. + 385.*(eta + 1.)*(xi + 1.)/9. - 1925.*(xi + 1.)*(eta + 1.)*(eta + 1.)/12. + 1925.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/12. - 13475.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/288. - 430./9. + 1075.*((eta + 1.)*(eta + 1.))/6. - 1075.*(eta + 1.)*(eta + 1.)*(eta + 1.)/6. + 7525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/144., 0.);
    2622           0 :                       case 11:
    2623           0 :                         return sign * RealGradient(120.*eta - 105.*(eta + 1.)*(xi + 1.) + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.))/4. - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 3675.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 120. - 450.*(eta + 1.)*(eta + 1.) + 450.*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 525.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4., 0.);
    2624           0 :                       case 12:
    2625           0 :                         return sign * RealGradient(0., -450.*eta - 120.*xi + 900.*(eta + 1.)*(xi + 1.) - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. - 1350.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 525.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 510. + 675.*((eta + 1.)*(eta + 1.)) + 4725.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. + 105.*((xi + 1.)*(xi + 1.))/2. - 3675.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 525.*(eta + 1.)*(eta + 1.)*(eta + 1.)/2.);
    2626           0 :                       case 13:
    2627           0 :                         return sign * RealGradient(0., 500.*eta/3. + 320.*xi/9. - 1000.*(eta + 1.)*(xi + 1.)/3. + 875.*(eta + 1.)*((xi + 1.)*(xi + 1.))/6. + 1700.*(xi + 1.)*((eta + 1.)*(eta + 1.))/3. - 1925.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/9. + 1660./9. - 850.*(eta + 1.)*(eta + 1.)/3. - 2975.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/12. - 140.*(xi + 1.)*(xi + 1.)/9. + 13475.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/144. + 1925.*((eta + 1.)*(eta + 1.)*(eta + 1.))/18.);
    2628           0 :                       case 14:
    2629           0 :                         return sign * RealGradient(0., -950.*eta/3. - 680.*xi/9. + 1900.*(eta + 1.)*(xi + 1.)/3. - 3325.*(eta + 1.)*(xi + 1.)*(xi + 1.)/12. - 2150.*(xi + 1.)*(eta + 1.)*(eta + 1.)/3. + 1925.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/9. - 3190./9. + 1075.*((eta + 1.)*(eta + 1.))/3. + 7525.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/24. + 595.*((xi + 1.)*(xi + 1.))/18. - 13475.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/144. - 1925.*(eta + 1.)*(eta + 1.)*(eta + 1.)/18.);
    2630           0 :                       case 15:
    2631           0 :                         return sign * RealGradient(0., 900.*eta + 480.*xi - 1800.*(eta + 1.)*(xi + 1.) + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. + 1800.*(xi + 1.)*((eta + 1.)*(eta + 1.)) - 525.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 1140. - 900.*(eta + 1.)*(eta + 1.) - 1575.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. - 210.*(xi + 1.)*(xi + 1.) + 3675.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.))/2.);
    2632           0 :                       case 16:
    2633           0 :                         return RealGradient(0., 870.*eta + 480.*xi - 1800.*(eta + 1.)*(xi + 1.) + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. + 1800.*(xi + 1.)*((eta + 1.)*(eta + 1.)) - 525.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 1118. - 870.*(eta + 1.)*(eta + 1.) - 1575.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. - 210.*(xi + 1.)*(xi + 1.) + 3675.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. + 1015.*((eta + 1.)*(eta + 1.)*(eta + 1.))/4.);
    2634           0 :                       case 17:
    2635           0 :                         return RealGradient(0., 420.*eta + 360.*xi - 1350.*(eta + 1.)*(xi + 1.) + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. + 1350.*(xi + 1.)*((eta + 1.)*(eta + 1.)) - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 668. - 420.*(eta + 1.)*(eta + 1.) - 1575.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. - 210.*(xi + 1.)*(xi + 1.) + 3675.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. + 245.*((eta + 1.)*(eta + 1.)*(eta + 1.))/2.);
    2636           0 :                       case 18:
    2637           0 :                         return RealGradient(0., 60.*eta + 44. - 60.*(eta + 1.)*(eta + 1.) + 35.*((eta + 1.)*(eta + 1.)*(eta + 1.))/2.);
    2638           0 :                       case 19:
    2639           0 :                         return RealGradient(-390.*eta + 1365.*(eta + 1.)*(xi + 1.)/4. - 3045.*(xi + 1.)*(eta + 1.)*(eta + 1.)/4. + 525.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 3675.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. - 390. + 870.*((eta + 1.)*(eta + 1.)) - 600.*(eta + 1.)*(eta + 1.)*(eta + 1.) + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4., 0.);
    2640           0 :                       case 20:
    2641           0 :                         return RealGradient(-90.*eta + 315.*(eta + 1.)*(xi + 1.)/4. - 735.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 3675.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. - 90. + 420.*((eta + 1.)*(eta + 1.)) - 450.*(eta + 1.)*(eta + 1.)*(eta + 1.) + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4., 0.);
    2642           0 :                       case 21:
    2643           0 :                         return RealGradient(-120.*eta + 105.*(eta + 1.)*(xi + 1.) - 105.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. - 120. + 60.*((eta + 1.)*(eta + 1.)), 0.);
    2644           0 :                       case 22:
    2645           0 :                         return RealGradient(585.*eta/2. - 1365.*(eta + 1.)*(xi + 1.)/4. + 3045.*(xi + 1.)*((eta + 1.)*(eta + 1.))/4. - 525.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 3675.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 585./2. - 1305.*(eta + 1.)*(eta + 1.)/2. + 450.*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16., 0.);
    2646           0 :                       case 23:
    2647           0 :                         return RealGradient(135.*eta/2. - 315.*(eta + 1.)*(xi + 1.)/4. + 735.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 3675.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 135./2. - 315.*(eta + 1.)*(eta + 1.) + 675.*((eta + 1.)*(eta + 1.)*(eta + 1.))/2. - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16., 0.);
    2648           0 :                       case 24:
    2649           0 :                         return RealGradient(90.*eta - 105.*(eta + 1.)*(xi + 1.) + 105.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. + 90. - 45.*(eta + 1.)*(eta + 1.), 0.);
    2650           0 :                       case 25:
    2651           0 :                         return RealGradient(0., -435.*eta - 120.*xi + 900.*(eta + 1.)*(xi + 1.) - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. - 1350.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 525.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 497. + 1305.*((eta + 1.)*(eta + 1.))/2. + 4725.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. + 105.*((xi + 1.)*(xi + 1.))/2. - 3675.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 1015.*(eta + 1.)*(eta + 1.)*(eta + 1.)/4.);
    2652           0 :                       case 26:
    2653           0 :                         return RealGradient(0., -210.*eta - 90.*xi + 675.*(eta + 1.)*(xi + 1.) - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. - 2025.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 272. + 315.*((eta + 1.)*(eta + 1.)) + 4725.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. + 105.*((xi + 1.)*(xi + 1.))/2. - 3675.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 245.*(eta + 1.)*(eta + 1.)*(eta + 1.)/2.);
    2654           0 :                       case 27:
    2655           0 :                         return RealGradient(0., -30.*eta - 26. + 45.*((eta + 1.)*(eta + 1.)) - 35.*(eta + 1.)*(eta + 1.)*(eta + 1.)/2.);
    2656           0 :                       case 28:
    2657           0 :                         return RealGradient(0., 0.);
    2658           0 :                       case 29:
    2659           0 :                         return RealGradient(0., 0.);
    2660           0 :                       case 30:
    2661           0 :                         return RealGradient(0., 171.*eta/4. + 120.*xi - 90.*(eta + 1.)*(xi + 1.) + 315.*(eta + 1.)*((xi + 1.)*(xi + 1.))/8. + 423./4. - 105.*(xi + 1.)*(xi + 1.)/2.);
    2662           0 :                       case 31:
    2663           0 :                         return RealGradient(0., -171.*eta/4. - 60.*xi + 90.*(eta + 1.)*(xi + 1.) - 315.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 297./4. + 105.*((xi + 1.)*(xi + 1.))/4.);
    2664           0 :                       case 32:
    2665           0 :                         return RealGradient(0., 81.*eta/4. + 90.*xi - 135.*(eta + 1.)*(xi + 1.)/2. + 315.*(eta + 1.)*((xi + 1.)*(xi + 1.))/8. + 333./4. - 105.*(xi + 1.)*(xi + 1.)/2.);
    2666           0 :                       case 33:
    2667           0 :                         return RealGradient(0., -81.*eta/4. - 45.*xi + 135.*(eta + 1.)*(xi + 1.)/2. - 315.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 207./4. + 105.*((xi + 1.)*(xi + 1.))/4.);
    2668           0 :                       case 34:
    2669           0 :                         return RealGradient(0., 0.);
    2670           0 :                       case 35:
    2671           0 :                         return RealGradient(0., 0.);
    2672           0 :                       case 36:
    2673           0 :                         return RealGradient(0., 9.*eta/2. - 3./2.);
    2674           0 :                       case 37:
    2675           0 :                         return RealGradient(0., 0.);
    2676           0 :                       case 38:
    2677           0 :                         return RealGradient(0., 0.);
    2678           0 :                       case 39:
    2679           0 :                         return RealGradient(0., -9.*eta/2. - 3./2.);
    2680           0 :                       default:
    2681           0 :                         libmesh_error_msg("Invalid i = " << i);
    2682             :                       }
    2683             :                   } // j = 0
    2684             : 
    2685             :                   // d^2()/dxideta
    2686           0 :                 case 1:
    2687             :                   {
    2688           0 :                     switch(ii)
    2689             :                       {
    2690           0 :                       case 0:
    2691           0 :                         return sign * RealGradient(-900.*eta - 480.*xi + 7200.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 6300.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 14400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 8400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1140. + 3600.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 12600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 840.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7350.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 2100.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    2692           0 :                       case 1:
    2693           0 :                         return sign * RealGradient(950.*eta/3. + 1720.*xi/9. - 8600.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. + 7700.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. + 17200.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. - 30100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 1270./3. - 3800.*(eta + 1.)*(eta + 1.)/(2.*2.)/3. - 15400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. - 3080.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 26950.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. + 6650.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9., 0.);
    2694           0 :                       case 2:
    2695           0 :                         return sign * RealGradient(-500.*eta/3. - 1360.*xi/9. + 6800.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. - 7700.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. - 13600.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. + 23800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 820./3. + 2000.*((eta + 1.)*(eta + 1.)/(2.*2.))/3. + 15400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. + 3080.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 26950.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. - 3500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9., 0.);
    2696           0 :                       case 3:
    2697           0 :                         return sign * RealGradient(450.*eta + 360.*xi - 5400.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 6300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 10800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 6300.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 690. - 1800.*(eta + 1.)*(eta + 1.)/(2.*2.) - 12600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 840.*(xi + 1.)*(xi + 1.)/(2.*2.) + 7350.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 1050.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    2698           0 :                       case 4:
    2699           0 :                         return sign * RealGradient(0., -120.*eta - 450.*xi + 3600.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 10800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3150.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 510. + 210.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 9450.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7350.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2700.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2100.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    2700           0 :                       case 5:
    2701           0 :                         return sign * RealGradient(0., 430.*eta/9. + 475.*xi/3. - 4300.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. + 4300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 30100.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 3850.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. + 185. - 770.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 3850.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 26950.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 950.*(xi + 1.)*(xi + 1.)/(2.*2.) + 6650.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9.);
    2702           0 :                       case 6:
    2703           0 :                         return sign * RealGradient(0., -340.*eta/9. - 250.*xi/3. + 3400.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. - 3400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 23800.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 3850.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. - 110. + 770.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 3850.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 26950.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 500.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3500.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9.);
    2704           0 :                       case 7:
    2705           0 :                         return sign * RealGradient(0., 90.*eta + 225.*xi - 2700.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 8100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 6300.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 3150.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 285. - 210.*(eta + 1.)*(eta + 1.)/(2.*2.) - 9450.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 7350.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1350.*(xi + 1.)*(xi + 1.)/(2.*2.) + 1050.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    2706           0 :                       case 8:
    2707           0 :                         return sign * RealGradient(-225.*eta - 90.*xi + 2700.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 3150.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 8100.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 6300.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 285. + 1350.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 9450.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 210.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7350.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 1050.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    2708           0 :                       case 9:
    2709           0 :                         return sign * RealGradient(250.*eta/3. + 340.*xi/9. - 3400.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. + 3850.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. + 3400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 23800.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. + 110. - 500.*(eta + 1.)*(eta + 1.)/(2.*2.) - 3850.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 770.*(xi + 1.)*(xi + 1.)/(2.*2.)/9. + 26950.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. + 3500.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9., 0.);
    2710           0 :                       case 10:
    2711           0 :                         return sign * RealGradient(-475.*eta/3. - 430.*xi/9. + 4300.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. - 3850.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. - 4300.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 30100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/9. - 185. + 950.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 3850.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 770.*((xi + 1.)*(xi + 1.)/(2.*2.))/9. - 26950.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9. - 6650.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/9., 0.);
    2712           0 :                       case 11:
    2713           0 :                         return sign * RealGradient(450.*eta + 120.*xi - 3600.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 3150.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 10800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 8400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 510. - 2700.*(eta + 1.)*(eta + 1.)/(2.*2.) - 9450.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 210.*(xi + 1.)*(xi + 1.)/(2.*2.) + 7350.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 2100.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    2714           0 :                       case 12:
    2715           0 :                         return sign * RealGradient(0., -360.*eta - 450.*xi + 5400.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 10800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 6300.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 690. + 840.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 12600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7350.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1800.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1050.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    2716           0 :                       case 13:
    2717           0 :                         return sign * RealGradient(0., 1360.*eta/9. + 500.*xi/3. - 6800.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. + 13600.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 23800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 7700.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/3. + 820./3. - 3080.*(eta + 1.)*(eta + 1.)/(2.*2.)/9. - 15400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 26950.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 2000.*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 3500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9.);
    2718           0 :                       case 14:
    2719           0 :                         return sign * RealGradient(0., -1720.*eta/9. - 950.*xi/3. + 8600.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/3. - 17200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/3. + 30100.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/9. - 7700.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/3. - 1270./3. + 3080.*((eta + 1.)*(eta + 1.)/(2.*2.))/9. + 15400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 26950.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9. + 3800.*((xi + 1.)*(xi + 1.)/(2.*2.))/3. - 6650.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/9.);
    2720           0 :                       case 15:
    2721           0 :                         return sign * RealGradient(0., 480.*eta + 900.*xi - 7200.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 14400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 6300.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 1140. - 840.*(eta + 1.)*(eta + 1.)/(2.*2.) - 12600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 7350.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3600.*(xi + 1.)*(xi + 1.)/(2.*2.) + 2100.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    2722           0 :                       case 16:
    2723           0 :                         return RealGradient(0., 390.*eta + 870.*xi - 6960.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 14400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 6090.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 1065. - 1365.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 12600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 7350.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 3600.*(xi + 1.)*(xi + 1.)/(2.*2.) + 2100.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    2724           0 :                       case 17:
    2725           0 :                         return RealGradient(0., 90.*eta + 420.*xi - 3360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 10800.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 8400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2940.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 465. - 315.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 9450.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 7350.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2700.*(xi + 1.)*(xi + 1.)/(2.*2.) + 2100.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    2726           0 :                       case 18:
    2727           0 :                         return RealGradient(0., 120.*eta + 60.*xi - 480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 420.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 120. - 210.*(eta + 1.)*(eta + 1.)/(2.*2.));
    2728           0 :                       case 19:
    2729           0 :                         return RealGradient(-870.*eta - 390.*xi + 6960.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 6090.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 14400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 8400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1065. + 3600.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 12600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 1365.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 7350.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 2100.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    2730           0 :                       case 20:
    2731           0 :                         return RealGradient(-420.*eta - 90.*xi + 3360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 2940.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 10800.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 8400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 465. + 2700.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 9450.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 315.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 7350.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) - 2100.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    2732           0 :                       case 21:
    2733           0 :                         return RealGradient(-60.*eta - 120.*xi + 480.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 420.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 120. + 210.*((xi + 1.)*(xi + 1.)/(2.*2.)), 0.);
    2734           0 :                       case 22:
    2735           0 :                         return RealGradient(435.*eta + 585.*xi/2. - 5220.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 6090.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 10800.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 6300.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 630. - 1800.*(eta + 1.)*(eta + 1.)/(2.*2.) - 12600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 1365.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 7350.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 1050.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    2736           0 :                       case 23:
    2737           0 :                         return RealGradient(210.*eta + 135.*xi/2. - 2520.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2940.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 8100.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 6300.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 255. - 1350.*(eta + 1.)*(eta + 1.)/(2.*2.) - 9450.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 315.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 7350.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 1050.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    2738           0 :                       case 24:
    2739           0 :                         return RealGradient(30.*eta + 90.*xi - 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 420.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 90. - 210.*(xi + 1.)*(xi + 1.)/(2.*2.), 0.);
    2740           0 :                       case 25:
    2741           0 :                         return RealGradient(0., -585.*eta/2. - 435.*xi + 5220.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 10800.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 6090.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 630. + 1365.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 12600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7350.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1800.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1050.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    2742           0 :                       case 26:
    2743           0 :                         return RealGradient(0., -135.*eta/2. - 210.*xi + 2520.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 8100.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2940.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 255. + 315.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 9450.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 7350.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1350.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 1050.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    2744           0 :                       case 27:
    2745           0 :                         return RealGradient(0., -90.*eta - 30.*xi + 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 420.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 90. + 210.*((eta + 1.)*(eta + 1.)/(2.*2.)));
    2746           0 :                       case 28:
    2747           0 :                         return RealGradient(171.*eta/4. + 135./4. - 180.*(eta + 1.)*(eta + 1.)/(2.*2.) + 105.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    2748           0 :                       case 29:
    2749           0 :                         return RealGradient(-171.*eta/4. - 135./4. + 180.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 105.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    2750           0 :                       case 30:
    2751           0 :                         return RealGradient(0., 171.*xi/4. + 135./4. - 180.*(xi + 1.)*(xi + 1.)/(2.*2.) + 105.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    2752           0 :                       case 31:
    2753           0 :                         return RealGradient(0., -171.*xi/4. - 135./4. + 180.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 105.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    2754           0 :                       case 32:
    2755           0 :                         return RealGradient(0., 81.*xi/4. + 75./4. - 135.*(xi + 1.)*(xi + 1.)/(2.*2.) + 105.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)));
    2756           0 :                       case 33:
    2757           0 :                         return RealGradient(0., -81.*xi/4. - 75./4. + 135.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 105.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.));
    2758           0 :                       case 34:
    2759           0 :                         return RealGradient(81.*eta/4. + 75./4. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.) + 105.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)), 0.);
    2760           0 :                       case 35:
    2761           0 :                         return RealGradient(-81.*eta/4. - 75./4. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 105.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.), 0.);
    2762           0 :                       case 36:
    2763           0 :                         return RealGradient(0., 9.*xi/2.);
    2764           0 :                       case 37:
    2765           0 :                         return RealGradient(-9.*eta/2., 0.);
    2766           0 :                       case 38:
    2767           0 :                         return RealGradient(9.*eta/2., 0.);
    2768           0 :                       case 39:
    2769           0 :                         return RealGradient(0., -9.*xi/2.);
    2770           0 :                       default:
    2771           0 :                         libmesh_error_msg("Invalid i = " << i);
    2772             :                       }
    2773             :                   } // j = 1
    2774             : 
    2775             :                   // d^2()/deta^2
    2776           0 :                 case 2:
    2777             :                   {
    2778           0 :                     switch(ii)
    2779             :                       {
    2780           0 :                       case 0:
    2781           0 :                         return sign * RealGradient(-480.*eta - 900.*xi + 1800.*(eta + 1.)*(xi + 1.) - 1800.*(eta + 1.)*(xi + 1.)*(xi + 1.) + 525.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. - 1140. + 210.*((eta + 1.)*(eta + 1.)) + 1575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 3675.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 900.*((xi + 1.)*(xi + 1.)) - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)/2., 0.);
    2782           0 :                       case 1:
    2783           0 :                         return sign * RealGradient(680.*eta/9. + 950.*xi/3. - 1900.*(eta + 1.)*(xi + 1.)/3. + 2150.*(eta + 1.)*((xi + 1.)*(xi + 1.))/3. - 1925.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/9. + 3325.*(xi + 1.)*((eta + 1.)*(eta + 1.))/12. + 3190./9. - 595.*(eta + 1.)*(eta + 1.)/18. - 7525.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/24. + 13475.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/144. - 1075.*(xi + 1.)*(xi + 1.)/3. + 1925.*((xi + 1.)*(xi + 1.)*(xi + 1.))/18., 0.);
    2784           0 :                       case 2:
    2785           0 :                         return sign * RealGradient(-320.*eta/9. - 500.*xi/3. + 1000.*(eta + 1.)*(xi + 1.)/3. - 1700.*(eta + 1.)*(xi + 1.)*(xi + 1.)/3. + 1925.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/9. - 875.*(xi + 1.)*(eta + 1.)*(eta + 1.)/6. - 1660./9. + 140.*((eta + 1.)*(eta + 1.))/9. + 2975.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/12. - 13475.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/144. + 850.*((xi + 1.)*(xi + 1.))/3. - 1925.*(xi + 1.)*(xi + 1.)*(xi + 1.)/18., 0.);
    2786           0 :                       case 3:
    2787           0 :                         return sign * RealGradient(120.*eta + 450.*xi - 900.*(eta + 1.)*(xi + 1.) + 1350.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 525.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.))/4. + 510. - 105.*(eta + 1.)*(eta + 1.)/2. - 4725.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 3675.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 675.*(xi + 1.)*(xi + 1.) + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.))/2., 0.);
    2788           0 :                       case 4:
    2789           0 :                         return sign * RealGradient(0., -120.*xi + 105.*(eta + 1.)*(xi + 1.) - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 3675.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. - 120. + 450.*((xi + 1.)*(xi + 1.)) - 450.*(xi + 1.)*(xi + 1.)*(xi + 1.) + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4.);
    2790           0 :                       case 5:
    2791           0 :                         return sign * RealGradient(0., 430.*xi/9. - 385.*(eta + 1.)*(xi + 1.)/9. + 1925.*(eta + 1.)*((xi + 1.)*(xi + 1.))/12. - 1925.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/12. + 13475.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/288. + 430./9. - 1075.*(xi + 1.)*(xi + 1.)/6. + 1075.*((xi + 1.)*(xi + 1.)*(xi + 1.))/6. - 7525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/144.);
    2792           0 :                       case 6:
    2793           0 :                         return sign * RealGradient(0., -340.*xi/9. + 385.*(eta + 1.)*(xi + 1.)/9. - 1925.*(eta + 1.)*(xi + 1.)*(xi + 1.)/12. + 1925.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/12. - 13475.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/288. - 340./9. + 425.*((xi + 1.)*(xi + 1.))/3. - 425.*(xi + 1.)*(xi + 1.)*(xi + 1.)/3. + 2975.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/72.);
    2794           0 :                       case 7:
    2795           0 :                         return sign * RealGradient(0., 90.*xi - 105.*(eta + 1.)*(xi + 1.) + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.))/4. - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 3675.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. + 90. - 675.*(xi + 1.)*(xi + 1.)/2. + 675.*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16.);
    2796           0 :                       case 8:
    2797           0 :                         return sign * RealGradient(-90.*eta - 225.*xi + 675.*(eta + 1.)*(xi + 1.) - 2025.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)/4. - 285. + 105.*((eta + 1.)*(eta + 1.))/2. + 4725.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. - 3675.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 675.*((xi + 1.)*(xi + 1.))/2. - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)/4., 0.);
    2798           0 :                       case 9:
    2799           0 :                         return sign * RealGradient(80.*eta/3. + 250.*xi/3. - 250.*(eta + 1.)*(xi + 1.) + 425.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 1925.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/12. + 875.*(xi + 1.)*((eta + 1.)*(eta + 1.))/6. + 910./9. - 140.*(eta + 1.)*(eta + 1.)/9. - 2975.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/12. + 13475.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/144. - 425.*(xi + 1.)*(xi + 1.)/3. + 1925.*((xi + 1.)*(xi + 1.)*(xi + 1.))/36., 0.);
    2800           0 :                       case 10:
    2801           0 :                         return sign * RealGradient(-170.*eta/3. - 475.*xi/3. + 475.*(eta + 1.)*(xi + 1.) - 1075.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 1925.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/12. - 3325.*(xi + 1.)*(eta + 1.)*(eta + 1.)/12. - 1765./9. + 595.*((eta + 1.)*(eta + 1.))/18. + 7525.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/24. - 13475.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/144. + 1075.*((xi + 1.)*(xi + 1.))/6. - 1925.*(xi + 1.)*(xi + 1.)*(xi + 1.)/36., 0.);
    2802           0 :                       case 11:
    2803           0 :                         return sign * RealGradient(360.*eta + 450.*xi - 1350.*(eta + 1.)*(xi + 1.) + 1350.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. + 690. - 210.*(eta + 1.)*(eta + 1.) - 1575.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 3675.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 450.*(xi + 1.)*(xi + 1.) + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.))/4., 0.);
    2804           0 :                       case 12:
    2805           0 :                         return sign * RealGradient(0., -105.*eta/2. - 360.*xi + 420.*(eta + 1.)*(xi + 1.) - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 525.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 3675.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. - 735./2. + 675.*((xi + 1.)*(xi + 1.)) - 450.*(xi + 1.)*(xi + 1.)*(xi + 1.) + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/16.);
    2806           0 :                       case 13:
    2807           0 :                         return sign * RealGradient(0., 385.*eta/18. + 1360.*xi/9. - 1540.*(eta + 1.)*(xi + 1.)/9. + 1925.*(eta + 1.)*((xi + 1.)*(xi + 1.))/6. - 1925.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/9. + 13475.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/288. + 2765./18. - 850.*(xi + 1.)*(xi + 1.)/3. + 1700.*((xi + 1.)*(xi + 1.)*(xi + 1.))/9. - 2975.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/72.);
    2808           0 :                       case 14:
    2809           0 :                         return sign * RealGradient(0., -385.*eta/18. - 1720.*xi/9. + 1540.*(eta + 1.)*(xi + 1.)/9. - 1925.*(eta + 1.)*(xi + 1.)*(xi + 1.)/6. + 1925.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/9. - 13475.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/288. - 3395./18. + 1075.*((xi + 1.)*(xi + 1.))/3. - 2150.*(xi + 1.)*(xi + 1.)*(xi + 1.)/9. + 7525.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/144.);
    2810           0 :                       case 15:
    2811           0 :                         return sign * RealGradient(0., 105.*eta/2. + 480.*xi - 420.*(eta + 1.)*(xi + 1.) + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 525.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 3675.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. + 945./2. - 900.*(xi + 1.)*(xi + 1.) + 600.*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4.);
    2812           0 :                       case 16:
    2813           0 :                         return RealGradient(0., 390.*xi - 1365.*(eta + 1.)*(xi + 1.)/4. + 3045.*(eta + 1.)*((xi + 1.)*(xi + 1.))/4. - 525.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 3675.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. + 390. - 870.*(xi + 1.)*(xi + 1.) + 600.*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4.);
    2814           0 :                       case 17:
    2815           0 :                         return RealGradient(0., 90.*xi - 315.*(eta + 1.)*(xi + 1.)/4. + 735.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 3675.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. + 90. - 420.*(xi + 1.)*(xi + 1.) + 450.*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4.);
    2816           0 :                       case 18:
    2817           0 :                         return RealGradient(0., 120.*xi - 105.*(eta + 1.)*(xi + 1.) + 105.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. + 120. - 60.*(xi + 1.)*(xi + 1.));
    2818           0 :                       case 19:
    2819           0 :                         return RealGradient(-480.*eta - 870.*xi + 1800.*(eta + 1.)*(xi + 1.) - 1800.*(eta + 1.)*(xi + 1.)*(xi + 1.) + 525.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. - 1118. + 210.*((eta + 1.)*(eta + 1.)) + 1575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 3675.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 870.*((xi + 1.)*(xi + 1.)) - 1015.*(xi + 1.)*(xi + 1.)*(xi + 1.)/4., 0.);
    2820           0 :                       case 20:
    2821           0 :                         return RealGradient(-360.*eta - 420.*xi + 1350.*(eta + 1.)*(xi + 1.) - 1350.*(eta + 1.)*(xi + 1.)*(xi + 1.) + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 1575.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. - 668. + 210.*((eta + 1.)*(eta + 1.)) + 1575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 3675.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 420.*((xi + 1.)*(xi + 1.)) - 245.*(xi + 1.)*(xi + 1.)*(xi + 1.)/2., 0.);
    2822           0 :                       case 21:
    2823           0 :                         return RealGradient(-60.*xi - 44. + 60.*((xi + 1.)*(xi + 1.)) - 35.*(xi + 1.)*(xi + 1.)*(xi + 1.)/2., 0.);
    2824           0 :                       case 22:
    2825           0 :                         return RealGradient(120.*eta + 435.*xi - 900.*(eta + 1.)*(xi + 1.) + 1350.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 525.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.))/4. + 497. - 105.*(eta + 1.)*(eta + 1.)/2. - 4725.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 3675.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 1305.*(xi + 1.)*(xi + 1.)/2. + 1015.*((xi + 1.)*(xi + 1.)*(xi + 1.))/4., 0.);
    2826           0 :                       case 23:
    2827           0 :                         return RealGradient(90.*eta + 210.*xi - 675.*(eta + 1.)*(xi + 1.) + 2025.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 1575.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.))/4. + 272. - 105.*(eta + 1.)*(eta + 1.)/2. - 4725.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 3675.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 315.*(xi + 1.)*(xi + 1.) + 245.*((xi + 1.)*(xi + 1.)*(xi + 1.))/2., 0.);
    2828           0 :                       case 24:
    2829           0 :                         return RealGradient(30.*xi + 26. - 45.*(xi + 1.)*(xi + 1.) + 35.*((xi + 1.)*(xi + 1.)*(xi + 1.))/2., 0.);
    2830           0 :                       case 25:
    2831           0 :                         return RealGradient(0., -585.*xi/2. + 1365.*(eta + 1.)*(xi + 1.)/4. - 3045.*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. + 525.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 3675.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. - 585./2. + 1305.*((xi + 1.)*(xi + 1.))/2. - 450.*(xi + 1.)*(xi + 1.)*(xi + 1.) + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/16.);
    2832           0 :                       case 26:
    2833           0 :                         return RealGradient(0., -135.*xi/2. + 315.*(eta + 1.)*(xi + 1.)/4. - 735.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 3675.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. - 135./2. + 315.*((xi + 1.)*(xi + 1.)) - 675.*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/16.);
    2834           0 :                       case 27:
    2835           0 :                         return RealGradient(0., -90.*xi + 105.*(eta + 1.)*(xi + 1.) - 105.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. - 90. + 45.*((xi + 1.)*(xi + 1.)));
    2836           0 :                       case 28:
    2837           0 :                         return RealGradient(120.*eta + 171.*xi/4. - 90.*(eta + 1.)*(xi + 1.) + 315.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 423./4. - 105.*(eta + 1.)*(eta + 1.)/2., 0.);
    2838           0 :                       case 29:
    2839           0 :                         return RealGradient(-60.*eta - 171.*xi/4. + 90.*(eta + 1.)*(xi + 1.) - 315.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. - 297./4. + 105.*((eta + 1.)*(eta + 1.))/4., 0.);
    2840           0 :                       case 30:
    2841           0 :                         return RealGradient(0., 0.);
    2842           0 :                       case 31:
    2843           0 :                         return RealGradient(0., 0.);
    2844           0 :                       case 32:
    2845           0 :                         return RealGradient(0., 0.);
    2846           0 :                       case 33:
    2847           0 :                         return RealGradient(0., 0.);
    2848           0 :                       case 34:
    2849           0 :                         return RealGradient(90.*eta + 81.*xi/4. - 135.*(eta + 1.)*(xi + 1.)/2. + 315.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 333./4. - 105.*(eta + 1.)*(eta + 1.)/2., 0.);
    2850           0 :                       case 35:
    2851           0 :                         return RealGradient(-45.*eta - 81.*xi/4. + 135.*(eta + 1.)*(xi + 1.)/2. - 315.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. - 207./4. + 105.*((eta + 1.)*(eta + 1.))/4., 0.);
    2852           0 :                       case 36:
    2853           0 :                         return RealGradient(0., 0.);
    2854           0 :                       case 37:
    2855           0 :                         return RealGradient(3./2. - 9.*xi/2., 0.);
    2856           0 :                       case 38:
    2857           0 :                         return RealGradient(9.*xi/2. + 3./2., 0.);
    2858           0 :                       case 39:
    2859           0 :                         return RealGradient(0., 0.);
    2860           0 :                       default:
    2861           0 :                         libmesh_error_msg("Invalid i = " << i);
    2862             :                       }
    2863             :                   } // j = 2
    2864             : 
    2865           0 :                 default:
    2866           0 :                   libmesh_error_msg("Invalid j = " << j);
    2867             :                 }
    2868             :             }
    2869             : 
    2870           0 :           case TRI6:
    2871             :           case TRI7:
    2872             :             {
    2873           0 :               switch (j)
    2874             :                 {
    2875             :                   // d^2()/dxi^2
    2876           0 :                 case 0:
    2877             :                   {
    2878           0 :                     switch(ii)
    2879             :                       {
    2880           0 :                       case 0:
    2881           0 :                         return sign * RealGradient(1344.*eta*xi - 1680.*eta - 840.*xi + 480. + 1344.*(eta*eta), -4032.*eta*xi + 1680.*eta + 2520.*xi - 480. - 1344.*eta*eta - 2688.*xi*xi);
    2882           0 :                       case 1:
    2883           0 :                         return sign * RealGradient(-4928.*eta*xi/9. + 5768.*eta/9. + 3080.*xi/9. - 1720./9. - 4480.*eta*eta/9., 4480.*eta*xi/3. - 4256.*eta/9. - 1008.*xi + 1600./9. + 1792.*(eta*eta)/9. + 9856.*(xi*xi)/9.);
    2884           0 :                       case 2:
    2885           0 :                         return sign * RealGradient(4928.*eta*xi/9. - 2240.*eta/9. - 3080.*xi/9. + 1360./9. + 448.*(eta*eta)/9., -448.*eta*xi/3. - 784.*eta/9. + 840.*xi - 1024./9. + 2240.*(eta*eta)/9. - 9856.*xi*xi/9.);
    2886           0 :                       case 3:
    2887           0 :                         return sign * RealGradient(-1344.*eta*xi + 504.*eta + 840.*xi - 360., -2016.*xi + 288. + 2688.*(xi*xi));
    2888           0 :                       case 4:
    2889           0 :                         return sign * RealGradient(168.*eta*(3. - 8.*xi), -2016.*xi + 288. + 2688.*(xi*xi));
    2890           0 :                       case 5:
    2891           0 :                         return sign * RealGradient(896.*eta*(-6.*eta - 4.*xi + 3.)/9., 1792.*eta*xi - 1792.*eta/3. - 2464.*xi/3. + 160. + 896.*(eta*eta)/3. + 7168.*(xi*xi)/9.);
    2892           0 :                       case 6:
    2893           0 :                         return sign * RealGradient(56.*eta*(-48.*eta - 8.*xi + 15.)/9., 896.*eta*xi - 1568.*eta/3. - 560.*xi/3. + 64. + 1792.*(eta*eta)/3. + 896.*(xi*xi)/9.);
    2894           0 :                       case 7:
    2895           0 :                         return sign * RealGradient(0., 0.);
    2896           0 :                       case 8:
    2897           0 :                         return sign * RealGradient(0., 0.);
    2898           0 :                       case 9:
    2899           0 :                         return sign * RealGradient(56.*eta*(-40.*eta + 8.*xi + 7.)/9., 2240.*eta*xi/3. - 952.*eta/3. + 112.*xi/9. + 208./9. - 448.*eta*eta/9. - 896.*xi*xi/9.);
    2900           0 :                       case 10:
    2901           0 :                         return sign * RealGradient(896.*eta*(-2.*eta + 4.*xi - 1.)/9., 1792.*eta*xi/3. - 1568.*eta/3. + 6944.*xi/9. - 1216./9. + 4480.*(eta*eta)/9. - 7168.*xi*xi/9.);
    2902           0 :                       case 11:
    2903           0 :                         return sign * RealGradient(168.*eta*(8.*eta + 8.*xi - 5.), -4032.*eta*xi + 2520.*eta + 3360.*xi - 960. - 1344.*eta*eta - 2688.*xi*xi);
    2904           0 :                       case 12:
    2905           0 :                         return RealGradient(2016.*eta*(-4.*eta - 2.*xi + 3.), 24192.*eta*xi - 12096.*eta - 9072.*xi + 2160. + 12096.*(eta*eta) + 8064.*(xi*xi));
    2906           0 :                       case 13:
    2907           0 :                         return RealGradient(1008.*eta*(12.*eta + 16.*xi - 9.), -36288.*eta*xi + 18144.*eta + 36288.*xi - 8640. - 8064.*eta*eta - 32256.*xi*xi);
    2908           0 :                       case 14:
    2909           0 :                         return RealGradient(1008.*eta*(-8.*eta - 12.*xi + 9.), 24192.*eta*xi - 6048.*eta - 21168.*xi + 3456. + 24192.*(xi*xi));
    2910           0 :                       case 15:
    2911           0 :                         return RealGradient(1008.*eta*(4.*eta + 16.*xi - 7.), -12096.*eta*xi + 3024.*eta + 28224.*xi - 4608. - 32256.*xi*xi);
    2912           0 :                       case 16:
    2913           0 :                         return RealGradient(0., -2016.*eta + 144. + 4032.*(eta*eta));
    2914           0 :                       case 17:
    2915           0 :                         return RealGradient(0., 4032.*eta - 288. - 8064.*eta*eta);
    2916           0 :                       case 18:
    2917           0 :                         return RealGradient(252.*eta*(-24.*eta - 12.*xi + 13.), 18144.*eta*xi - 8064.*eta - 6804.*xi + 1548. + 7056.*(eta*eta) + 6048.*(xi*xi));
    2918           0 :                       case 19:
    2919           0 :                         return RealGradient(252.*eta*(28.*eta + 16.*xi - 13.), -21168.*eta*xi + 9576.*eta + 9324.*xi - 2196. - 6048.*eta*eta - 8064.*xi*xi);
    2920           0 :                       case 20:
    2921           0 :                         return RealGradient(1008.*eta*(1. - xi), 1008.*eta - 1512.*xi + 144. - 2016.*eta*eta + 2016.*(xi*xi));
    2922           0 :                       case 21:
    2923           0 :                         return RealGradient(252.*eta*(-12.*eta + 16.*xi - 3.), 9072.*eta*xi - 5544.*eta + 6804.*xi - 936. + 4032.*(eta*eta) - 8064.*xi*xi);
    2924           0 :                       case 22:
    2925           0 :                         return RealGradient(1008.*eta*(4.*eta + 2.*xi - 3.), -12096.*eta*xi + 4536.*eta + 4536.*xi - 972. - 3024.*eta*eta - 4032.*xi*xi);
    2926           0 :                       case 23:
    2927           0 :                         return RealGradient(2016.*eta*(-eta - 2.*xi + 1.), 6048.*eta*xi - 1512.*eta - 8064.*xi + 1440. + 8064.*(xi*xi));
    2928           0 :                       default:
    2929           0 :                         libmesh_error_msg("Invalid i = " << i);
    2930             :                       }
    2931             :                   } // j = 0
    2932             : 
    2933             :                   // d^2()/dxideta
    2934           0 :                 case 1:
    2935             :                   {
    2936           0 :                     switch(ii)
    2937             :                       {
    2938           0 :                       case 0:
    2939           0 :                         return sign * RealGradient(2688.*eta*xi - 2520.*eta - 1680.*xi + 720. + 2016.*(eta*eta) + 672.*(xi*xi), -2688.*eta*xi + 840.*eta + 1680.*xi - 240. - 672.*eta*eta - 2016.*xi*xi);
    2940           0 :                       case 1:
    2941           0 :                         return sign * RealGradient(-8960.*eta*xi/9. + 1568.*eta/3. + 5768.*xi/9. - 200. - 896.*eta*eta/3. - 2464.*xi*xi/9., 3584.*eta*xi/9. + 896.*eta/9. - 4256.*xi/9. + 176./9. - 1792.*eta*eta/9. + 2240.*(xi*xi)/3.);
    2942           0 :                       case 2:
    2943           0 :                         return sign * RealGradient(896.*eta*xi/9. + 952.*eta/3. - 2240.*xi/9. - 16. - 1120.*eta*eta/3. + 2464.*(xi*xi)/9., 4480.*eta*xi/9. - 392.*eta/9. - 784.*xi/9. + 112./9. - 224.*eta*eta/9. - 224.*xi*xi/3.);
    2944           0 :                       case 3:
    2945           0 :                         return sign * RealGradient(504.*xi - 72. - 672.*xi*xi, 0.);
    2946           0 :                       case 4:
    2947           0 :                         return sign * RealGradient(504.*xi - 72. - 672.*xi*xi, 0.);
    2948           0 :                       case 5:
    2949           0 :                         return sign * RealGradient(-3584.*eta*xi/3. + 1568.*eta/3. + 896.*xi/3. - 80. - 448.*eta*eta - 1792.*xi*xi/9., 1792.*eta*xi/3. - 280.*eta/3. - 1792.*xi/3. + 56. + 224.*(eta*eta)/9. + 896.*(xi*xi));
    2950           0 :                       case 6:
    2951           0 :                         return sign * RealGradient(-1792.*eta*xi/3. + 1792.*eta/3. + 280.*xi/3. - 56. - 896.*eta*eta - 224.*xi*xi/9., 3584.*eta*xi/3. - 896.*eta/3. - 1568.*xi/3. + 80. + 1792.*(eta*eta)/9. + 448.*(xi*xi));
    2952           0 :                       case 7:
    2953           0 :                         return sign * RealGradient(0., -504.*eta + 72. + 672.*(eta*eta));
    2954           0 :                       case 8:
    2955           0 :                         return sign * RealGradient(0., -504.*eta + 72. + 672.*(eta*eta));
    2956           0 :                       case 9:
    2957           0 :                         return sign * RealGradient(-4480.*eta*xi/9. + 784.*eta/9. + 392.*xi/9. - 112./9. + 224.*(eta*eta)/3. + 224.*(xi*xi)/9., -896.*eta*xi/9. + 2240.*eta/9. - 952.*xi/3. + 16. - 2464.*eta*eta/9. + 1120.*(xi*xi)/3.);
    2958           0 :                       case 10:
    2959           0 :                         return sign * RealGradient(-3584.*eta*xi/9. + 4256.*eta/9. - 896.*xi/9. - 176./9. - 2240.*eta*eta/3. + 1792.*(xi*xi)/9., 8960.*eta*xi/9. - 5768.*eta/9. - 1568.*xi/3. + 200. + 2464.*(eta*eta)/9. + 896.*(xi*xi)/3.);
    2960           0 :                       case 11:
    2961           0 :                         return sign * RealGradient(2688.*eta*xi - 1680.*eta - 840.*xi + 240. + 2016.*(eta*eta) + 672.*(xi*xi), -2688.*eta*xi + 1680.*eta + 2520.*xi - 720. - 672.*eta*eta - 2016.*xi*xi);
    2962           0 :                       case 12:
    2963           0 :                         return RealGradient(-16128.*eta*xi + 18144.*eta + 6048.*xi - 3240. - 18144.*eta*eta - 2016.*xi*xi, 24192.*eta*xi - 9072.*eta - 12096.*xi + 2160. + 8064.*(eta*eta) + 12096.*(xi*xi));
    2964           0 :                       case 13:
    2965           0 :                         return RealGradient(24192.*eta*xi - 12096.*eta - 9072.*xi + 2160. + 12096.*(eta*eta) + 8064.*(xi*xi), -16128.*eta*xi + 6048.*eta + 18144.*xi - 3240. - 2016.*eta*eta - 18144.*xi*xi);
    2966           0 :                       case 14:
    2967           0 :                         return RealGradient(-16128.*eta*xi + 4032.*eta + 9072.*xi - 1944. - 6048.*xi*xi, -6048.*xi + 432. + 12096.*(xi*xi));
    2968           0 :                       case 15:
    2969           0 :                         return RealGradient(8064.*eta*xi - 2016.*eta - 7056.*xi + 1152. + 8064.*(xi*xi), 3024.*xi - 216. - 6048.*xi*xi);
    2970           0 :                       case 16:
    2971           0 :                         return RealGradient(3024.*eta - 216. - 6048.*eta*eta, 8064.*eta*xi - 7056.*eta - 2016.*xi + 1152. + 8064.*(eta*eta));
    2972           0 :                       case 17:
    2973           0 :                         return RealGradient(-6048.*eta + 432. + 12096.*(eta*eta), -16128.*eta*xi + 9072.*eta + 4032.*xi - 1944. - 6048.*eta*eta);
    2974           0 :                       case 18:
    2975           0 :                         return RealGradient(-12096.*eta*xi + 9576.*eta + 3276.*xi - 1332. - 10584.*eta*eta - 1512.*xi*xi, 14112.*eta*xi - 3276.*eta - 8064.*xi + 1044. + 2016.*(eta*eta) + 9072.*(xi*xi));
    2976           0 :                       case 19:
    2977           0 :                         return RealGradient(14112.*eta*xi - 8064.*eta - 3276.*xi + 1044. + 9072.*(eta*eta) + 2016.*(xi*xi), -12096.*eta*xi + 3276.*eta + 9576.*xi - 1332. - 1512.*eta*eta - 10584.*xi*xi);
    2978           0 :                       case 20:
    2979           0 :                         return RealGradient(-1512.*eta + 1008.*xi - 216. + 3024.*(eta*eta) - 504.*xi*xi, -4032.*eta*xi + 2016.*eta + 1008.*xi - 360. - 2016.*eta*eta);
    2980           0 :                       case 21:
    2981           0 :                         return RealGradient(-6048.*eta*xi + 4536.*eta - 756.*xi - 216. - 6048.*eta*eta + 2016.*(xi*xi), 8064.*eta*xi - 3024.*eta - 5544.*xi + 1188. + 1008.*(eta*eta) + 4536.*(xi*xi));
    2982           0 :                       case 22:
    2983           0 :                         return RealGradient(8064.*eta*xi - 5544.*eta - 3024.*xi + 1188. + 4536.*(eta*eta) + 1008.*(xi*xi), -6048.*eta*xi - 756.*eta + 4536.*xi - 216. + 2016.*(eta*eta) - 6048.*xi*xi);
    2984           0 :                       case 23:
    2985           0 :                         return RealGradient(-4032.*eta*xi + 1008.*eta + 2016.*xi - 360. - 2016.*xi*xi, 1008.*eta - 1512.*xi - 216. - 504.*eta*eta + 3024.*(xi*xi));
    2986           0 :                       default:
    2987           0 :                         libmesh_error_msg("Invalid i = " << i);
    2988             :                       }
    2989             :                   } // j = 1
    2990             : 
    2991             :                   // d^2()/deta^2
    2992           0 :                 case 2:
    2993             :                   {
    2994           0 :                     switch(ii)
    2995             :                       {
    2996           0 :                       case 0:
    2997           0 :                         return sign * RealGradient(4032.*eta*xi - 3360.*eta - 2520.*xi + 960. + 2688.*(eta*eta) + 1344.*(xi*xi), 168.*xi*(-8.*eta - 8.*xi + 5.));
    2998           0 :                       case 1:
    2999           0 :                         return sign * RealGradient(-1792.*eta*xi/3. - 6944.*eta/9. + 1568.*xi/3. + 1216./9. + 7168.*(eta*eta)/9. - 4480.*xi*xi/9., 896.*xi*(-4.*eta + 2.*xi + 1.)/9.);
    3000           0 :                       case 2:
    3001           0 :                         return sign * RealGradient(-2240.*eta*xi/3. - 112.*eta/9. + 952.*xi/3. - 208./9. + 896.*(eta*eta)/9. + 448.*(xi*xi)/9., 56.*xi*(-8.*eta + 40.*xi - 7.)/9.);
    3002           0 :                       case 3:
    3003           0 :                         return sign * RealGradient(0., 0.);
    3004           0 :                       case 4:
    3005           0 :                         return sign * RealGradient(0., 0.);
    3006           0 :                       case 5:
    3007           0 :                         return sign * RealGradient(-896.*eta*xi + 560.*eta/3. + 1568.*xi/3. - 64. - 896.*eta*eta/9. - 1792.*xi*xi/3., 56.*xi*(8.*eta + 48.*xi - 15.)/9.);
    3008           0 :                       case 6:
    3009           0 :                         return sign * RealGradient(-1792.*eta*xi + 2464.*eta/3. + 1792.*xi/3. - 160. - 7168.*eta*eta/9. - 896.*xi*xi/3., 896.*xi*(4.*eta + 6.*xi - 3.)/9.);
    3010           0 :                       case 7:
    3011           0 :                         return sign * RealGradient(2016.*eta - 288. - 2688.*eta*eta, 168.*xi*(8.*eta - 3.));
    3012           0 :                       case 8:
    3013           0 :                         return sign * RealGradient(2016.*eta - 288. - 2688.*eta*eta, 1344.*eta*xi - 840.*eta - 504.*xi + 360.);
    3014           0 :                       case 9:
    3015           0 :                         return sign * RealGradient(448.*eta*xi/3. - 840.*eta + 784.*xi/9. + 1024./9. + 9856.*(eta*eta)/9. - 2240.*xi*xi/9., -4928.*eta*xi/9. + 3080.*eta/9. + 2240.*xi/9. - 1360./9. - 448.*xi*xi/9.);
    3016           0 :                       case 10:
    3017           0 :                         return sign * RealGradient(-4480.*eta*xi/3. + 1008.*eta + 4256.*xi/9. - 1600./9. - 9856.*eta*eta/9. - 1792.*xi*xi/9., 4928.*eta*xi/9. - 3080.*eta/9. - 5768.*xi/9. + 1720./9. + 4480.*(xi*xi)/9.);
    3018           0 :                       case 11:
    3019           0 :                         return sign * RealGradient(4032.*eta*xi - 2520.*eta - 1680.*xi + 480. + 2688.*(eta*eta) + 1344.*(xi*xi), -1344.*eta*xi + 840.*eta + 1680.*xi - 480. - 1344.*xi*xi);
    3020           0 :                       case 12:
    3021           0 :                         return RealGradient(-36288.*eta*xi + 36288.*eta + 18144.*xi - 8640. - 32256.*eta*eta - 8064.*xi*xi, 1008.*xi*(16.*eta + 12.*xi - 9.));
    3022           0 :                       case 13:
    3023           0 :                         return RealGradient(24192.*eta*xi - 9072.*eta - 12096.*xi + 2160. + 8064.*(eta*eta) + 12096.*(xi*xi), 2016.*xi*(-2.*eta - 4.*xi + 3.));
    3024           0 :                       case 14:
    3025           0 :                         return RealGradient(4032.*xi - 288. - 8064.*xi*xi, 0.);
    3026           0 :                       case 15:
    3027           0 :                         return RealGradient(-2016.*xi + 144. + 4032.*(xi*xi), 0.);
    3028           0 :                       case 16:
    3029           0 :                         return RealGradient(-12096.*eta*xi + 28224.*eta + 3024.*xi - 4608. - 32256.*eta*eta, 1008.*xi*(16.*eta + 4.*xi - 7.));
    3030           0 :                       case 17:
    3031           0 :                         return RealGradient(24192.*eta*xi - 21168.*eta - 6048.*xi + 3456. + 24192.*(eta*eta), 1008.*xi*(-12.*eta - 8.*xi + 9.));
    3032           0 :                       case 18:
    3033           0 :                         return RealGradient(-21168.*eta*xi + 9324.*eta + 9576.*xi - 2196. - 8064.*eta*eta - 6048.*xi*xi, 252.*xi*(16.*eta + 28.*xi - 13.));
    3034           0 :                       case 19:
    3035           0 :                         return RealGradient(18144.*eta*xi - 6804.*eta - 8064.*xi + 1548. + 6048.*(eta*eta) + 7056.*(xi*xi), 252.*xi*(-12.*eta - 24.*xi + 13.));
    3036           0 :                       case 20:
    3037           0 :                         return RealGradient(6048.*eta*xi - 8064.*eta - 1512.*xi + 1440. + 8064.*(eta*eta), 2016.*xi*(-2.*eta - xi + 1.));
    3038           0 :                       case 21:
    3039           0 :                         return RealGradient(-12096.*eta*xi + 4536.*eta + 4536.*xi - 972. - 4032.*eta*eta - 3024.*xi*xi, 1008.*xi*(2.*eta + 4.*xi - 3.));
    3040           0 :                       case 22:
    3041           0 :                         return RealGradient(9072.*eta*xi + 6804.*eta - 5544.*xi - 936. - 8064.*eta*eta + 4032.*(xi*xi), 252.*xi*(16.*eta - 12.*xi - 3.));
    3042           0 :                       case 23:
    3043           0 :                         return RealGradient(-1512.*eta + 1008.*xi + 144. + 2016.*(eta*eta) - 2016.*xi*xi, 1008.*xi*(1. - eta));
    3044           0 :                       default:
    3045           0 :                         libmesh_error_msg("Invalid i = " << i);
    3046             :                       }
    3047             :                   } // j = 2
    3048             : 
    3049           0 :                 default:
    3050           0 :                   libmesh_error_msg("Invalid j = " << j);
    3051             :                 }
    3052             :             }
    3053             : 
    3054           0 :           default:
    3055           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
    3056             :           } // end switch (type)
    3057             :       } // end case FOURTH
    3058             : 
    3059             :       // quintic Nedelec (first kind) shape function second derivatives
    3060           0 :     case FIFTH:
    3061             :       {
    3062           0 :         switch (elem->type())
    3063             :           {
    3064           0 :           case QUAD8:
    3065             :           case QUAD9:
    3066             :             {
    3067           0 :               switch (j)
    3068             :                 {
    3069             :                   // d^2()/dxi^2
    3070           0 :                 case 0:
    3071             :                   {
    3072           0 :                     switch(ii)
    3073             :                       {
    3074           0 :                       case 0:
    3075           0 :                         return sign * RealGradient(-13125.*eta/4. - 525.*xi + 13125.*(eta + 1.)*(xi + 1.)/2. - 23625.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 39375.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. + 91875.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 91875.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 33075.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 14175./4. + 39375.*((eta + 1.)*(eta + 1.))/4. + 70875.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. + 945.*((xi + 1.)*(xi + 1.))/4. - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 165375.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 59535.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. - 91875.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 91875.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 33075.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3076           0 :                       case 1:
    3077           0 :                         return sign * RealGradient(527625.*eta/512. + 40845.*xi/256. - 1021125.*(eta + 1.)*(xi + 1.)/512. + 874125.*(eta + 1.)*((xi + 1.)*(xi + 1.))/1024. + 3063375.*(xi + 1.)*((eta + 1.)*(eta + 1.))/512. - 7147875.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/1024. + 7147875.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/2048. - 2573235.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. + 567105./512. - 1582875.*(eta + 1.)*(eta + 1.)/512. - 2622375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/1024. - 34965.*(xi + 1.)*(xi + 1.)/512. + 6118875.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/2048. - 6118875.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. + 2202795.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/8192. + 3693375.*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 3693375.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/2048. + 1329615.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4096., 0.);
    3078           0 :                       case 2:
    3079           0 :                         return sign * RealGradient(-28875.*eta/32. - 2835.*xi/16. + 70875.*(eta + 1.)*(xi + 1.)/32. - 70875.*(eta + 1.)*(xi + 1.)*(xi + 1.)/64. - 212625.*(xi + 1.)*(eta + 1.)*(eta + 1.)/32. + 496125.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 496125.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. + 178605.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/256. - 32235./32. + 86625.*((eta + 1.)*(eta + 1.))/32. + 212625.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/64. + 2835.*((xi + 1.)*(xi + 1.))/32. - 496125.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. + 496125.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/256. - 178605.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. - 202125.*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 202125.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/128. - 72765.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/256., 0.);
    3080           0 :                       case 3:
    3081           0 :                         return sign * RealGradient(233625.*eta/512. + 29085.*xi/256. - 727125.*(eta + 1.)*(xi + 1.)/512. + 874125.*(eta + 1.)*((xi + 1.)*(xi + 1.))/1024. + 2181375.*(xi + 1.)*((eta + 1.)*(eta + 1.))/512. - 5089875.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/1024. + 5089875.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/2048. - 1832355.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. + 273105./512. - 700875.*(eta + 1.)*(eta + 1.)/512. - 2622375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/1024. - 34965.*(xi + 1.)*(xi + 1.)/512. + 6118875.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/2048. - 6118875.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. + 2202795.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/8192. + 1635375.*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 1635375.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/2048. + 588735.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4096., 0.);
    3082           0 :                       case 4:
    3083           0 :                         return sign * RealGradient(-7875.*eta/4. - 420.*xi + 5250.*(eta + 1.)*(xi + 1.) - 23625.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 15750.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 18375.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 18375.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 6615.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 8925./4. + 23625.*((eta + 1.)*(eta + 1.))/4. + 70875.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. + 945.*((xi + 1.)*(xi + 1.))/4. - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 165375.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 59535.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. - 55125.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 55125.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 19845.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3084           0 :                       case 5:
    3085           0 :                         return sign * RealGradient(0., 2250.*eta + 7875.*xi/4. - 23625.*(eta + 1.)*(xi + 1.)/2. + 15750.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 23625.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 165375.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. - 55125.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 99225.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 15375./4. - 7875.*(eta + 1.)*(eta + 1.)/2. - 55125.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 2625.*(xi + 1.)*(xi + 1.) + 18375.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 33075.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 2625.*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 55125.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 7875.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. + 99225.*((xi + 1.)*(xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 4725.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8.);
    3086           0 :                       case 6:
    3087           0 :                         return sign * RealGradient(0., -42975.*eta/64. - 152775.*xi/512. + 902475.*(eta + 1.)*(xi + 1.)/256. - 300825.*(eta + 1.)*(xi + 1.)*(xi + 1.)/64. + 902475.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 6648075.*(xi + 1.)*(eta + 1.)*(eta + 1.)/1024. + 4288725.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 3671325.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. - 467475./512. + 316575.*((eta + 1.)*(eta + 1.))/256. + 2216025.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/256. - 6648075.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 50925.*((xi + 1.)*(xi + 1.))/128. - 1429575.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/256. + 1223775.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 204225.*(eta + 1.)*(eta + 1.)*(eta + 1.)/256. + 4288725.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/2048. - 152775.*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. - 3671325.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8192. + 174825.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/1024.);
    3088           0 :                       case 7:
    3089           0 :                         return sign * RealGradient(0., 1575.*eta/4. + 4725.*xi/32. - 33075.*(eta + 1.)*(xi + 1.)/16. + 11025.*(eta + 1.)*((xi + 1.)*(xi + 1.))/4. - 33075.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 363825.*(xi + 1.)*((eta + 1.)*(eta + 1.))/64. - 297675.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 297675.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/256. + 16425./32. - 17325.*(eta + 1.)*(eta + 1.)/16. - 121275.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/16. + 363825.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/128. - 1575.*(xi + 1.)*(xi + 1.)/8. + 99225.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 99225.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 14175.*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 297675.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/128. + 4725.*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. + 297675.*((xi + 1.)*(xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/512. - 14175.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64.);
    3090           0 :                       case 8:
    3091           0 :                         return sign * RealGradient(0., -10575.*eta/64. - 26775.*xi/512. + 222075.*(eta + 1.)*(xi + 1.)/256. - 74025.*(eta + 1.)*(xi + 1.)*(xi + 1.)/64. + 222075.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 2943675.*(xi + 1.)*(eta + 1.)*(eta + 1.)/1024. + 3053925.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 3671325.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. - 106275./512. + 140175.*((eta + 1.)*(eta + 1.))/256. + 981225.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/256. - 2943675.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 8925.*((xi + 1.)*(xi + 1.))/128. - 1017975.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/256. + 1223775.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 145425.*(eta + 1.)*(eta + 1.)*(eta + 1.)/256. + 3053925.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/2048. - 26775.*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. - 3671325.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8192. + 174825.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/1024.);
    3092           0 :                       case 9:
    3093           0 :                         return sign * RealGradient(0., 900.*eta + 1575.*xi/4. - 4725.*(eta + 1.)*(xi + 1.) + 6300.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 4725.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 99225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. - 11025.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 99225.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 4875./4. - 4725.*(eta + 1.)*(eta + 1.)/2. - 33075.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 99225.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 525.*(xi + 1.)*(xi + 1.) + 14700.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 33075.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 2100.*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 11025.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. + 99225.*((xi + 1.)*(xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 4725.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8.);
    3094           0 :                       case 10:
    3095           0 :                         return sign * RealGradient(-1575.*eta/4. + 1050.*(eta + 1.)*(xi + 1.) - 4725.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 6300.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 11025.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 7350.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 6615.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 1575./4. + 4725.*((eta + 1.)*(eta + 1.))/2. + 14175.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/4. - 99225.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 33075.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/8. - 59535.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. - 33075.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 11025.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 19845.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3096           0 :                       case 11:
    3097           0 :                         return sign * RealGradient(46725.*eta/512. - 145425.*(eta + 1.)*(xi + 1.)/512. + 174825.*(eta + 1.)*((xi + 1.)*(xi + 1.))/1024. + 436275.*(xi + 1.)*((eta + 1.)*(eta + 1.))/256. - 3053925.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/1024. + 1017975.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/512. - 1832355.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. + 46725./512. - 140175.*(eta + 1.)*(eta + 1.)/256. - 524475.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/512. + 3671325.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/2048. - 1223775.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/1024. + 2202795.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/8192. + 981225.*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 327075.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. + 588735.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4096., 0.);
    3098           0 :                       case 12:
    3099           0 :                         return sign * RealGradient(-5775.*eta/32. + 14175.*(eta + 1.)*(xi + 1.)/32. - 14175.*(eta + 1.)*(xi + 1.)*(xi + 1.)/64. - 42525.*(xi + 1.)*(eta + 1.)*(eta + 1.)/16. + 297675.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 99225.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. + 178605.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/256. - 5775./32. + 17325.*((eta + 1.)*(eta + 1.))/16. + 42525.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/32. - 297675.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. + 99225.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 178605.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. - 121275.*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 40425.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 72765.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/256., 0.);
    3100           0 :                       case 13:
    3101           0 :                         return sign * RealGradient(105525.*eta/512. - 204225.*(eta + 1.)*(xi + 1.)/512. + 174825.*(eta + 1.)*((xi + 1.)*(xi + 1.))/1024. + 612675.*(xi + 1.)*((eta + 1.)*(eta + 1.))/256. - 4288725.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/1024. + 1429575.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/512. - 2573235.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. + 105525./512. - 316575.*(eta + 1.)*(eta + 1.)/256. - 524475.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/512. + 3671325.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/2048. - 1223775.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/1024. + 2202795.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/8192. + 2216025.*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 738675.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. + 1329615.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4096., 0.);
    3102           0 :                       case 14:
    3103           0 :                         return sign * RealGradient(-2625.*eta/4. + 2625.*(eta + 1.)*(xi + 1.)/2. - 4725.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 7875.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 55125.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 18375.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 33075.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 2625./4. + 7875.*((eta + 1.)*(eta + 1.))/2. + 14175.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/4. - 99225.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 33075.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/8. - 59535.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. - 55125.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 18375.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 33075.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3104           0 :                       case 15:
    3105           0 :                         return sign * RealGradient(0., 2250.*eta + 2625.*xi/4. - 7875.*(eta + 1.)*(xi + 1.) + 7875.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 4725.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 165375.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. - 18375.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 165375.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 10875./4. - 23625.*(eta + 1.)*(eta + 1.)/4. - 165375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 99225.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 2625.*(xi + 1.)*(xi + 1.)/4. + 18375.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. + 5250.*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 11025.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. + 99225.*((xi + 1.)*(xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 23625.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16.);
    3106           0 :                       case 16:
    3107           0 :                         return sign * RealGradient(0., -52875.*eta/128. - 44625.*xi/512. + 370125.*(eta + 1.)*(xi + 1.)/256. - 370125.*(eta + 1.)*(xi + 1.)*(xi + 1.)/256. + 222075.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 4906125.*(xi + 1.)*(eta + 1.)*(eta + 1.)/1024. + 5089875.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 6118875.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. - 243375./512. + 700875.*((eta + 1.)*(eta + 1.))/512. + 4906125.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/1024. - 2943675.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 44625.*((xi + 1.)*(xi + 1.))/512. - 5089875.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/1024. + 6118875.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4096. - 727125.*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. + 3053925.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/2048. - 26775.*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. - 3671325.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8192. + 874125.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/2048.);
    3108           0 :                       case 17:
    3109           0 :                         return sign * RealGradient(0., 7875.*eta/8. + 7875.*xi/32. - 55125.*(eta + 1.)*(xi + 1.)/16. + 55125.*(eta + 1.)*((xi + 1.)*(xi + 1.))/16. - 33075.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 606375.*(xi + 1.)*((eta + 1.)*(eta + 1.))/64. - 496125.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 496125.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/256. + 37125./32. - 86625.*(eta + 1.)*(eta + 1.)/32. - 606375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/64. + 363825.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/128. - 7875.*(xi + 1.)*(xi + 1.)/32. + 496125.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 496125.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/256. + 70875.*((eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 297675.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/128. + 4725.*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. + 297675.*((xi + 1.)*(xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/512. - 70875.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128.);
    3110           0 :                       case 18:
    3111           0 :                         return sign * RealGradient(0., -214875.*eta/128. - 254625.*xi/512. + 1504125.*(eta + 1.)*(xi + 1.)/256. - 1504125.*(eta + 1.)*(xi + 1.)*(xi + 1.)/256. + 902475.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 11080125.*(xi + 1.)*(eta + 1.)*(eta + 1.)/1024. + 7147875.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 6118875.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4096. - 1041375./512. + 1582875.*((eta + 1.)*(eta + 1.))/512. + 11080125.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/1024. - 6648075.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 254625.*((xi + 1.)*(xi + 1.))/512. - 7147875.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/1024. + 6118875.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4096. - 1021125.*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. + 4288725.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/2048. - 152775.*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. - 3671325.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8192. + 874125.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/2048.);
    3112           0 :                       case 19:
    3113           0 :                         return sign * RealGradient(0., 5625.*eta + 13125.*xi/4. - 39375.*(eta + 1.)*(xi + 1.)/2. + 39375.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 23625.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 275625.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. - 91875.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 165375.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 31875./4. - 39375.*(eta + 1.)*(eta + 1.)/4. - 275625.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 13125.*(xi + 1.)*(xi + 1.)/4. + 91875.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. + 13125.*((eta + 1.)*(eta + 1.)*(eta + 1.))/2. - 55125.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 7875.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. + 99225.*((xi + 1.)*(xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 23625.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16.);
    3114           0 :                       case 20:
    3115           0 :                         return RealGradient(0., 10575.*eta/2. + 51825.*xi/16. - 155475.*(eta + 1.)*(xi + 1.)/8. + 39375.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 23625.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 1088325.*(xi + 1.)*((eta + 1.)*(eta + 1.))/32. - 362775.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 652995.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/128. + 122325./16. - 74025.*(eta + 1.)*(eta + 1.)/8. - 275625.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 13125.*(xi + 1.)*(xi + 1.)/4. + 91875.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. + 24675.*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 55125.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 7875.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. + 99225.*((xi + 1.)*(xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 44415.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32.);
    3116           0 :                       case 21:
    3117           0 :                         return RealGradient(0., -8325.*eta/4. - 30825.*xi/16. + 92475.*(eta + 1.)*(xi + 1.)/8. - 15750.*(eta + 1.)*(xi + 1.)*(xi + 1.) + 23625.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 647325.*(xi + 1.)*(eta + 1.)*(eta + 1.)/32. + 215775.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 388395.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. - 58575./16. + 58275.*((eta + 1.)*(eta + 1.))/16. + 55125.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 165375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 2625.*((xi + 1.)*(xi + 1.)) - 18375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 33075.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/8. - 19425.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 55125.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 7875.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. - 99225.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 34965.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64.);
    3118           0 :                       case 22:
    3119           0 :                         return RealGradient(0., 3375.*eta/4. + 2025.*xi/16. - 6075.*(eta + 1.)*(xi + 1.)/8. + 42525.*(xi + 1.)*((eta + 1.)*(eta + 1.))/32. - 14175.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 25515.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/128. + 13275./16. - 23625.*(eta + 1.)*(eta + 1.)/16. + 7875.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8. - 14175.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64.);
    3120           0 :                       case 23:
    3121           0 :                         return RealGradient(0., -675.*eta - 2025.*xi/16. + 6075.*(eta + 1.)*(xi + 1.)/8. - 42525.*(xi + 1.)*(eta + 1.)*(eta + 1.)/32. + 14175.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 25515.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. - 11025./16. + 4725.*((eta + 1.)*(eta + 1.))/4. - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16.);
    3122           0 :                       case 24:
    3123           0 :                         return RealGradient(-20475.*eta/8. + 20475.*(eta + 1.)*(xi + 1.)/4. - 36855.*(eta + 1.)*(xi + 1.)*(xi + 1.)/16. - 74025.*(xi + 1.)*(eta + 1.)*(eta + 1.)/4. + 362775.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 91875.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 33075.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 20475./8. + 74025.*((eta + 1.)*(eta + 1.))/8. + 133245.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/16. - 652995.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 165375.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 59535.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. - 362775.*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. + 91875.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 33075.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3124           0 :                       case 25:
    3125           0 :                         return RealGradient(525.*eta - 1050.*(eta + 1.)*(xi + 1.) + 945.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. + 58275.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. - 215775.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 18375.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/2. - 33075.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 525. - 58275.*(eta + 1.)*(eta + 1.)/16. - 104895.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 388395.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 33075.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 59535.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. + 215775.*((eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 18375.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 33075.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32., 0.);
    3126           0 :                       case 26:
    3127           0 :                         return RealGradient(-4725.*eta/4. + 4725.*(eta + 1.)*(xi + 1.)/2. - 8505.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 23625.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. + 14175.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 4725./4. + 23625.*((eta + 1.)*(eta + 1.))/16. + 42525.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/32. - 25515.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. - 14175.*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3128           0 :                       case 27:
    3129           0 :                         return RealGradient(4725.*eta/8. - 4725.*(eta + 1.)*(xi + 1.)/4. + 8505.*(eta + 1.)*((xi + 1.)*(xi + 1.))/16. + 4725.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. - 14175.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 4725./8. - 4725.*(eta + 1.)*(eta + 1.)/4. - 8505.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 25515.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/64. + 14175.*((eta + 1.)*(eta + 1.)*(eta + 1.))/32., 0.);
    3130           0 :                       case 28:
    3131           0 :                         return RealGradient(-12285.*eta/8. + 4095.*(eta + 1.)*(xi + 1.) - 36855.*(eta + 1.)*(xi + 1.)*(xi + 1.)/16. - 14805.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 72555.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 18375.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 6615.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 12285./8. + 44415.*((eta + 1.)*(eta + 1.))/8. + 133245.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/16. - 652995.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 165375.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 59535.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. - 217665.*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. + 55125.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 19845.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3132           0 :                       case 29:
    3133           0 :                         return RealGradient(315.*eta - 840.*(eta + 1.)*(xi + 1.) + 945.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. + 11655.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. - 43155.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 7350.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)) - 6615.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 315. - 34965.*(eta + 1.)*(eta + 1.)/16. - 104895.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 388395.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 33075.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 59535.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. + 129465.*((eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 11025.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 19845.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32., 0.);
    3134           0 :                       case 30:
    3135           0 :                         return RealGradient(-2835.*eta/4. + 1890.*(eta + 1.)*(xi + 1.) - 8505.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 4725.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. + 2835.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 2835./4. + 14175.*((eta + 1.)*(eta + 1.))/16. + 42525.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/32. - 25515.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. - 8505.*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3136           0 :                       case 31:
    3137           0 :                         return RealGradient(2835.*eta/8. - 945.*(eta + 1.)*(xi + 1.) + 8505.*(eta + 1.)*((xi + 1.)*(xi + 1.))/16. + 1890.*(xi + 1.)*((eta + 1.)*(eta + 1.)) - 2835.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 2835./8. - 2835.*(eta + 1.)*(eta + 1.)/4. - 8505.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 25515.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/64. + 8505.*((eta + 1.)*(eta + 1.)*(eta + 1.))/32., 0.);
    3138           0 :                       case 32:
    3139           0 :                         return RealGradient(0., 2115.*eta + 10365.*xi/16. - 31095.*(eta + 1.)*(xi + 1.)/4. + 7875.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 4725.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 652995.*(xi + 1.)*((eta + 1.)*(eta + 1.))/32. - 72555.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 652995.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/128. + 41385./16. - 44415.*(eta + 1.)*(eta + 1.)/8. - 165375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 99225.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 2625.*(xi + 1.)*(xi + 1.)/4. + 18375.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. + 4935.*((eta + 1.)*(eta + 1.)*(eta + 1.)) - 11025.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. + 99225.*((xi + 1.)*(xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64. - 44415.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32.);
    3140           0 :                       case 33:
    3141           0 :                         return RealGradient(0., -1665.*eta/2. - 6165.*xi/16. + 18495.*(eta + 1.)*(xi + 1.)/4. - 6300.*(eta + 1.)*(xi + 1.)*(xi + 1.) + 4725.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 388395.*(xi + 1.)*(eta + 1.)*(eta + 1.)/32. + 43155.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 388395.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. - 18375./16. + 34965.*((eta + 1.)*(eta + 1.))/16. + 33075.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 99225.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 525.*((xi + 1.)*(xi + 1.)) - 14700.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.) + 33075.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/8. - 3885.*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 11025.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. - 99225.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 34965.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64.);
    3142           0 :                       case 34:
    3143           0 :                         return RealGradient(0., 675.*eta/2. + 405.*xi/16. - 1215.*(eta + 1.)*(xi + 1.)/4. + 25515.*(xi + 1.)*((eta + 1.)*(eta + 1.))/32. - 2835.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 25515.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/128. + 5355./16. - 14175.*(eta + 1.)*(eta + 1.)/16. + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.))/2. - 14175.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64.);
    3144           0 :                       case 35:
    3145           0 :                         return RealGradient(0., -270.*eta - 405.*xi/16. + 1215.*(eta + 1.)*(xi + 1.)/4. - 25515.*(xi + 1.)*(eta + 1.)*(eta + 1.)/32. + 2835.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 25515.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. - 4365./16. + 2835.*((eta + 1.)*(eta + 1.))/4. - 630.*(eta + 1.)*(eta + 1.)*(eta + 1.) + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/16.);
    3146           0 :                       case 36:
    3147           0 :                         return RealGradient(60.*eta + 60. - 495.*(eta + 1.)*(eta + 1.)/2. + 1275.*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 2625.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32., 0.);
    3148           0 :                       case 37:
    3149           0 :                         return RealGradient(60.*eta + 60. - 495.*(eta + 1.)*(eta + 1.)/2. + 1275.*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 2625.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32., 0.);
    3150           0 :                       case 38:
    3151           0 :                         return RealGradient(-30.*eta - 30. + 495.*((eta + 1.)*(eta + 1.))/4. - 1275.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 2625.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/64., 0.);
    3152           0 :                       case 39:
    3153           0 :                         return RealGradient(0., 594.*eta + 2295.*xi/2. - 2295.*(eta + 1.)*(xi + 1.) + 4725.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 2835.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 3825.*(xi + 1.)*((eta + 1.)*(eta + 1.))/4. + 2889./2. - 495.*(eta + 1.)*(eta + 1.)/2. - 7875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 4725.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 4725.*(xi + 1.)*(xi + 1.)/4. + 2835.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    3154           0 :                       case 40:
    3155           0 :                         return RealGradient(0., 396.*eta + 765.*xi/2. - 1530.*(eta + 1.)*(xi + 1.) + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 945.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 3825.*(xi + 1.)*((eta + 1.)*(eta + 1.))/4. + 1359./2. - 495.*(eta + 1.)*(eta + 1.)/2. - 7875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 4725.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 1575.*(xi + 1.)*(xi + 1.)/4. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    3156           0 :                       case 41:
    3157           0 :                         return RealGradient(0., -495.*eta/2. - 765.*xi/4. + 3825.*(eta + 1.)*(xi + 1.)/4. - 7875.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 4725.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 3825.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. - 1557./4. + 495.*((eta + 1.)*(eta + 1.))/4. + 7875.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/16. - 4725.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 1575.*((xi + 1.)*(xi + 1.))/8. - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)/16.);
    3158           0 :                       case 42:
    3159           0 :                         return RealGradient(0., -216.*eta - 675.*xi + 1350.*(eta + 1.)*(xi + 1.) - 1890.*(eta + 1.)*(xi + 1.)*(xi + 1.) + 2835.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 1125.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. - 783. + 90.*((eta + 1.)*(eta + 1.)) + 1575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 4725.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 945.*((xi + 1.)*(xi + 1.)) - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8.);
    3160           0 :                       case 43:
    3161           0 :                         return RealGradient(0., -144.*eta - 225.*xi + 900.*(eta + 1.)*(xi + 1.) - 1260.*(eta + 1.)*(xi + 1.)*(xi + 1.) + 945.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 1125.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. - 333. + 90.*((eta + 1.)*(eta + 1.)) + 1575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 4725.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 315.*((xi + 1.)*(xi + 1.)) - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8.);
    3162           0 :                       case 44:
    3163           0 :                         return RealGradient(0., 90.*eta + 225.*xi/2. - 1125.*(eta + 1.)*(xi + 1.)/2. + 1575.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 4725.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 1125.*(xi + 1.)*((eta + 1.)*(eta + 1.))/4. + 369./2. - 45.*(eta + 1.)*(eta + 1.) - 1575.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. + 4725.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/32. - 315.*(xi + 1.)*(xi + 1.)/2. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.))/16.);
    3164           0 :                       case 45:
    3165           0 :                         return RealGradient(-15.*eta/2. - 15./2. + 90.*((eta + 1.)*(eta + 1.)) - 375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3166           0 :                       case 46:
    3167           0 :                         return RealGradient(-15.*eta/2. - 15./2. + 90.*((eta + 1.)*(eta + 1.)) - 375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 525.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32., 0.);
    3168           0 :                       case 47:
    3169           0 :                         return RealGradient(15.*eta/4. + 15./4. - 45.*(eta + 1.)*(eta + 1.) + 375.*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 525.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.))/64., 0.);
    3170           0 :                       case 48:
    3171           0 :                         return RealGradient(0., 81.*eta + 135.*xi/4. - 135.*(eta + 1.)*(xi + 1.)/2. + 225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 297./4. - 135.*(eta + 1.)*(eta + 1.)/4.);
    3172           0 :                       case 49:
    3173           0 :                         return RealGradient(0., -54.*eta - 135.*xi/4. + 135.*(eta + 1.)*(xi + 1.)/2. - 225.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. - 243./4. + 45.*((eta + 1.)*(eta + 1.))/2.);
    3174           0 :                       case 50:
    3175           0 :                         return RealGradient(-30.*eta - 30. + 135.*((eta + 1.)*(eta + 1.))/4. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    3176           0 :                       case 51:
    3177           0 :                         return RealGradient(15.*eta/2. + 15./2. - 45.*(eta + 1.)*(eta + 1.)/2. + 75.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8., 0.);
    3178           0 :                       case 52:
    3179           0 :                         return RealGradient(-30.*eta - 30. + 135.*((eta + 1.)*(eta + 1.))/4. - 75.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    3180           0 :                       case 53:
    3181           0 :                         return RealGradient(15.*eta/2. + 15./2. - 45.*(eta + 1.)*(eta + 1.)/2. + 75.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8., 0.);
    3182           0 :                       case 54:
    3183           0 :                         return RealGradient(0., 54.*eta + 45.*xi/4. - 45.*(eta + 1.)*(xi + 1.) + 225.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 207./4. - 135.*(eta + 1.)*(eta + 1.)/4.);
    3184           0 :                       case 55:
    3185           0 :                         return RealGradient(0., -36.*eta - 45.*xi/4. + 45.*(eta + 1.)*(xi + 1.) - 225.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. - 153./4. + 45.*((eta + 1.)*(eta + 1.))/2.);
    3186           0 :                       case 56:
    3187           0 :                         return RealGradient(0., 0.);
    3188           0 :                       case 57:
    3189           0 :                         return RealGradient(0., 15.*xi/4. - 3./4.);
    3190           0 :                       case 58:
    3191           0 :                         return RealGradient(0., -15.*xi/4. - 3./4.);
    3192           0 :                       case 59:
    3193           0 :                         return RealGradient(0., 0.);
    3194           0 :                       default:
    3195           0 :                         libmesh_error_msg("Invalid i = " << i);
    3196             :                       }
    3197             :                   } // j = 0
    3198             : 
    3199             :                   // d^2()/dxideta
    3200           0 :                 case 1:
    3201             :                   {
    3202           0 :                     switch(ii)
    3203             :                       {
    3204           0 :                       case 0:
    3205           0 :                         return sign * RealGradient(-5625.*eta - 13125.*xi/4. + 78750.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 157500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 94500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 275625.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 367500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 165375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 31875./4. + 39375.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 551250.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 330750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 13125.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 735000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 330750.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 52500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 441000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 7875.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 198450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 23625.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    3206           0 :                       case 1:
    3207           0 :                         return sign * RealGradient(214875.*eta/128. + 527625.*xi/512. - 1582875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. + 3063375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 874125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 11080125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/128. - 3693375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 6648075.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. + 1243875./512. - 1504125.*(eta + 1.)*(eta + 1.)/(2.*2.)/128. - 21443625.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 6118875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 1021125.*(xi + 1.)*(xi + 1.)/(2.*2.)/256. + 7147875.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/32. - 12866175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. + 501375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/32. - 2039625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. + 291375.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/128. + 3671325.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 902475.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128., 0.);
    3208           0 :                       case 2:
    3209           0 :                         return sign * RealGradient(-7875.*eta/8. - 28875.*xi/32. + 86625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/4. - 212625.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 70875.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 606375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/8. + 202125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 363825.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/8. - 55125./32. + 55125.*((eta + 1.)*(eta + 1.)/(2.*2.))/8. + 1488375.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 496125.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 70875.*((xi + 1.)*(xi + 1.)/(2.*2.))/16. - 496125.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 893025.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 18375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 165375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 23625.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/8. - 297675.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 33075.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8., 0.);
    3210           0 :                       case 3:
    3211           0 :                         return sign * RealGradient(52875.*eta/128. + 233625.*xi/512. - 700875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. + 2181375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/64. - 874125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 4906125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/128. - 1635375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/32. + 2943675.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. + 409875./512. - 370125.*(eta + 1.)*(eta + 1.)/(2.*2.)/128. - 15269625.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 6118875.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 727125.*(xi + 1.)*(xi + 1.)/(2.*2.)/256. + 5089875.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/32. - 9161775.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. + 123375.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/32. - 2039625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. + 291375.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/128. + 3671325.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 222075.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128., 0.);
    3212           0 :                       case 4:
    3213           0 :                         return sign * RealGradient(-2250.*eta - 7875.*xi/4. + 47250.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 126000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 94500.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 165375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 220500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 99225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 15375./4. + 15750.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 441000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 330750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 10500.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 588000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 264600.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 21000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 441000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 7875.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 198450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 9450.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    3214           0 :                       case 5:
    3215           0 :                         return sign * RealGradient(0., 2625.*eta/4. + 2250.*xi - 31500.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 165375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 294000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 165375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 63000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 37800.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 10875./4. - 2625.*(eta + 1.)*(eta + 1.)/(2.*2.) - 330750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 588000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 330750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 23625.*(xi + 1.)*(xi + 1.)/(2.*2.) + 198450.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 352800.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 198450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 42000.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 23625.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    3216           0 :                       case 6:
    3217           0 :                         return sign * RealGradient(0., -105525.*eta/512. - 42975.*xi/64. + 316575.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/32. - 6648075.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 738675.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/8. - 6648075.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 612675.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/32. + 174825.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/16. - 420675./512. + 204225.*((eta + 1.)*(eta + 1.)/(2.*2.))/256. + 12866175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 1429575.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/8. + 12866175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 902475.*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 3671325.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. - 58275.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/128. + 407925.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 3671325.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 100275.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/8. + 902475.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128.);
    3218           0 :                       case 7:
    3219           0 :                         return sign * RealGradient(0., 5775.*eta/32. + 1575.*xi/4. - 17325.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 363825.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 80850.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 363825.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. + 42525.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 17325./32. - 14175.*(eta + 1.)*(eta + 1.)/(2.*2.)/16. - 893025.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 198450.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 893025.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 33075.*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 297675.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. + 4725.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/8. - 132300.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 297675.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 7350.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 33075.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8.);
    3220           0 :                       case 8:
    3221           0 :                         return sign * RealGradient(0., -46725.*eta/512. - 10575.*xi/64. + 140175.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/32. - 2943675.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 327075.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/8. - 2943675.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 436275.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/32. + 174825.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/16. - 124275./512. + 145425.*((eta + 1.)*(eta + 1.)/(2.*2.))/256. + 9161775.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 1017975.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/8. + 9161775.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 222075.*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 3671325.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. - 58275.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/128. + 407925.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/4. - 3671325.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 24675.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/8. + 222075.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128.);
    3222           0 :                       case 9:
    3223           0 :                         return sign * RealGradient(0., 1575.*eta/4. + 900.*xi - 18900.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 99225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 176400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 99225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 50400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 37800.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4875./4. - 2100.*(eta + 1.)*(eta + 1.)/(2.*2.) - 264600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 470400.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 264600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 9450.*(xi + 1.)*(xi + 1.)/(2.*2.) + 198450.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 352800.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 198450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 16800.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 9450.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    3224           0 :                       case 10:
    3225           0 :                         return sign * RealGradient(-900.*eta - 1575.*xi/4. + 18900.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 50400.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 37800.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 99225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 176400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 99225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 4875./4. + 9450.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 264600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 198450.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2100.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 470400.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 264600.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 16800.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 352800.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 198450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 9450.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    3226           0 :                       case 11:
    3227           0 :                         return sign * RealGradient(10575.*eta/64. + 46725.*xi/512. - 140175.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/32. + 436275.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/32. - 174825.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. + 2943675.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/128. - 327075.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/8. + 2943675.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. + 124275./512. - 222075.*(eta + 1.)*(eta + 1.)/(2.*2.)/128. - 9161775.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 3671325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 145425.*(xi + 1.)*(xi + 1.)/(2.*2.)/256. + 1017975.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/8. - 9161775.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. + 24675.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/8. - 407925.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 58275.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/128. + 3671325.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 222075.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128., 0.);
    3228           0 :                       case 12:
    3229           0 :                         return sign * RealGradient(-1575.*eta/4. - 5775.*xi/32. + 17325.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 42525.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 363825.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/8. + 80850.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 363825.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/8. - 17325./32. + 33075.*((eta + 1.)*(eta + 1.)/(2.*2.))/8. + 893025.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 297675.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 14175.*((xi + 1.)*(xi + 1.)/(2.*2.))/16. - 198450.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 893025.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8. - 7350.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 132300.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/8. - 297675.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4. + 33075.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/8., 0.);
    3230           0 :                       case 13:
    3231           0 :                         return sign * RealGradient(42975.*eta/64. + 105525.*xi/512. - 316575.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/32. + 612675.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/32. - 174825.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/16. + 6648075.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/128. - 738675.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/8. + 6648075.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/128. + 420675./512. - 902475.*(eta + 1.)*(eta + 1.)/(2.*2.)/128. - 12866175.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 3671325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/64. - 204225.*(xi + 1.)*(xi + 1.)/(2.*2.)/256. + 1429575.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/8. - 12866175.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128. + 100275.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/8. - 407925.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/4. + 58275.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/128. + 3671325.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/64. - 902475.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/128., 0.);
    3232           0 :                       case 14:
    3233           0 :                         return sign * RealGradient(-2250.*eta - 2625.*xi/4. + 31500.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 63000.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 37800.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 165375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 294000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 165375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 10875./4. + 23625.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 330750.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 198450.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2625.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 588000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 330750.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 42000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 352800.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) - 198450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 23625.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    3234           0 :                       case 15:
    3235           0 :                         return sign * RealGradient(0., 7875.*eta/4. + 2250.*xi - 47250.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 165375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 220500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 99225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 126000.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 94500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 15375./4. - 10500.*(eta + 1.)*(eta + 1.)/(2.*2.) - 441000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 588000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 264600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 15750.*(xi + 1.)*(xi + 1.)/(2.*2.) + 330750.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 7875.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 441000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 198450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 21000.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 9450.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    3236           0 :                       case 16:
    3237           0 :                         return sign * RealGradient(0., -233625.*eta/512. - 52875.*xi/128. + 700875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. - 4906125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 1635375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 2943675.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 2181375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/64. + 874125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/32. - 409875./512. + 727125.*((eta + 1.)*(eta + 1.)/(2.*2.))/256. + 15269625.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 5089875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 9161775.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 370125.*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 6118875.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. - 291375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/128. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. - 3671325.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 123375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 222075.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128.);
    3238           0 :                       case 17:
    3239           0 :                         return sign * RealGradient(0., 28875.*eta/32. + 7875.*xi/8. - 86625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/4. + 606375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/8. - 202125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 363825.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/8. + 212625.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/4. - 70875.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. + 55125./32. - 70875.*(eta + 1.)*(eta + 1.)/(2.*2.)/16. - 1488375.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 496125.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 893025.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8. - 55125.*(xi + 1.)*(xi + 1.)/(2.*2.)/8. + 496125.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/4. + 23625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/8. - 165375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 297675.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4. + 18375.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 33075.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/8.);
    3240           0 :                       case 18:
    3241           0 :                         return sign * RealGradient(0., -527625.*eta/512. - 214875.*xi/128. + 1582875.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/64. - 11080125.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/128. + 3693375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/32. - 6648075.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/128. - 3063375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/64. + 874125.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/32. - 1243875./512. + 1021125.*((eta + 1.)*(eta + 1.)/(2.*2.))/256. + 21443625.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 7147875.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 12866175.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128. + 1504125.*((xi + 1.)*(xi + 1.)/(2.*2.))/128. - 6118875.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/64. - 291375.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/128. + 2039625.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/16. - 3671325.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/64. - 501375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/32. + 902475.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/128.);
    3242           0 :                       case 19:
    3243           0 :                         return sign * RealGradient(0., 13125.*eta/4. + 5625.*xi - 78750.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 275625.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 367500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 165375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 157500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 94500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 31875./4. - 13125.*(eta + 1.)*(eta + 1.)/(2.*2.) - 551250.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 735000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 330750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 39375.*(xi + 1.)*(xi + 1.)/(2.*2.) + 330750.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) + 7875.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 441000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 198450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 52500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 23625.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    3244           0 :                       case 20:
    3245           0 :                         return RealGradient(0., 20475.*eta/8. + 10575.*xi/2. - 74025.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 1088325.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 367500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 165375.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 148050.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 88830.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 56925./8. - 20475.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 1088325.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 735000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 330750.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 155475.*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 652995.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. + 12285.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 441000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 198450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 52500.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 23625.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    3246           0 :                       case 21:
    3247           0 :                         return RealGradient(0., -525.*eta - 8325.*xi/4. + 58275.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 647325.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 294000.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 165375.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 58275.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 34965.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 9825./4. + 2100.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 647325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 588000.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 330750.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 92475.*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 388395.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. - 1260.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 352800.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 198450.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 42000.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 23625.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
    3248           0 :                       case 22:
    3249           0 :                         return RealGradient(0., 4725.*eta/4. + 3375.*xi/4. - 23625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 42525.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/4. + 23625.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3375./2. - 4725.*(eta + 1.)*(eta + 1.)/(2.*2.) - 42525.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. - 6075.*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 25515.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)));
    3250           0 :                       case 23:
    3251           0 :                         return RealGradient(0., -4725.*eta/8. - 675.*xi + 9450.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 42525.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. - 18900.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 11340.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 8775./8. + 4725.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 42525.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. + 6075.*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 25515.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. - 2835.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2.);
    3252           0 :                       case 24:
    3253           0 :                         return RealGradient(-10575.*eta/2. - 20475.*xi/8. + 74025.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 148050.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 88830.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1088325.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/4. + 367500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 165375.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 56925./8. + 155475.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 1088325.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 652995.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 20475.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 735000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 330750.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 52500.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 441000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 12285.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. - 198450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 23625.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    3254           0 :                       case 25:
    3255           0 :                         return RealGradient(8325.*eta/4. + 525.*xi - 58275.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 58275.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 34965.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 647325.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/4. - 294000.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 165375.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 9825./4. - 92475.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 647325.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 388395.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 2100.*(xi + 1.)*(xi + 1.)/(2.*2.) + 588000.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 330750.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 42000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 352800.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1260.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 198450.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 23625.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
    3256           0 :                       case 26:
    3257           0 :                         return RealGradient(-3375.*eta/4. - 4725.*xi/4. + 23625.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 23625.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 42525.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 3375./2. + 6075.*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 42525.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 25515.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 4725.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    3258           0 :                       case 27:
    3259           0 :                         return RealGradient(675.*eta + 4725.*xi/8. - 9450.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 18900.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 11340.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 42525.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 8775./8. - 6075.*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 42525.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 25515.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 4725.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 2835.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2., 0.);
    3260           0 :                       case 28:
    3261           0 :                         return RealGradient(-2115.*eta - 12285.*xi/8. + 44415.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 118440.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 88830.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 652995.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/4. + 220500.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 99225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 26865./8. + 31095.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 435330.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 652995.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 8190.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 588000.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 264600.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 21000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 441000.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 12285.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. - 198450.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 9450.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    3262           0 :                       case 29:
    3263           0 :                         return RealGradient(1665.*eta/2. + 315.*xi - 34965.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 46620.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 34965.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 388395.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/4. - 176400.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 99225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 2175./2. - 18495.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 258930.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 388395.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 1680.*(xi + 1.)*(xi + 1.)/(2.*2.) + 470400.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 264600.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) + 16800.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 352800.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1260.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) + 198450.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) - 9450.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
    3264           0 :                       case 30:
    3265           0 :                         return RealGradient(-675.*eta/2. - 2835.*xi/4. + 14175.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 18900.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 14175.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 25515.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.)/4. - 3645./4. + 1215.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. + 17010.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 25515.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)/2. + 3780.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.), 0.);
    3266           0 :                       case 31:
    3267           0 :                         return RealGradient(270.*eta + 2835.*xi/8. - 5670.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 15120.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 11340.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 25515.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.))/4. + 4455./8. - 1215.*(eta + 1.)*(eta + 1.)/(2.*2.)/2. - 17010.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 25515.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2. - 1890.*(xi + 1.)*(xi + 1.)/(2.*2.) + 2835.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.))/2., 0.);
    3268           0 :                       case 32:
    3269           0 :                         return RealGradient(0., 12285.*eta/8. + 2115.*xi - 44415.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 652995.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/4. - 220500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 99225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 118440.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 88830.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 26865./8. - 8190.*(eta + 1.)*(eta + 1.)/(2.*2.) - 435330.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 588000.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 264600.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 31095.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 652995.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. + 12285.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. - 441000.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 198450.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 21000.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 9450.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    3270           0 :                       case 33:
    3271           0 :                         return RealGradient(0., -315.*eta - 1665.*xi/2. + 34965.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. - 388395.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. + 176400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 99225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 46620.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 34965.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2175./2. + 1680.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 258930.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) - 470400.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 264600.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 18495.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 388395.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. - 1260.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 352800.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 198450.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 16800.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 9450.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
    3272           0 :                       case 34:
    3273           0 :                         return RealGradient(0., 2835.*eta/4. + 675.*xi/2. - 14175.*(eta/2. + 1./2.)*(xi/2. + 1./2.)/2. + 25515.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.))/4. + 18900.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 14175.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 3645./4. - 3780.*(eta + 1.)*(eta + 1.)/(2.*2.) - 17010.*(eta + 1.)*(eta + 1.)/(2.*2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 1215.*(xi + 1.)*(xi + 1.)/(2.*2.)/2. + 25515.*((xi + 1.)*(xi + 1.)/(2.*2.))*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.))/2. + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)));
    3274           0 :                       case 35:
    3275           0 :                         return RealGradient(0., -2835.*eta/8. - 270.*xi + 5670.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 25515.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.)/4. - 15120.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 11340.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4455./8. + 1890.*((eta + 1.)*(eta + 1.)/(2.*2.)) + 17010.*((eta + 1.)*(eta + 1.)/(2.*2.))*((xi + 1.)*(xi + 1.)/(2.*2.)) + 1215.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 25515.*(xi + 1.)*(xi + 1.)/(2.*2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2. - 2835.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)/2.);
    3276           0 :                       case 36:
    3277           0 :                         return RealGradient(594.*eta + 60.*xi - 1980.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 7650.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 10500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4725.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 582. - 4590.*(eta + 1.)*(eta + 1.)/(2.*2.) + 6300.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 2835.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
    3278           0 :                       case 37:
    3279           0 :                         return RealGradient(396.*eta + 60.*xi - 1980.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 7650.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 10500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4725.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)) + 408. - 3060.*(eta + 1.)*(eta + 1.)/(2.*2.) + 4200.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 1890.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.), 0.);
    3280           0 :                       case 38:
    3281           0 :                         return RealGradient(-495.*eta/2. - 30.*xi + 990.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 3825.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 5250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4725.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/2. - 495./2. + 3825.*((eta + 1.)*(eta + 1.)/(2.*2.))/2. - 2625.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4725.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/4., 0.);
    3282           0 :                       case 39:
    3283           0 :                         return RealGradient(0., 60.*eta + 594.*xi - 1980.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 7650.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 10500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 582. - 4590.*(xi + 1.)*(xi + 1.)/(2.*2.) + 6300.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    3284           0 :                       case 40:
    3285           0 :                         return RealGradient(0., 60.*eta + 396.*xi - 1980.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 7650.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 10500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)) + 408. - 3060.*(xi + 1.)*(xi + 1.)/(2.*2.) + 4200.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 1890.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.));
    3286           0 :                       case 41:
    3287           0 :                         return RealGradient(0., -30.*eta - 495.*xi/2. + 990.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 3825.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 5250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/2. - 495./2. + 3825.*((xi + 1.)*(xi + 1.)/(2.*2.))/2. - 2625.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/4.);
    3288           0 :                       case 42:
    3289           0 :                         return RealGradient(0., -15.*eta/2. - 216.*xi + 720.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 4500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 429./2. + 2700.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 5040.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 2835.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
    3290           0 :                       case 43:
    3291           0 :                         return RealGradient(0., -15.*eta/2. - 144.*xi + 720.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 4500.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) + 8400.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.) - 291./2. + 1800.*((xi + 1.)*(xi + 1.)/(2.*2.)) - 3360.*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 1890.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)));
    3292           0 :                       case 44:
    3293           0 :                         return RealGradient(0., 15.*eta/4. + 90.*xi - 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2250.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) - 4200.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.) + 4725.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.))/2. + 90. - 1125.*(xi + 1.)*(xi + 1.)/(2.*2.) + 2100.*((xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.)) - 4725.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/(2.*2.*2.*2.)/4.);
    3294           0 :                       case 45:
    3295           0 :                         return RealGradient(-216.*eta - 15.*xi/2. + 720.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 4500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 8400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4725.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 429./2. + 2700.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 5040.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    3296           0 :                       case 46:
    3297           0 :                         return RealGradient(-144.*eta - 15.*xi/2. + 720.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 4500.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) + 8400.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4725.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.) - 291./2. + 1800.*((eta + 1.)*(eta + 1.)/(2.*2.)) - 3360.*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 1890.*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)), 0.);
    3298           0 :                       case 47:
    3299           0 :                         return RealGradient(90.*eta + 15.*xi/4. - 360.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 2250.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) - 4200.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.) + 4725.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.))/2. + 90. - 1125.*(eta + 1.)*(eta + 1.)/(2.*2.) + 2100.*((eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.)) - 4725.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/(2.*2.*2.*2.)/4., 0.);
    3300           0 :                       case 48:
    3301           0 :                         return RealGradient(0., 30.*eta + 81.*xi - 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 75. - 135.*(xi + 1.)*(xi + 1.)/(2.*2.));
    3302           0 :                       case 49:
    3303           0 :                         return RealGradient(0., -15.*eta/2. - 54.*xi + 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 105./2. + 135.*((xi + 1.)*(xi + 1.)/(2.*2.)));
    3304           0 :                       case 50:
    3305           0 :                         return RealGradient(-81.*eta - 30.*xi + 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 75. + 135.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    3306           0 :                       case 51:
    3307           0 :                         return RealGradient(54.*eta + 15.*xi/2. - 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 105./2. - 135.*(eta + 1.)*(eta + 1.)/(2.*2.), 0.);
    3308           0 :                       case 52:
    3309           0 :                         return RealGradient(-54.*eta - 30.*xi + 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(xi/2. + 1./2.)*(eta + 1.)*(eta + 1.)/(2.*2.) - 60. + 90.*((eta + 1.)*(eta + 1.)/(2.*2.)), 0.);
    3310           0 :                       case 53:
    3311           0 :                         return RealGradient(36.*eta + 15.*xi/2. - 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(xi/2. + 1./2.)*((eta + 1.)*(eta + 1.)/(2.*2.)) + 75./2. - 90.*(eta + 1.)*(eta + 1.)/(2.*2.), 0.);
    3312           0 :                       case 54:
    3313           0 :                         return RealGradient(0., 30.*eta + 54.*xi - 270.*(eta/2. + 1./2.)*(xi/2. + 1./2.) + 225.*(eta/2. + 1./2.)*((xi + 1.)*(xi + 1.)/(2.*2.)) + 60. - 90.*(xi + 1.)*(xi + 1.)/(2.*2.));
    3314           0 :                       case 55:
    3315           0 :                         return RealGradient(0., -15.*eta/2. - 36.*xi + 180.*(eta/2. + 1./2.)*(xi/2. + 1./2.) - 225.*(eta/2. + 1./2.)*(xi + 1.)*(xi + 1.)/(2.*2.) - 75./2. + 90.*((xi + 1.)*(xi + 1.)/(2.*2.)));
    3316           0 :                       case 56:
    3317           0 :                         return RealGradient(0., 0.);
    3318           0 :                       case 57:
    3319           0 :                         return RealGradient(0., 0.);
    3320           0 :                       case 58:
    3321           0 :                         return RealGradient(0., 0.);
    3322           0 :                       case 59:
    3323           0 :                         return RealGradient(0., 0.);
    3324           0 :                       default:
    3325           0 :                         libmesh_error_msg("Invalid i = " << i);
    3326             :                       }
    3327             :                   } // j = 1
    3328             : 
    3329             :                   // d^2()/deta^2
    3330           0 :                 case 2:
    3331             :                   {
    3332           0 :                     switch(ii)
    3333             :                       {
    3334           0 :                       case 0:
    3335           0 :                         return sign * RealGradient(-13125.*eta/4. - 5625.*xi + 39375.*(eta + 1.)*(xi + 1.)/2. - 275625.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 91875.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 165375.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. - 39375.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. + 23625.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 31875./4. + 13125.*((eta + 1.)*(eta + 1.))/4. + 275625.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. - 91875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. + 39375.*((xi + 1.)*(xi + 1.))/4. - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 7875.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 55125.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. - 13125.*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 23625.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/16., 0.);
    3336           0 :                       case 1:
    3337           0 :                         return sign * RealGradient(254625.*eta/512. + 214875.*xi/128. - 1504125.*(eta + 1.)*(xi + 1.)/256. + 11080125.*(eta + 1.)*((xi + 1.)*(xi + 1.))/1024. - 7147875.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. + 6118875.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. + 1504125.*(xi + 1.)*((eta + 1.)*(eta + 1.))/256. - 902475.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. + 1041375./512. - 254625.*(eta + 1.)*(eta + 1.)/512. - 11080125.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/1024. + 7147875.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/1024. - 6118875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4096. - 1582875.*(xi + 1.)*(xi + 1.)/512. + 6648075.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/2048. + 152775.*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 4288725.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 3671325.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8192. + 1021125.*((xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 874125.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048., 0.);
    3338           0 :                       case 2:
    3339           0 :                         return sign * RealGradient(-7875.*eta/32. - 7875.*xi/8. + 55125.*(eta + 1.)*(xi + 1.)/16. - 606375.*(eta + 1.)*(xi + 1.)*(xi + 1.)/64. + 496125.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 496125.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/256. - 55125.*(xi + 1.)*(eta + 1.)*(eta + 1.)/16. + 33075.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 37125./32. + 7875.*((eta + 1.)*(eta + 1.))/32. + 606375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/64. - 496125.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 496125.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/256. + 86625.*((xi + 1.)*(xi + 1.))/32. - 363825.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. - 4725.*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 297675.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/128. - 297675.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/512. - 70875.*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 70875.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/128., 0.);
    3340           0 :                       case 3:
    3341           0 :                         return sign * RealGradient(44625.*eta/512. + 52875.*xi/128. - 370125.*(eta + 1.)*(xi + 1.)/256. + 4906125.*(eta + 1.)*((xi + 1.)*(xi + 1.))/1024. - 5089875.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. + 6118875.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. + 370125.*(xi + 1.)*((eta + 1.)*(eta + 1.))/256. - 222075.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. + 243375./512. - 44625.*(eta + 1.)*(eta + 1.)/512. - 4906125.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/1024. + 5089875.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/1024. - 6118875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4096. - 700875.*(xi + 1.)*(xi + 1.)/512. + 2943675.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/2048. + 26775.*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 3053925.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 3671325.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8192. + 727125.*((xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 874125.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048., 0.);
    3342           0 :                       case 4:
    3343           0 :                         return sign * RealGradient(-2625.*eta/4. - 2250.*xi + 7875.*(eta + 1.)*(xi + 1.) - 165375.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 18375.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 165375.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. - 7875.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 4725.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/2. - 10875./4. + 2625.*((eta + 1.)*(eta + 1.))/4. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. - 18375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. + 23625.*((xi + 1.)*(xi + 1.))/4. - 99225.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 11025.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. - 5250.*(xi + 1.)*(xi + 1.)*(xi + 1.) + 23625.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/16., 0.);
    3344           0 :                       case 5:
    3345           0 :                         return sign * RealGradient(0., 2625.*xi/4. - 2625.*(eta + 1.)*(xi + 1.)/2. + 7875.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 55125.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 18375.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 33075.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 4725.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 2625./4. - 14175.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. + 99225.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 33075.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 59535.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 7875.*(xi + 1.)*(xi + 1.)/2. + 55125.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 18375.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 33075.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3346           0 :                       case 6:
    3347           0 :                         return sign * RealGradient(0., -105525.*xi/512. + 204225.*(eta + 1.)*(xi + 1.)/512. - 612675.*(eta + 1.)*(xi + 1.)*(xi + 1.)/256. + 4288725.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/1024. - 1429575.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/512. + 2573235.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. - 174825.*(xi + 1.)*(eta + 1.)*(eta + 1.)/1024. - 105525./512. + 524475.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/512. - 3671325.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 1223775.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/1024. - 2202795.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8192. + 316575.*((xi + 1.)*(xi + 1.))/256. - 2216025.*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. + 738675.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 1329615.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4096.);
    3348           0 :                       case 7:
    3349           0 :                         return sign * RealGradient(0., 5775.*xi/32. - 14175.*(eta + 1.)*(xi + 1.)/32. + 42525.*(eta + 1.)*((xi + 1.)*(xi + 1.))/16. - 297675.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 99225.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. - 178605.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/256. + 14175.*(xi + 1.)*((eta + 1.)*(eta + 1.))/64. + 5775./32. - 42525.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 297675.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/128. - 99225.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 178605.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 17325.*(xi + 1.)*(xi + 1.)/16. + 121275.*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 40425.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 72765.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/256.);
    3350           0 :                       case 8:
    3351           0 :                         return sign * RealGradient(0., -46725.*xi/512. + 145425.*(eta + 1.)*(xi + 1.)/512. - 436275.*(eta + 1.)*(xi + 1.)*(xi + 1.)/256. + 3053925.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/1024. - 1017975.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/512. + 1832355.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. - 174825.*(xi + 1.)*(eta + 1.)*(eta + 1.)/1024. - 46725./512. + 524475.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/512. - 3671325.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 1223775.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/1024. - 2202795.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8192. + 140175.*((xi + 1.)*(xi + 1.))/256. - 981225.*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. + 327075.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 588735.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4096.);
    3352           0 :                       case 9:
    3353           0 :                         return sign * RealGradient(0., 1575.*xi/4. - 1050.*(eta + 1.)*(xi + 1.) + 6300.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 11025.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 7350.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)) - 6615.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 4725.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 1575./4. - 14175.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. + 99225.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 33075.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 59535.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 4725.*(xi + 1.)*(xi + 1.)/2. + 33075.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 11025.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 19845.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3354           0 :                       case 10:
    3355           0 :                         return sign * RealGradient(-1575.*eta/4. - 900.*xi + 4725.*(eta + 1.)*(xi + 1.) - 99225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 11025.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 99225.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. - 6300.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 4725.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/2. - 4875./4. + 525.*((eta + 1.)*(eta + 1.)) + 33075.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 14700.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 33075.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8. + 4725.*((xi + 1.)*(xi + 1.))/2. - 99225.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 11025.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. - 2100.*(xi + 1.)*(xi + 1.)*(xi + 1.) + 4725.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8., 0.);
    3356           0 :                       case 11:
    3357           0 :                         return sign * RealGradient(26775.*eta/512. + 10575.*xi/64. - 222075.*(eta + 1.)*(xi + 1.)/256. + 2943675.*(eta + 1.)*((xi + 1.)*(xi + 1.))/1024. - 3053925.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. + 3671325.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. + 74025.*(xi + 1.)*((eta + 1.)*(eta + 1.))/64. - 222075.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. + 106275./512. - 8925.*(eta + 1.)*(eta + 1.)/128. - 981225.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/256. + 1017975.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/256. - 1223775.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. - 140175.*(xi + 1.)*(xi + 1.)/256. + 2943675.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/2048. + 26775.*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 3053925.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 3671325.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8192. + 145425.*((xi + 1.)*(xi + 1.)*(xi + 1.))/256. - 174825.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024., 0.);
    3358           0 :                       case 12:
    3359           0 :                         return sign * RealGradient(-4725.*eta/32. - 1575.*xi/4. + 33075.*(eta + 1.)*(xi + 1.)/16. - 363825.*(eta + 1.)*(xi + 1.)*(xi + 1.)/64. + 297675.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 297675.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/256. - 11025.*(xi + 1.)*(eta + 1.)*(eta + 1.)/4. + 33075.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/32. - 16425./32. + 1575.*((eta + 1.)*(eta + 1.))/8. + 121275.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/16. - 99225.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 99225.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. + 17325.*((xi + 1.)*(xi + 1.))/16. - 363825.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/128. - 4725.*(eta + 1.)*(eta + 1.)*(eta + 1.)/64. + 297675.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/128. - 297675.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/512. - 14175.*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 14175.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64., 0.);
    3360           0 :                       case 13:
    3361           0 :                         return sign * RealGradient(152775.*eta/512. + 42975.*xi/64. - 902475.*(eta + 1.)*(xi + 1.)/256. + 6648075.*(eta + 1.)*((xi + 1.)*(xi + 1.))/1024. - 4288725.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. + 3671325.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. + 300825.*(xi + 1.)*((eta + 1.)*(eta + 1.))/64. - 902475.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/512. + 467475./512. - 50925.*(eta + 1.)*(eta + 1.)/128. - 2216025.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/256. + 1429575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/256. - 1223775.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. - 316575.*(xi + 1.)*(xi + 1.)/256. + 6648075.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/2048. + 152775.*((eta + 1.)*(eta + 1.)*(eta + 1.))/1024. - 4288725.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 3671325.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8192. + 204225.*((xi + 1.)*(xi + 1.)*(xi + 1.))/256. - 174825.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024., 0.);
    3362           0 :                       case 14:
    3363           0 :                         return sign * RealGradient(-7875.*eta/4. - 2250.*xi + 23625.*(eta + 1.)*(xi + 1.)/2. - 165375.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 55125.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 99225.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. - 15750.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 23625.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 15375./4. + 2625.*((eta + 1.)*(eta + 1.)) + 55125.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. - 18375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 33075.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8. + 7875.*((xi + 1.)*(xi + 1.))/2. - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 7875.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 55125.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. - 2625.*(xi + 1.)*(xi + 1.)*(xi + 1.) + 4725.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8., 0.);
    3364           0 :                       case 15:
    3365           0 :                         return sign * RealGradient(0., 420.*eta + 7875.*xi/4. - 5250.*(eta + 1.)*(xi + 1.) + 15750.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 18375.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 18375.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 6615.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 23625.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 8925./4. - 945.*(eta + 1.)*(eta + 1.)/4. - 70875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 165375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 59535.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 23625.*(xi + 1.)*(xi + 1.)/4. + 55125.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 55125.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 19845.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3366           0 :                       case 16:
    3367           0 :                         return sign * RealGradient(0., -29085.*eta/256. - 233625.*xi/512. + 727125.*(eta + 1.)*(xi + 1.)/512. - 2181375.*(eta + 1.)*(xi + 1.)*(xi + 1.)/512. + 5089875.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/1024. - 5089875.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 1832355.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. - 874125.*(xi + 1.)*(eta + 1.)*(eta + 1.)/1024. - 273105./512. + 34965.*((eta + 1.)*(eta + 1.))/512. + 2622375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/1024. - 6118875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 6118875.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. - 2202795.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8192. + 700875.*((xi + 1.)*(xi + 1.))/512. - 1635375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. + 1635375.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/2048. - 588735.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4096.);
    3368           0 :                       case 17:
    3369           0 :                         return sign * RealGradient(0., 2835.*eta/16. + 28875.*xi/32. - 70875.*(eta + 1.)*(xi + 1.)/32. + 212625.*(eta + 1.)*((xi + 1.)*(xi + 1.))/32. - 496125.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 496125.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/128. - 178605.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/256. + 70875.*(xi + 1.)*((eta + 1.)*(eta + 1.))/64. + 32235./32. - 2835.*(eta + 1.)*(eta + 1.)/32. - 212625.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/64. + 496125.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/128. - 496125.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/256. + 178605.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/512. - 86625.*(xi + 1.)*(xi + 1.)/32. + 202125.*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 202125.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/128. + 72765.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/256.);
    3370           0 :                       case 18:
    3371           0 :                         return sign * RealGradient(0., -40845.*eta/256. - 527625.*xi/512. + 1021125.*(eta + 1.)*(xi + 1.)/512. - 3063375.*(eta + 1.)*(xi + 1.)*(xi + 1.)/512. + 7147875.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/1024. - 7147875.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 2573235.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. - 874125.*(xi + 1.)*(eta + 1.)*(eta + 1.)/1024. - 567105./512. + 34965.*((eta + 1.)*(eta + 1.))/512. + 2622375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/1024. - 6118875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2048. + 6118875.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4096. - 2202795.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8192. + 1582875.*((xi + 1.)*(xi + 1.))/512. - 3693375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/1024. + 3693375.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/2048. - 1329615.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4096.);
    3372           0 :                       case 19:
    3373           0 :                         return sign * RealGradient(0., 525.*eta + 13125.*xi/4. - 13125.*(eta + 1.)*(xi + 1.)/2. + 39375.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 91875.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 91875.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 33075.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 23625.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 14175./4. - 945.*(eta + 1.)*(eta + 1.)/4. - 70875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 165375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 59535.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 39375.*(xi + 1.)*(xi + 1.)/4. + 91875.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 91875.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 33075.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3374           0 :                       case 20:
    3375           0 :                         return RealGradient(0., 20475.*xi/8. - 20475.*(eta + 1.)*(xi + 1.)/4. + 74025.*(eta + 1.)*((xi + 1.)*(xi + 1.))/4. - 362775.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 91875.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 33075.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 36855.*(xi + 1.)*((eta + 1.)*(eta + 1.))/16. + 20475./8. - 133245.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/16. + 652995.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 165375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 59535.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 74025.*(xi + 1.)*(xi + 1.)/8. + 362775.*((xi + 1.)*(xi + 1.)*(xi + 1.))/32. - 91875.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 33075.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3376           0 :                       case 21:
    3377           0 :                         return RealGradient(0., -525.*xi + 1050.*(eta + 1.)*(xi + 1.) - 58275.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. + 215775.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 18375.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 33075.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 945.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. - 525. + 104895.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/32. - 388395.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 33075.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 59535.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 58275.*((xi + 1.)*(xi + 1.))/16. - 215775.*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 18375.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 33075.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32.);
    3378           0 :                       case 22:
    3379           0 :                         return RealGradient(0., 4725.*xi/4. - 4725.*(eta + 1.)*(xi + 1.)/2. + 23625.*(eta + 1.)*((xi + 1.)*(xi + 1.))/8. - 14175.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 8505.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 4725./4. - 42525.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 25515.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 23625.*(xi + 1.)*(xi + 1.)/16. + 14175.*((xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3380           0 :                       case 23:
    3381           0 :                         return RealGradient(0., -4725.*xi/8. + 4725.*(eta + 1.)*(xi + 1.)/4. - 4725.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 14175.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 8505.*(xi + 1.)*(eta + 1.)*(eta + 1.)/16. - 4725./8. + 8505.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. - 25515.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 4725.*((xi + 1.)*(xi + 1.))/4. - 14175.*(xi + 1.)*(xi + 1.)*(xi + 1.)/32.);
    3382           0 :                       case 24:
    3383           0 :                         return RealGradient(-51825.*eta/16. - 10575.*xi/2. + 155475.*(eta + 1.)*(xi + 1.)/8. - 1088325.*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 362775.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 652995.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/128. - 39375.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. + 23625.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 122325./16. + 13125.*((eta + 1.)*(eta + 1.))/4. + 275625.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. - 91875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. + 74025.*((xi + 1.)*(xi + 1.))/8. - 165375.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 7875.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 55125.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. - 24675.*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 44415.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32., 0.);
    3384           0 :                       case 25:
    3385           0 :                         return RealGradient(30825.*eta/16. + 8325.*xi/4. - 92475.*(eta + 1.)*(xi + 1.)/8. + 647325.*(eta + 1.)*((xi + 1.)*(xi + 1.))/32. - 215775.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 388395.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/128. + 15750.*(xi + 1.)*((eta + 1.)*(eta + 1.)) - 23625.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 58575./16. - 2625.*(eta + 1.)*(eta + 1.) - 55125.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 18375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 33075.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. - 58275.*(xi + 1.)*(xi + 1.)/16. + 165375.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. + 7875.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8. - 55125.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. + 19425.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 34965.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64., 0.);
    3386           0 :                       case 26:
    3387           0 :                         return RealGradient(-2025.*eta/16. - 3375.*xi/4. + 6075.*(eta + 1.)*(xi + 1.)/8. - 42525.*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 14175.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/16. - 25515.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/128. - 13275./16. + 23625.*((xi + 1.)*(xi + 1.))/16. - 7875.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 14175.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64., 0.);
    3388           0 :                       case 27:
    3389           0 :                         return RealGradient(2025.*eta/16. + 675.*xi - 6075.*(eta + 1.)*(xi + 1.)/8. + 42525.*(eta + 1.)*((xi + 1.)*(xi + 1.))/32. - 14175.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 25515.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/128. + 11025./16. - 4725.*(xi + 1.)*(xi + 1.)/4. + 1575.*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16., 0.);
    3390           0 :                       case 28:
    3391           0 :                         return RealGradient(-10365.*eta/16. - 2115.*xi + 31095.*(eta + 1.)*(xi + 1.)/4. - 652995.*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 72555.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 652995.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/128. - 7875.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 4725.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/2. - 41385./16. + 2625.*((eta + 1.)*(eta + 1.))/4. + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. - 18375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 165375.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. + 44415.*((xi + 1.)*(xi + 1.))/8. - 99225.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 1575.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8. + 11025.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 99225.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. - 4935.*(xi + 1.)*(xi + 1.)*(xi + 1.) + 44415.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32., 0.);
    3392           0 :                       case 29:
    3393           0 :                         return RealGradient(6165.*eta/16. + 1665.*xi/2. - 18495.*(eta + 1.)*(xi + 1.)/4. + 388395.*(eta + 1.)*((xi + 1.)*(xi + 1.))/32. - 43155.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 388395.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/128. + 6300.*(xi + 1.)*((eta + 1.)*(eta + 1.)) - 4725.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 18375./16. - 525.*(eta + 1.)*(eta + 1.) - 33075.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 14700.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 33075.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. - 34965.*(xi + 1.)*(xi + 1.)/16. + 99225.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. + 1575.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8. - 11025.*(eta + 1.)*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 99225.*((eta + 1.)*(eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. + 3885.*((xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 34965.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64., 0.);
    3394           0 :                       case 30:
    3395           0 :                         return RealGradient(-405.*eta/16. - 675.*xi/2. + 1215.*(eta + 1.)*(xi + 1.)/4. - 25515.*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 2835.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 25515.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/128. - 5355./16. + 14175.*((xi + 1.)*(xi + 1.))/16. - 1575.*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 14175.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64., 0.);
    3396           0 :                       case 31:
    3397           0 :                         return RealGradient(405.*eta/16. + 270.*xi - 1215.*(eta + 1.)*(xi + 1.)/4. + 25515.*(eta + 1.)*((xi + 1.)*(xi + 1.))/32. - 2835.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 25515.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/128. + 4365./16. - 2835.*(xi + 1.)*(xi + 1.)/4. + 630.*((xi + 1.)*(xi + 1.)*(xi + 1.)) - 2835.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16., 0.);
    3398           0 :                       case 32:
    3399           0 :                         return RealGradient(0., 12285.*xi/8. - 4095.*(eta + 1.)*(xi + 1.) + 14805.*(eta + 1.)*((xi + 1.)*(xi + 1.)) - 72555.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 18375.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/2. - 6615.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 36855.*(xi + 1.)*((eta + 1.)*(eta + 1.))/16. + 12285./8. - 133245.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/16. + 652995.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 165375.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 59535.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 44415.*(xi + 1.)*(xi + 1.)/8. + 217665.*((xi + 1.)*(xi + 1.)*(xi + 1.))/32. - 55125.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 19845.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3400           0 :                       case 33:
    3401           0 :                         return RealGradient(0., -315.*xi + 840.*(eta + 1.)*(xi + 1.) - 11655.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. + 43155.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 7350.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.) + 6615.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 945.*(xi + 1.)*(eta + 1.)*(eta + 1.)/2. - 315. + 104895.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/32. - 388395.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 33075.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/8. - 59535.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 34965.*((xi + 1.)*(xi + 1.))/16. - 129465.*(xi + 1.)*(xi + 1.)*(xi + 1.)/32. + 11025.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 19845.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32.);
    3402           0 :                       case 34:
    3403           0 :                         return RealGradient(0., 2835.*xi/4. - 1890.*(eta + 1.)*(xi + 1.) + 4725.*(eta + 1.)*((xi + 1.)*(xi + 1.))/2. - 2835.*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/4. + 8505.*(xi + 1.)*((eta + 1.)*(eta + 1.))/8. + 2835./4. - 42525.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/32. + 25515.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.)*(xi + 1.))/64. - 14175.*(xi + 1.)*(xi + 1.)/16. + 8505.*((xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3404           0 :                       case 35:
    3405           0 :                         return RealGradient(0., -2835.*xi/8. + 945.*(eta + 1.)*(xi + 1.) - 1890.*(eta + 1.)*(xi + 1.)*(xi + 1.) + 2835.*(eta + 1.)*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 8505.*(xi + 1.)*(eta + 1.)*(eta + 1.)/16. - 2835./8. + 8505.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/8. - 25515.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64. + 2835.*((xi + 1.)*(xi + 1.))/4. - 8505.*(xi + 1.)*(xi + 1.)*(xi + 1.)/32.);
    3406           0 :                       case 36:
    3407           0 :                         return RealGradient(2295.*eta/2. + 594.*xi - 2295.*(eta + 1.)*(xi + 1.) + 3825.*(eta + 1.)*((xi + 1.)*(xi + 1.))/4. + 4725.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. - 2835.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/4. + 2889./2. - 4725.*(eta + 1.)*(eta + 1.)/4. - 7875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 495.*(xi + 1.)*(xi + 1.)/2. + 4725.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. + 2835.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8., 0.);
    3408           0 :                       case 37:
    3409           0 :                         return RealGradient(765.*eta/2. + 396.*xi - 1530.*(eta + 1.)*(xi + 1.) + 3825.*(eta + 1.)*((xi + 1.)*(xi + 1.))/4. + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.)) - 945.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/2. + 1359./2. - 1575.*(eta + 1.)*(eta + 1.)/4. - 7875.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 495.*(xi + 1.)*(xi + 1.)/2. + 4725.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.))/8., 0.);
    3410           0 :                       case 38:
    3411           0 :                         return RealGradient(-765.*eta/4. - 495.*xi/2. + 3825.*(eta + 1.)*(xi + 1.)/4. - 3825.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 7875.*(xi + 1.)*(eta + 1.)*(eta + 1.)/8. + 4725.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/16. - 1557./4. + 1575.*((eta + 1.)*(eta + 1.))/8. + 7875.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/16. + 495.*((xi + 1.)*(xi + 1.))/4. - 4725.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/32. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)/16., 0.);
    3412           0 :                       case 39:
    3413           0 :                         return RealGradient(0., 60.*xi + 60. - 495.*(xi + 1.)*(xi + 1.)/2. + 1275.*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 2625.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3414           0 :                       case 40:
    3415           0 :                         return RealGradient(0., 60.*xi + 60. - 495.*(xi + 1.)*(xi + 1.)/2. + 1275.*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 2625.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/16. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32.);
    3416           0 :                       case 41:
    3417           0 :                         return RealGradient(0., -30.*xi - 30. + 495.*((xi + 1.)*(xi + 1.))/4. - 1275.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 2625.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/32. - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/64.);
    3418           0 :                       case 42:
    3419           0 :                         return RealGradient(0., -15.*xi/2. - 15./2. + 90.*((xi + 1.)*(xi + 1.)) - 375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32.);
    3420           0 :                       case 43:
    3421           0 :                         return RealGradient(0., -15.*xi/2. - 15./2. + 90.*((xi + 1.)*(xi + 1.)) - 375.*(xi + 1.)*(xi + 1.)*(xi + 1.)/2. + 525.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 945.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/32.);
    3422           0 :                       case 44:
    3423           0 :                         return RealGradient(0., 15.*xi/4. + 15./4. - 45.*(xi + 1.)*(xi + 1.) + 375.*((xi + 1.)*(xi + 1.)*(xi + 1.))/4. - 525.*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)/8. + 945.*((xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.)*(xi + 1.))/64.);
    3424           0 :                       case 45:
    3425           0 :                         return RealGradient(-675.*eta - 216.*xi + 1350.*(eta + 1.)*(xi + 1.) - 1125.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. - 1890.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 2835.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/4. - 783. + 945.*((eta + 1.)*(eta + 1.)) + 1575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. + 90.*((xi + 1.)*(xi + 1.)) - 4725.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 2835.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    3426           0 :                       case 46:
    3427           0 :                         return RealGradient(-225.*eta - 144.*xi + 900.*(eta + 1.)*(xi + 1.) - 1125.*(eta + 1.)*(xi + 1.)*(xi + 1.)/2. - 1260.*(xi + 1.)*(eta + 1.)*(eta + 1.) + 945.*(xi + 1.)*((eta + 1.)*(eta + 1.)*(eta + 1.))/2. - 333. + 315.*((eta + 1.)*(eta + 1.)) + 1575.*((eta + 1.)*(eta + 1.))*((xi + 1.)*(xi + 1.))/2. + 90.*((xi + 1.)*(xi + 1.)) - 4725.*(xi + 1.)*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. - 945.*(eta + 1.)*(eta + 1.)*(eta + 1.)/8., 0.);
    3428           0 :                       case 47:
    3429           0 :                         return RealGradient(225.*eta/2. + 90.*xi - 1125.*(eta + 1.)*(xi + 1.)/2. + 1125.*(eta + 1.)*((xi + 1.)*(xi + 1.))/4. + 1575.*(xi + 1.)*((eta + 1.)*(eta + 1.))/2. - 4725.*(xi + 1.)*(eta + 1.)*(eta + 1.)*(eta + 1.)/16. + 369./2. - 315.*(eta + 1.)*(eta + 1.)/2. - 1575.*(eta + 1.)*(eta + 1.)*(xi + 1.)*(xi + 1.)/4. - 45.*(xi + 1.)*(xi + 1.) + 4725.*((xi + 1.)*(xi + 1.))*((eta + 1.)*(eta + 1.)*(eta + 1.))/32. + 945.*((eta + 1.)*(eta + 1.)*(eta + 1.))/16., 0.);
    3430           0 :                       case 48:
    3431           0 :                         return RealGradient(0., 30.*xi + 30. - 135.*(xi + 1.)*(xi + 1.)/4. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    3432           0 :                       case 49:
    3433           0 :                         return RealGradient(0., -15.*xi/2. - 15./2. + 45.*((xi + 1.)*(xi + 1.))/2. - 75.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8.);
    3434           0 :                       case 50:
    3435           0 :                         return RealGradient(-135.*eta/4. - 81.*xi + 135.*(eta + 1.)*(xi + 1.)/2. - 225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 297./4. + 135.*((xi + 1.)*(xi + 1.))/4., 0.);
    3436           0 :                       case 51:
    3437           0 :                         return RealGradient(135.*eta/4. + 54.*xi - 135.*(eta + 1.)*(xi + 1.)/2. + 225.*(eta + 1.)*((xi + 1.)*(xi + 1.))/8. + 243./4. - 45.*(xi + 1.)*(xi + 1.)/2., 0.);
    3438           0 :                       case 52:
    3439           0 :                         return RealGradient(-45.*eta/4. - 54.*xi + 45.*(eta + 1.)*(xi + 1.) - 225.*(eta + 1.)*(xi + 1.)*(xi + 1.)/8. - 207./4. + 135.*((xi + 1.)*(xi + 1.))/4., 0.);
    3440           0 :                       case 53:
    3441           0 :                         return RealGradient(45.*eta/4. + 36.*xi - 45.*(eta + 1.)*(xi + 1.) + 225.*(eta + 1.)*((xi + 1.)*(xi + 1.))/8. + 153./4. - 45.*(xi + 1.)*(xi + 1.)/2., 0.);
    3442           0 :                       case 54:
    3443           0 :                         return RealGradient(0., 30.*xi + 30. - 135.*(xi + 1.)*(xi + 1.)/4. + 75.*((xi + 1.)*(xi + 1.)*(xi + 1.))/8.);
    3444           0 :                       case 55:
    3445           0 :                         return RealGradient(0., -15.*xi/2. - 15./2. + 45.*((xi + 1.)*(xi + 1.))/2. - 75.*(xi + 1.)*(xi + 1.)*(xi + 1.)/8.);
    3446           0 :                       case 56:
    3447           0 :                         return RealGradient(15.*eta/4. - 3./4., 0.);
    3448           0 :                       case 57:
    3449           0 :                         return RealGradient(0., 0.);
    3450           0 :                       case 58:
    3451           0 :                         return RealGradient(0., 0.);
    3452           0 :                       case 59:
    3453           0 :                         return RealGradient(-15.*eta/4. - 3./4., 0.);
    3454           0 :                       default:
    3455           0 :                         libmesh_error_msg("Invalid i = " << i);
    3456             :                       }
    3457             :                   } // j = 2
    3458             : 
    3459           0 :                 default:
    3460           0 :                   libmesh_error_msg("Invalid j = " << j);
    3461             :                 }
    3462             :             }
    3463             : 
    3464           0 :           case TRI6:
    3465             :           case TRI7:
    3466             :             {
    3467           0 :               switch (j)
    3468             :                 {
    3469             :                   // d^2()/dxi^2
    3470           0 :                 case 0:
    3471             :                   {
    3472           0 :                     switch(ii)
    3473             :                       {
    3474           0 :                       case 0:
    3475           0 :                         return sign * RealGradient(30240.*eta*xi - 12600.*eta - 12600.*eta*xi*xi - 8400.*xi - 25200.*xi*eta*eta + 2100. + 22680.*(eta*eta) + 7560.*(xi*xi) - 12600.*eta*eta*eta, -45360.*eta*xi + 8400.*eta + 50400.*eta*(xi*xi) + 12600.*xi + 37800.*xi*(eta*eta) - 1400. - 15120.*eta*eta - 30240.*xi*xi + 8400.*(eta*eta*eta) + 21000.*(xi*xi*xi));
    3476           0 :                       case 1:
    3477           0 :                         return sign * RealGradient(-20475.*eta*xi/2. + 136185.*eta/32. + 58275.*eta*(xi*xi)/16. + 40845.*xi/16. + 146475.*xi*(eta*eta)/16. - 21105./32. - 240975.*eta*eta/32. - 34965.*xi*xi/16. + 127575.*(eta*eta*eta)/32., 252315.*eta*xi/16. - 39375.*eta/16. - 146475.*eta*xi*xi/8. - 125265.*xi/32. - 382725.*xi*eta*eta/32. + 1715./4. + 25515.*(eta*eta)/8. + 145845.*(xi*xi)/16. - 14175.*eta*eta*eta/16. - 97125.*xi*xi*xi/16.);
    3478           0 :                       case 2:
    3479           0 :                         return sign * RealGradient(7560.*eta*xi - 3255.*eta/2. - 4725.*eta*xi*xi - 2835.*xi - 4725.*xi*eta*eta + 1155./2. + 945.*(eta*eta)/2. + 2835.*(xi*xi) + 1575.*(eta*eta*eta)/2., -4725.*eta*xi + 105.*eta + 9450.*eta*(xi*xi) + 7455.*xi/2. - 4725.*xi*eta*eta/2. - 315. + 1890.*(eta*eta) - 10395.*xi*xi - 1575.*eta*eta*eta + 7875.*(xi*xi*xi));
    3480           0 :                       case 3:
    3481           0 :                         return sign * RealGradient(-2835.*eta*xi/2. - 16695.*eta/32. + 58275.*eta*(xi*xi)/16. + 29085.*xi/16. - 29925.*xi*eta*eta/16. - 9345./32. + 76545.*(eta*eta)/32. - 34965.*xi*xi/16. - 48825.*eta*eta*eta/32., -65205.*eta*xi/16. + 9345.*eta/16. + 29925.*eta*(xi*xi)/8. - 66465.*xi/32. + 146475.*xi*(eta*eta)/32. + 595./4. - 4725.*eta*eta/8. + 110565.*(xi*xi)/16. - 5775.*eta*eta*eta/16. - 97125.*xi*xi*xi/16.);
    3482           0 :                       case 4:
    3483           0 :                         return sign * RealGradient(10080.*eta*xi - 1680.*eta - 12600.*eta*xi*xi - 6720.*xi + 1260. + 7560.*(xi*xi), 8400.*xi - 700. - 25200.*xi*xi + 21000.*(xi*xi*xi));
    3484           0 :                       case 5:
    3485           0 :                         return sign * RealGradient(840.*eta*(12.*xi - 2. - 15.*xi*xi), 8400.*xi - 700. - 25200.*xi*xi + 21000.*(xi*xi*xi));
    3486           0 :                       case 6:
    3487           0 :                         return sign * RealGradient(2835.*eta*(-120.*eta*xi + 54.*eta + 60.*xi - 16. - 30.*eta*eta - 45.*xi*xi)/32., -127575.*eta*xi/8. + 2205.*eta + 42525.*eta*(xi*xi)/2. + 8505.*xi/2. + 127575.*xi*(eta*eta)/16. - 1785./4. - 31185.*eta*eta/16. - 161595.*xi*xi/16. + 1575.*(eta*eta*eta)/4. + 212625.*(xi*xi*xi)/32.);
    3488           0 :                       case 7:
    3489           0 :                         return sign * RealGradient(105.*eta*(-60.*eta*xi + 45.*eta + 18.*xi - 8. - 45.*eta*eta - 15.*xi*xi/2.), -13230.*eta*xi + 2520.*eta + 12600.*eta*(xi*xi) + 1680.*xi + 14175.*xi*(eta*eta) - 245. - 4725.*eta*eta - 2835.*xi*xi + 2100.*(eta*eta*eta) + 2625.*(xi*xi*xi)/2.);
    3490           0 :                       case 8:
    3491           0 :                         return sign * RealGradient(105.*eta*(-360.*eta*xi + 594.*eta + 84.*xi - 80. - 810.*eta*eta - 15.*xi*xi)/32., -36855.*eta*xi/8. + 1575.*eta + 4725.*eta*(xi*xi)/2. + 735.*xi/2. + 127575.*xi*(eta*eta)/16. - 385./4. - 76545.*eta*eta/16. - 5355.*xi*xi/16. + 14175.*(eta*eta*eta)/4. + 2625.*(xi*xi*xi)/32.);
    3492           0 :                       case 9:
    3493           0 :                         return sign * RealGradient(0., 0.);
    3494           0 :                       case 10:
    3495           0 :                         return sign * RealGradient(0., 0.);
    3496           0 :                       case 11:
    3497           0 :                         return sign * RealGradient(105.*eta*(330.*eta*xi + 180.*eta - 54.*xi - 11. - 465.*eta*eta - 15.*xi*xi)/32., 945.*eta*xi/8. + 1155.*eta/2. - 17325.*eta*xi*xi/8. - 1785.*xi/32. + 146475.*xi*(eta*eta)/32. - 595./32. - 76545.*eta*eta/32. + 2835.*(xi*xi)/32. + 9975.*(eta*eta*eta)/16. + 2625.*(xi*xi*xi)/32.);
    3498           0 :                       case 12:
    3499           0 :                         return sign * RealGradient(105.*eta*(45.*eta*xi - 18.*eta - 3.*xi + 5./2. + 15.*(eta*eta)/2. - 15.*xi*xi/2.), 9450.*eta*xi - 1680.*eta - 9450.*eta*xi*xi - 105.*xi/2. - 4725.*xi*eta*eta/2. + 175./2. - 945.*eta*eta/2. - 2205.*xi*xi/2. + 1575.*(eta*eta*eta) + 2625.*(xi*xi*xi)/2.);
    3500           0 :                       case 13:
    3501           0 :                         return sign * RealGradient(2835.*eta*(30.*eta*xi - 36.*eta + 30.*xi - 1. + 45.*(eta*eta) - 45.*xi*xi)/32., 76545.*eta*xi/8. - 7245.*eta/2. - 42525.*eta*xi*xi/8. + 127575.*xi/32. - 382725.*xi*eta*eta/32. - 11235./32. + 240975.*(eta*eta)/32. - 314685.*xi*xi/32. - 48825.*eta*eta*eta/16. + 212625.*(xi*xi*xi)/32.);
    3502           0 :                       case 14:
    3503           0 :                         return sign * RealGradient(840.*eta*(-30.*eta*xi + 18.*eta + 18.*xi - 5. - 15.*eta*eta - 15.*xi*xi), -60480.*eta*xi + 16800.*eta + 50400.*eta*(xi*xi) + 21000.*xi + 37800.*xi*(eta*eta) - 3500. - 22680.*eta*eta - 37800.*xi*xi + 8400.*(eta*eta*eta) + 21000.*(xi*xi*xi));
    3504           0 :                       case 15:
    3505           0 :                         return RealGradient(10080.*eta*(20.*eta*xi - 21.*eta - 14.*xi + 7. + 15.*(eta*eta) + 5.*(xi*xi)), 423360.*eta*xi - 94080.*eta - 403200.*eta*xi*xi - 70560.*xi - 453600.*xi*eta*eta + 9800. + 211680.*(eta*eta) + 141120.*(xi*xi) - 134400.*eta*eta*eta - 84000.*xi*xi*xi);
    3506           0 :                       case 16:
    3507           0 :                         return RealGradient(10080.*eta*(-40.*eta*xi + 21.*eta + 28.*xi - 7. - 15.*eta*eta - 25.*xi*xi), -846720.*eta*xi + 188160.*eta + 806400.*eta*(xi*xi) + 352800.*xi + 453600.*xi*(eta*eta) - 49000. - 211680.*eta*eta - 705600.*xi*xi + 67200.*(eta*eta*eta) + 420000.*(xi*xi*xi));
    3508           0 :                       case 17:
    3509           0 :                         return RealGradient(20160.*eta*(-10.*eta*xi + 3.*eta + 13.*xi - 3. - 10.*xi*xi), -241920.*eta*xi + 26880.*eta + 403200.*eta*(xi*xi) + 161280.*xi - 14560. - 443520.*xi*xi + 336000.*(xi*xi*xi));
    3510           0 :                       case 18:
    3511           0 :                         return RealGradient(10080.*eta*(10.*eta*xi - 3.*eta - 22.*xi + 4. + 25.*(xi*xi)), 120960.*eta*xi - 13440.*eta - 201600.*eta*xi*xi - 201600.*xi + 18200. + 554400.*(xi*xi) - 420000.*xi*xi*xi);
    3512           0 :                       case 19:
    3513           0 :                         return RealGradient(0., 6720.*eta - 280. - 30240.*eta*eta + 33600.*(eta*eta*eta));
    3514           0 :                       case 20:
    3515           0 :                         return RealGradient(0., -13440.*eta + 560. + 60480.*(eta*eta) - 67200.*eta*eta*eta);
    3516           0 :                       case 21:
    3517           0 :                         return RealGradient(8960.*eta*(-65.*eta*xi/3. + 14.*eta + 35.*xi/3. - 4. - 10.*eta*eta - 20.*xi*xi/3.), -340480.*eta*xi + 56000.*eta + 1164800.*eta*(xi*xi)/3. + 71680.*xi + 268800.*xi*(eta*eta) - 24920./3. - 81760.*eta*eta - 474880.*xi*xi/3. + 280000.*(eta*eta*eta)/9. + 896000.*(xi*xi*xi)/9.);
    3518           0 :                       case 22:
    3519           0 :                         return RealGradient(2240.*eta*(280.*eta*xi/3. - 49.*eta - 136.*xi/3. + 13. + 35.*(eta*eta) + 100.*(xi*xi)/3.), 371840.*eta*xi - 62720.*eta - 1254400.*eta*xi*xi/3. - 91840.*xi - 235200.*xi*eta*eta + 32480./3. + 76160.*(eta*eta) + 600320.*(xi*xi)/3. - 224000.*eta*eta*eta/9. - 1120000.*xi*xi*xi/9.);
    3520           0 :                       case 23:
    3521           0 :                         return RealGradient(2240.*eta*(-100.*eta*xi/3. + 34.*eta + 31.*xi/3. - 6. - 35.*eta*eta - 10.*xi*xi/3.), -183680.*eta*xi + 44800.*eta + 448000.*eta*(xi*xi)/3. + 20160.*xi + 235200.*xi*(eta*eta) - 10640./3. - 109760.*eta*eta - 89600.*xi*xi/3. + 627200.*(eta*eta*eta)/9. + 112000.*(xi*xi*xi)/9.);
    3522           0 :                       case 24:
    3523           0 :                         return RealGradient(1120.*eta*(250.*eta*xi/3. - 73.*eta - 70.*xi/3. + 12. + 80.*(eta*eta) + 25.*(xi*xi)/3.), 232960.*eta*xi - 58240.*eta - 560000.*eta*xi*xi/3. - 26880.*xi - 268800.*xi*eta*eta + 14840./3. + 125440.*(eta*eta) + 115360.*(xi*xi)/3. - 582400.*eta*eta*eta/9. - 140000.*xi*xi*xi/9.);
    3524           0 :                       case 25:
    3525           0 :                         return RealGradient(2240.*eta*(20.*eta*xi/3. - eta - 44.*xi/3. + 5. - 5.*eta*eta + 20.*(xi*xi)/3.), 4480.*eta*xi + 15680.*eta/3. - 89600.*eta*xi*xi/3. - 11200.*xi + 33600.*xi*(eta*eta) + 6440./9. - 25760.*eta*eta + 98560.*(xi*xi)/3. + 190400.*(eta*eta*eta)/9. - 224000.*xi*xi*xi/9.);
    3526           0 :                       case 26:
    3527           0 :                         return RealGradient(2240.*eta*(80.*eta*xi/3. - 23.*eta + 64.*xi/3. - 1. + 25.*(eta*eta) - 100.*xi*xi/3.), 165760.*eta*xi - 138880.*eta/3. - 358400.*eta*xi*xi/3. + 64960.*xi - 168000.*xi*eta*eta - 48160./9. + 80640.*(eta*eta) - 519680.*xi*xi/3. - 246400.*eta*eta*eta/9. + 1120000.*(xi*xi*xi)/9.);
    3528           0 :                       case 27:
    3529           0 :                         return RealGradient(1120.*eta*(-40.*eta*xi/3. + 11.*eta - 2.*xi/3. - 1. - 5.*eta*eta + 5.*(xi*xi)/3.), -24640.*eta*xi + 4480.*eta/3. + 89600.*eta*(xi*xi)/3. + 1120.*xi + 16800.*xi*(eta*eta) - 1400./9. + 5600.*(eta*eta) + 2240.*(xi*xi)/3. - 89600.*eta*eta*eta/9. - 28000.*xi*xi*xi/9.);
    3530           0 :                       case 28:
    3531           0 :                         return RealGradient(1120.*eta*(200.*eta*xi/3. - 17.*eta - 20.*xi/3. + 3. - 5.*eta*eta - 25.*xi*xi/3.), 116480.*eta*xi - 35840.*eta/3. - 448000.*eta*xi*xi/3. - 3360.*xi + 16800.*xi*(eta*eta) + 8680./9. - 30240.*eta*eta - 24640.*xi*xi/3. + 246400.*(eta*eta*eta)/9. + 140000.*(xi*xi*xi)/9.);
    3532           0 :                       case 29:
    3533           0 :                         return RealGradient(2240.*eta*(-110.*eta*xi/3. + 36.*eta + 71.*xi/3. - 12. - 25.*eta*eta - 20.*xi*xi/3.), -165760.*eta*xi + 89600.*eta/3. + 492800.*eta*(xi*xi)/3. + 24640.*xi + 168000.*xi*(eta*eta) - 29680./9. - 51520.*eta*eta - 138880.*xi*xi/3. + 179200.*(eta*eta*eta)/9. + 224000.*(xi*xi*xi)/9.);
    3534           0 :                       case 30:
    3535           0 :                         return RealGradient(1120.*eta*(170.*eta*xi/3. - 23.*eta - 134.*xi/3. + 10. + 10.*(eta*eta) + 125.*(xi*xi)/3.), 103040.*eta*xi - 31360.*eta/3. - 380800.*eta*xi*xi/3. - 56000.*xi - 33600.*xi*eta*eta + 51800./9. - 2240.*eta*eta + 375200.*(xi*xi)/3. + 44800.*(eta*eta*eta)/9. - 700000.*xi*xi*xi/9.);
    3536           0 :                       case 31:
    3537           0 :                         return RealGradient(1120.*eta*(220.*eta*xi/3. - 27.*eta - 178.*xi/3. + 17. + 5.*(eta*eta) + 85.*(xi*xi)/3.), 105280.*eta*xi - 22400.*eta/3. - 492800.*eta*xi*xi/3. - 32480.*xi - 16800.*xi*eta*eta + 27160./9. - 19040.*eta*eta + 239680.*(xi*xi)/3. + 224000.*(eta*eta*eta)/9. - 476000.*xi*xi*xi/9.);
    3538           0 :                       case 32:
    3539           0 :                         return RealGradient(1120.*eta*(-80.*eta*xi/3. + 5.*eta + 116.*xi/3. - 7. + 5.*(eta*eta) - 125.*xi*xi/3.), -22400.*eta*xi - 8960.*eta/3. + 179200.*eta*(xi*xi)/3. + 39200.*xi - 16800.*xi*eta*eta - 26600./9. + 12320.*(eta*eta) - 324800.*xi*xi/3. - 44800.*eta*eta*eta/9. + 700000.*(xi*xi*xi)/9.);
    3540           0 :                       case 33:
    3541           0 :                         return RealGradient(1120.*eta*(20.*eta*xi - 17.*eta - 8.*xi + 3. + 15.*(eta*eta) + 5.*(xi*xi)), 47040.*eta*xi - 29120.*eta/3. - 44800.*eta*xi*xi - 7840.*xi - 50400.*xi*eta*eta + 9520./9. + 20160.*(eta*eta) + 15680.*(xi*xi) - 11200.*eta*eta*eta - 28000.*xi*xi*xi/3.);
    3542           0 :                       case 34:
    3543           0 :                         return RealGradient(3360.*eta*(-10.*eta*xi + 6.*eta + 2.*xi - 1. - 5.*eta*eta), -67200.*eta*xi + 38080.*eta/3. + 67200.*eta*(xi*xi) + 3360.*xi + 50400.*xi*(eta*eta) - 5600./9. - 19040.*eta*eta - 3360.*xi*xi + 22400.*(eta*eta*eta)/3.);
    3544           0 :                       default:
    3545           0 :                         libmesh_error_msg("Invalid i = " << i);
    3546             :                       }
    3547             :                   } // j = 0
    3548             : 
    3549             :                   // d^2()/dxideta
    3550           0 :                 case 1:
    3551             :                   {
    3552           0 :                     switch(ii)
    3553             :                       {
    3554           0 :                       case 0:
    3555           0 :                         return sign * RealGradient(45360.*eta*xi - 16800.*eta - 25200.*eta*xi*xi - 12600.*xi - 37800.*xi*eta*eta + 2800. + 30240.*(eta*eta) + 15120.*(xi*xi) - 16800.*eta*eta*eta - 4200.*xi*xi*xi, -30240.*eta*xi + 4200.*eta + 37800.*eta*(xi*xi) + 8400.*xi + 25200.*xi*(eta*eta) - 700. - 7560.*eta*eta - 22680.*xi*xi + 4200.*(eta*eta*eta) + 16800.*(xi*xi*xi));
    3556           0 :                       case 1:
    3557           0 :                         return sign * RealGradient(-240975.*eta*xi/16. + 7245.*eta/2. + 146475.*eta*(xi*xi)/16. + 136185.*xi/32. + 382725.*xi*(eta*eta)/32. - 12145./16. - 76545.*eta*eta/16. - 20475.*xi*xi/4. + 14175.*(eta*eta*eta)/8. + 19425.*(xi*xi*xi)/16., 25515.*eta*xi/4. + 2835.*eta/32. - 382725.*eta*xi*xi/32. - 39375.*xi/16. - 42525.*xi*eta*eta/16. + 3045./32. - 42525.*eta*eta/32. + 252315.*(xi*xi)/32. + 42525.*(eta*eta*eta)/32. - 48825.*xi*xi*xi/8.);
    3558           0 :                       case 2:
    3559           0 :                         return sign * RealGradient(945.*eta*xi + 1680.*eta - 4725.*eta*xi*xi - 3255.*xi/2. + 4725.*xi*(eta*eta)/2. - 4725.*eta*eta + 3780.*(xi*xi) + 3150.*(eta*eta*eta) - 1575.*xi*xi*xi, 3780.*eta*xi - 525.*eta/2. - 4725.*eta*xi*xi/2. + 105.*xi - 4725.*xi*eta*eta + 35./2. + 315.*(eta*eta)/2. - 4725.*xi*xi/2. + 525.*(eta*eta*eta)/2. + 3150.*(xi*xi*xi));
    3560           0 :                       case 3:
    3561           0 :                         return sign * RealGradient(76545.*eta*xi/16. - 1155.*eta/2. - 29925.*eta*xi*xi/16. - 16695.*xi/32. - 146475.*xi*eta*eta/32. + 1855./16. - 945.*eta*eta/16. - 2835.*xi*xi/4. + 5775.*(eta*eta*eta)/8. + 19425.*(xi*xi*xi)/16., -4725.*eta*xi/4. + 1155.*eta/32. + 146475.*eta*(xi*xi)/32. + 9345.*xi/16. - 17325.*xi*eta*eta/16. - 875./32. + 2835.*(eta*eta)/32. - 65205.*xi*xi/32. + 525.*(eta*eta*eta)/32. + 9975.*(xi*xi*xi)/8.);
    3562           0 :                       case 4:
    3563           0 :                         return sign * RealGradient(-1680.*xi + 140. + 5040.*(xi*xi) - 4200.*xi*xi*xi, 0.);
    3564           0 :                       case 5:
    3565           0 :                         return sign * RealGradient(-1680.*xi + 140. + 5040.*(xi*xi) - 4200.*xi*xi*xi, 0.);
    3566           0 :                       case 6:
    3567           0 :                         return sign * RealGradient(76545.*eta*xi/8. - 1575.*eta - 42525.*eta*xi*xi/4. - 2835.*xi/2. - 127575.*xi*eta*eta/16. + 735./4. + 36855.*(eta*eta)/16. + 42525.*(xi*xi)/16. - 1575.*eta*eta*eta/2. - 42525.*xi*xi*xi/32., -31185.*eta*xi/8. + 525.*eta/2. + 127575.*eta*(xi*xi)/16. + 2205.*xi + 4725.*xi*(eta*eta)/4. - 455./4. - 2205.*eta*eta/16. - 127575.*xi*xi/16. + 525.*(eta*eta*eta)/32. + 14175.*(xi*xi*xi)/2.);
    3568           0 :                       case 7:
    3569           0 :                         return sign * RealGradient(9450.*eta*xi - 2520.*eta - 6300.*eta*xi*xi - 840.*xi - 14175.*xi*eta*eta + 175. + 6615.*(eta*eta) + 945.*(xi*xi) - 4200.*eta*eta*eta - 525.*xi*xi*xi/2., -9450.*eta*xi + 840.*eta + 14175.*eta*(xi*xi) + 2520.*xi + 6300.*xi*(eta*eta) - 175. - 945.*eta*eta - 6615.*xi*xi + 525.*(eta*eta*eta)/2. + 4200.*(xi*xi*xi));
    3570           0 :                       case 8:
    3571           0 :                         return sign * RealGradient(31185.*eta*xi/8. - 2205.*eta - 4725.*eta*xi*xi/4. - 525.*xi/2. - 127575.*xi*eta*eta/16. + 455./4. + 127575.*(eta*eta)/16. + 2205.*(xi*xi)/16. - 14175.*eta*eta*eta/2. - 525.*xi*xi*xi/32., -76545.*eta*xi/8. + 2835.*eta/2. + 127575.*eta*(xi*xi)/16. + 1575.*xi + 42525.*xi*(eta*eta)/4. - 735./4. - 42525.*eta*eta/16. - 36855.*xi*xi/16. + 42525.*(eta*eta*eta)/32. + 1575.*(xi*xi*xi)/2.);
    3572           0 :                       case 9:
    3573           0 :                         return sign * RealGradient(0., 1680.*eta - 140. - 5040.*eta*eta + 4200.*(eta*eta*eta));
    3574           0 :                       case 10:
    3575           0 :                         return sign * RealGradient(0., 1680.*eta - 140. - 5040.*eta*eta + 4200.*(eta*eta*eta));
    3576           0 :                       case 11:
    3577           0 :                         return sign * RealGradient(4725.*eta*xi/4. - 9345.*eta/16. + 17325.*eta*(xi*xi)/16. - 1155.*xi/32. - 146475.*xi*eta*eta/32. + 875./32. + 65205.*(eta*eta)/32. - 2835.*xi*xi/32. - 9975.*eta*eta*eta/8. - 525.*xi*xi*xi/32., -76545.*eta*xi/16. + 16695.*eta/32. + 146475.*eta*(xi*xi)/32. + 1155.*xi/2. + 29925.*xi*(eta*eta)/16. - 1855./16. + 2835.*(eta*eta)/4. + 945.*(xi*xi)/16. - 19425.*eta*eta*eta/16. - 5775.*xi*xi*xi/8.);
    3578           0 :                       case 12:
    3579           0 :                         return sign * RealGradient(-3780.*eta*xi - 105.*eta + 4725.*eta*(xi*xi) + 525.*xi/2. + 4725.*xi*(eta*eta)/2. - 35./2. + 4725.*(eta*eta)/2. - 315.*xi*xi/2. - 3150.*eta*eta*eta - 525.*xi*xi*xi/2., -945.*eta*xi + 3255.*eta/2. - 4725.*eta*xi*xi/2. - 1680.*xi + 4725.*xi*(eta*eta) - 3780.*eta*eta + 4725.*(xi*xi) + 1575.*(eta*eta*eta) - 3150.*xi*xi*xi);
    3580           0 :                       case 13:
    3581           0 :                         return sign * RealGradient(-25515.*eta*xi/4. + 39375.*eta/16. + 42525.*eta*(xi*xi)/16. - 2835.*xi/32. + 382725.*xi*(eta*eta)/32. - 3045./32. - 252315.*eta*eta/32. + 42525.*(xi*xi)/32. + 48825.*(eta*eta*eta)/8. - 42525.*xi*xi*xi/32., 240975.*eta*xi/16. - 136185.*eta/32. - 382725.*eta*xi*xi/32. - 7245.*xi/2. - 146475.*xi*eta*eta/16. + 12145./16. + 20475.*(eta*eta)/4. + 76545.*(xi*xi)/16. - 19425.*eta*eta*eta/16. - 14175.*xi*xi*xi/8.);
    3582           0 :                       case 14:
    3583           0 :                         return sign * RealGradient(30240.*eta*xi - 8400.*eta - 25200.*eta*xi*xi - 4200.*xi - 37800.*xi*eta*eta + 700. + 22680.*(eta*eta) + 7560.*(xi*xi) - 16800.*eta*eta*eta - 4200.*xi*xi*xi, -45360.*eta*xi + 12600.*eta + 37800.*eta*(xi*xi) + 16800.*xi + 25200.*xi*(eta*eta) - 2800. - 15120.*eta*eta - 30240.*xi*xi + 4200.*(eta*eta*eta) + 16800.*(xi*xi*xi));
    3584           0 :                       case 15:
    3585           0 :                         return RealGradient(-423360.*eta*xi + 188160.*eta + 201600.*eta*(xi*xi) + 70560.*xi + 453600.*xi*(eta*eta) - 19600. - 423360.*eta*eta - 70560.*xi*xi + 268800.*(eta*eta*eta) + 16800.*(xi*xi*xi), 423360.*eta*xi - 70560.*eta - 453600.*eta*xi*xi - 94080.*xi - 403200.*xi*eta*eta + 9800. + 141120.*(eta*eta) + 211680.*(xi*xi) - 84000.*eta*eta*eta - 134400.*xi*xi*xi);
    3586           0 :                       case 16:
    3587           0 :                         return RealGradient(423360.*eta*xi - 94080.*eta - 403200.*eta*xi*xi - 70560.*xi - 453600.*xi*eta*eta + 9800. + 211680.*(eta*eta) + 141120.*(xi*xi) - 134400.*eta*eta*eta - 84000.*xi*xi*xi, -423360.*eta*xi + 70560.*eta + 453600.*eta*(xi*xi) + 188160.*xi + 201600.*xi*(eta*eta) - 19600. - 70560.*eta*eta - 423360.*xi*xi + 16800.*(eta*eta*eta) + 268800.*(xi*xi*xi));
    3588           0 :                       case 17:
    3589           0 :                         return RealGradient(120960.*eta*xi - 13440.*eta - 201600.*eta*xi*xi - 60480.*xi + 6440. + 131040.*(xi*xi) - 67200.*xi*xi*xi, 26880.*xi - 1120. - 120960.*xi*xi + 134400.*(xi*xi*xi));
    3590           0 :                       case 18:
    3591           0 :                         return RealGradient(-60480.*eta*xi + 6720.*eta + 100800.*eta*(xi*xi) + 40320.*xi - 3640. - 110880.*xi*xi + 84000.*(xi*xi*xi), -13440.*xi + 560. + 60480.*(xi*xi) - 67200.*xi*xi*xi);
    3592           0 :                       case 19:
    3593           0 :                         return RealGradient(-13440.*eta + 560. + 60480.*(eta*eta) - 67200.*eta*eta*eta, -60480.*eta*xi + 40320.*eta + 6720.*xi + 100800.*xi*(eta*eta) - 3640. - 110880.*eta*eta + 84000.*(eta*eta*eta));
    3594           0 :                       case 20:
    3595           0 :                         return RealGradient(26880.*eta - 1120. - 120960.*eta*eta + 134400.*(eta*eta*eta), 120960.*eta*xi - 60480.*eta - 13440.*xi - 201600.*xi*eta*eta + 6440. + 131040.*(eta*eta) - 67200.*eta*eta*eta);
    3596           0 :                       case 21:
    3597           0 :                         return RealGradient(250880.*eta*xi - 58240.*eta - 582400.*eta*xi*xi/3. - 35840.*xi - 268800.*xi*eta*eta + 17920./3. + 116480.*(eta*eta) + 156800.*(xi*xi)/3. - 560000.*eta*eta*eta/9. - 179200.*xi*xi*xi/9., -163520.*eta*xi + 13440.*eta + 268800.*eta*(xi*xi) + 56000.*xi + 280000.*xi*(eta*eta)/3. - 10360./3. - 39200.*eta*eta/3. - 170240.*xi*xi + 28000.*(eta*eta*eta)/9. + 1164800.*(xi*xi*xi)/9.);
    3598           0 :                       case 22:
    3599           0 :                         return RealGradient(-219520.*eta*xi + 44800.*eta + 627200.*eta*(xi*xi)/3. + 29120.*xi + 235200.*xi*(eta*eta) - 12880./3. - 91840.*eta*eta - 152320.*xi*xi/3. + 448000.*(eta*eta*eta)/9. + 224000.*(xi*xi*xi)/9., 152320.*eta*xi - 13440.*eta - 235200.*eta*xi*xi - 62720.*xi - 224000.*xi*eta*eta/3. + 12040./3. + 34720.*(eta*eta)/3. + 185920.*(xi*xi) - 22400.*eta*eta*eta/9. - 1254400.*xi*xi*xi/9.);
    3600           0 :                       case 23:
    3601           0 :                         return RealGradient(152320.*eta*xi - 62720.*eta - 224000.*eta*xi*xi/3. - 13440.*xi - 235200.*xi*eta*eta + 12040./3. + 185920.*(eta*eta) + 34720.*(xi*xi)/3. - 1254400.*eta*eta*eta/9. - 22400.*xi*xi*xi/9., -219520.*eta*xi + 29120.*eta + 235200.*eta*(xi*xi) + 44800.*xi + 627200.*xi*(eta*eta)/3. - 12880./3. - 152320.*eta*eta/3. - 91840.*xi*xi + 224000.*(eta*eta*eta)/9. + 448000.*(xi*xi*xi)/9.);
    3602           0 :                       case 24:
    3603           0 :                         return RealGradient(-163520.*eta*xi + 56000.*eta + 280000.*eta*(xi*xi)/3. + 13440.*xi + 268800.*xi*(eta*eta) - 10360./3. - 170240.*eta*eta - 39200.*xi*xi/3. + 1164800.*(eta*eta*eta)/9. + 28000.*(xi*xi*xi)/9., 250880.*eta*xi - 35840.*eta - 268800.*eta*xi*xi - 58240.*xi - 582400.*xi*eta*eta/3. + 17920./3. + 156800.*(eta*eta)/3. + 116480.*(xi*xi) - 179200.*eta*eta*eta/9. - 560000.*xi*xi*xi/9.);
    3604           0 :                       case 25:
    3605           0 :                         return RealGradient(-4480.*eta*xi - 31360.*eta/3. + 44800.*eta*(xi*xi)/3. + 11200.*xi - 33600.*xi*eta*eta - 12880./9. + 51520.*(eta*eta) - 49280.*xi*xi/3. - 380800.*eta*eta*eta/9. + 44800.*(xi*xi*xi)/9., -51520.*eta*xi + 11200.*eta + 33600.*eta*(xi*xi) + 15680.*xi/3. + 190400.*xi*(eta*eta)/3. - 10360./9. - 75040.*eta*eta/3. + 2240.*(xi*xi) + 140000.*(eta*eta*eta)/9. - 89600.*xi*xi*xi/9.);
    3606           0 :                       case 26:
    3607           0 :                         return RealGradient(-103040.*eta*xi + 89600.*eta/3. + 179200.*eta*(xi*xi)/3. - 2240.*xi + 168000.*xi*(eta*eta) - 9520./9. - 82880.*eta*eta + 71680.*(xi*xi)/3. + 492800.*(eta*eta*eta)/9. - 224000.*xi*xi*xi/9., 161280.*eta*xi - 26880.*eta - 168000.*eta*xi*xi - 138880.*xi/3. - 246400.*xi*eta*eta/3. + 51800./9. + 79520.*(eta*eta)/3. + 82880.*(xi*xi) - 44800.*eta*eta*eta/9. - 358400.*xi*xi*xi/9.);
    3608           0 :                       case 27:
    3609           0 :                         return RealGradient(24640.*eta*xi - 8960.*eta/3. - 44800.*eta*xi*xi/3. - 1120.*xi - 16800.*xi*eta*eta + 2800./9. - 11200.*eta*eta - 1120.*xi*xi/3. + 179200.*(eta*eta*eta)/9. + 5600.*(xi*xi*xi)/9., 11200.*eta*xi - 7840.*eta + 16800.*eta*(xi*xi) + 4480.*xi/3. - 89600.*xi*eta*eta/3. + 5320./9. + 64960.*(eta*eta)/3. - 12320.*xi*xi - 140000.*eta*eta*eta/9. + 89600.*(xi*xi*xi)/9.);
    3610           0 :                       case 28:
    3611           0 :                         return RealGradient(-38080.*eta*xi - 22400.*eta/3. + 224000.*eta*(xi*xi)/3. + 3360.*xi - 16800.*xi*eta*eta + 280./9. + 52640.*(eta*eta) - 11200.*xi*xi/3. - 492800.*eta*eta*eta/9. - 28000.*xi*xi*xi/9., -60480.*eta*xi + 19040.*eta + 16800.*eta*(xi*xi) - 35840.*xi/3. + 246400.*xi*(eta*eta)/3. - 8960./9. - 99680.*eta*eta/3. + 58240.*(xi*xi) + 95200.*(eta*eta*eta)/9. - 448000.*xi*xi*xi/9.);
    3612           0 :                       case 29:
    3613           0 :                         return RealGradient(161280.*eta*xi - 138880.*eta/3. - 246400.*eta*xi*xi/3. - 26880.*xi - 168000.*xi*eta*eta + 51800./9. + 82880.*(eta*eta) + 79520.*(xi*xi)/3. - 358400.*eta*eta*eta/9. - 44800.*xi*xi*xi/9., -103040.*eta*xi - 2240.*eta + 168000.*eta*(xi*xi) + 89600.*xi/3. + 179200.*xi*(eta*eta)/3. - 9520./9. + 71680.*(eta*eta)/3. - 82880.*xi*xi - 224000.*eta*eta*eta/9. + 492800.*(xi*xi*xi)/9.);
    3614           0 :                       case 30:
    3615           0 :                         return RealGradient(-51520.*eta*xi + 15680.*eta/3. + 190400.*eta*(xi*xi)/3. + 11200.*xi + 33600.*xi*(eta*eta) - 10360./9. + 2240.*(eta*eta) - 75040.*xi*xi/3. - 89600.*eta*eta*eta/9. + 140000.*(xi*xi*xi)/9., -4480.*eta*xi + 11200.*eta - 33600.*eta*xi*xi - 31360.*xi/3. + 44800.*xi*(eta*eta)/3. - 12880./9. - 49280.*eta*eta/3. + 51520.*(xi*xi) + 44800.*(eta*eta*eta)/9. - 380800.*xi*xi*xi/9.);
    3616           0 :                       case 31:
    3617           0 :                         return RealGradient(-60480.*eta*xi - 35840.*eta/3. + 246400.*eta*(xi*xi)/3. + 19040.*xi + 16800.*xi*(eta*eta) - 8960./9. + 58240.*(eta*eta) - 99680.*xi*xi/3. - 448000.*eta*eta*eta/9. + 95200.*(xi*xi*xi)/9., -38080.*eta*xi + 3360.*eta - 16800.*eta*xi*xi - 22400.*xi/3. + 224000.*xi*(eta*eta)/3. + 280./9. - 11200.*eta*eta/3. + 52640.*(xi*xi) - 28000.*eta*eta*eta/9. - 492800.*xi*xi*xi/9.);
    3618           0 :                       case 32:
    3619           0 :                         return RealGradient(11200.*eta*xi + 4480.*eta/3. - 89600.*eta*xi*xi/3. - 7840.*xi + 16800.*xi*(eta*eta) + 5320./9. - 12320.*eta*eta + 64960.*(xi*xi)/3. + 89600.*(eta*eta*eta)/9. - 140000.*xi*xi*xi/9., 24640.*eta*xi - 1120.*eta - 16800.*eta*xi*xi - 8960.*xi/3. - 44800.*xi*eta*eta/3. + 2800./9. - 1120.*eta*eta/3. - 11200.*xi*xi + 5600.*(eta*eta*eta)/9. + 179200.*(xi*xi*xi)/9.);
    3620           0 :                       case 33:
    3621           0 :                         return RealGradient(-38080.*eta*xi + 38080.*eta/3. + 22400.*eta*(xi*xi) + 3360.*xi + 50400.*xi*(eta*eta) - 6440./9. - 33600.*eta*eta - 4480.*xi*xi + 22400.*(eta*eta*eta) + 5600.*(xi*xi*xi)/3., 40320.*eta*xi - 3360.*eta - 50400.*eta*xi*xi - 29120.*xi/3. - 33600.*xi*eta*eta + 6160./9. + 3360.*(eta*eta) + 23520.*(xi*xi) - 44800.*xi*xi*xi/3.);
    3622           0 :                       case 34:
    3623           0 :                         return RealGradient(40320.*eta*xi - 29120.*eta/3. - 33600.*eta*xi*xi - 3360.*xi - 50400.*xi*eta*eta + 6160./9. + 23520.*(eta*eta) + 3360.*(xi*xi) - 44800.*eta*eta*eta/3., -38080.*eta*xi + 3360.*eta + 50400.*eta*(xi*xi) + 38080.*xi/3. + 22400.*xi*(eta*eta) - 6440./9. - 4480.*eta*eta - 33600.*xi*xi + 5600.*(eta*eta*eta)/3. + 22400.*(xi*xi*xi));
    3624           0 :                       default:
    3625           0 :                         libmesh_error_msg("Invalid i = " << i);
    3626             :                       }
    3627             :                   } // j = 1
    3628             : 
    3629             :                   // d^2()/deta^2
    3630           0 :                 case 2:
    3631             :                   {
    3632           0 :                     switch(ii)
    3633             :                       {
    3634           0 :                       case 0:
    3635           0 :                         return sign * RealGradient(60480.*eta*xi - 21000.*eta - 37800.*eta*xi*xi - 16800.*xi - 50400.*xi*eta*eta + 3500. + 37800.*(eta*eta) + 22680.*(xi*xi) - 21000.*eta*eta*eta - 8400.*xi*xi*xi, 840.*xi*(30.*eta*xi - 18.*eta - 18.*xi + 5. + 15.*(eta*eta) + 15.*(xi*xi)));
    3636           0 :                       case 1:
    3637           0 :                         return sign * RealGradient(-76545.*eta*xi/8. - 127575.*eta/32. + 382725.*eta*(xi*xi)/32. + 7245.*xi/2. + 42525.*xi*(eta*eta)/8. + 11235./32. + 314685.*(eta*eta)/32. - 240975.*xi*xi/32. - 212625.*eta*eta*eta/32. + 48825.*(xi*xi*xi)/16., 2835.*xi*(-30.*eta*xi - 30.*eta + 36.*xi + 1. + 45.*(eta*eta) - 45.*xi*xi)/32.);
    3638           0 :                       case 2:
    3639           0 :                         return sign * RealGradient(-9450.*eta*xi + 105.*eta/2. + 4725.*eta*(xi*xi)/2. + 1680.*xi + 9450.*xi*(eta*eta) - 175./2. + 2205.*(eta*eta)/2. + 945.*(xi*xi)/2. - 2625.*eta*eta*eta/2. - 1575.*xi*xi*xi, 105.*xi*(-45.*eta*xi + 3.*eta + 18.*xi - 5./2. + 15.*(eta*eta)/2. - 15.*xi*xi/2.));
    3640           0 :                       case 3:
    3641           0 :                         return sign * RealGradient(-945.*eta*xi/8. + 1785.*eta/32. - 146475.*eta*xi*xi/32. - 1155.*xi/2. + 17325.*xi*(eta*eta)/8. + 595./32. - 2835.*eta*eta/32. + 76545.*(xi*xi)/32. - 2625.*eta*eta*eta/32. - 9975.*xi*xi*xi/16., 105.*xi*(-330.*eta*xi + 54.*eta - 180.*xi + 11. + 15.*(eta*eta) + 465.*(xi*xi))/32.);
    3642           0 :                       case 4:
    3643           0 :                         return sign * RealGradient(0., 0.);
    3644           0 :                       case 5:
    3645           0 :                         return sign * RealGradient(0., 0.);
    3646           0 :                       case 6:
    3647           0 :                         return sign * RealGradient(36855.*eta*xi/8. - 735.*eta/2. - 127575.*eta*xi*xi/16. - 1575.*xi - 4725.*xi*eta*eta/2. + 385./4. + 5355.*(eta*eta)/16. + 76545.*(xi*xi)/16. - 2625.*eta*eta*eta/32. - 14175.*xi*xi*xi/4., 105.*xi*(360.*eta*xi - 84.*eta - 594.*xi + 80. + 15.*(eta*eta) + 810.*(xi*xi))/32.);
    3648           0 :                       case 7:
    3649           0 :                         return sign * RealGradient(13230.*eta*xi - 1680.*eta - 14175.*eta*xi*xi - 2520.*xi - 12600.*xi*eta*eta + 245. + 2835.*(eta*eta) + 4725.*(xi*xi) - 2625.*eta*eta*eta/2. - 2100.*xi*xi*xi, 105.*xi*(60.*eta*xi - 18.*eta - 45.*xi + 8. + 15.*(eta*eta)/2. + 45.*(xi*xi)));
    3650           0 :                       case 8:
    3651           0 :                         return sign * RealGradient(127575.*eta*xi/8. - 8505.*eta/2. - 127575.*eta*xi*xi/16. - 2205.*xi - 42525.*xi*eta*eta/2. + 1785./4. + 161595.*(eta*eta)/16. + 31185.*(xi*xi)/16. - 212625.*eta*eta*eta/32. - 1575.*xi*xi*xi/4., 2835.*xi*(120.*eta*xi - 60.*eta - 54.*xi + 16. + 45.*(eta*eta) + 30.*(xi*xi))/32.);
    3652           0 :                       case 9:
    3653           0 :                         return sign * RealGradient(-8400.*eta + 700. + 25200.*(eta*eta) - 21000.*eta*eta*eta, 840.*xi*(-12.*eta + 2. + 15.*(eta*eta)));
    3654           0 :                       case 10:
    3655           0 :                         return sign * RealGradient(-8400.*eta + 700. + 25200.*(eta*eta) - 21000.*eta*eta*eta, -10080.*eta*xi + 6720.*eta + 1680.*xi + 12600.*xi*(eta*eta) - 1260. - 7560.*eta*eta);
    3656           0 :                       case 11:
    3657           0 :                         return sign * RealGradient(65205.*eta*xi/16. + 66465.*eta/32. - 146475.*eta*xi*xi/32. - 9345.*xi/16. - 29925.*xi*eta*eta/8. - 595./4. - 110565.*eta*eta/16. + 4725.*(xi*xi)/8. + 97125.*(eta*eta*eta)/16. + 5775.*(xi*xi*xi)/16., 2835.*eta*xi/2. - 29085.*eta/16. + 29925.*eta*(xi*xi)/16. + 16695.*xi/32. - 58275.*xi*eta*eta/16. + 9345./32. + 34965.*(eta*eta)/16. - 76545.*xi*xi/32. + 48825.*(xi*xi*xi)/32.);
    3658           0 :                       case 12:
    3659           0 :                         return sign * RealGradient(4725.*eta*xi - 7455.*eta/2. + 4725.*eta*(xi*xi)/2. - 105.*xi - 9450.*xi*eta*eta + 315. + 10395.*(eta*eta) - 1890.*xi*xi - 7875.*eta*eta*eta + 1575.*(xi*xi*xi), -7560.*eta*xi + 2835.*eta + 4725.*eta*(xi*xi) + 3255.*xi/2. + 4725.*xi*(eta*eta) - 1155./2. - 2835.*eta*eta - 945.*xi*xi/2. - 1575.*xi*xi*xi/2.);
    3660           0 :                       case 13:
    3661           0 :                         return sign * RealGradient(-252315.*eta*xi/16. + 125265.*eta/32. + 382725.*eta*(xi*xi)/32. + 39375.*xi/16. + 146475.*xi*(eta*eta)/8. - 1715./4. - 145845.*eta*eta/16. - 25515.*xi*xi/8. + 97125.*(eta*eta*eta)/16. + 14175.*(xi*xi*xi)/16., 20475.*eta*xi/2. - 40845.*eta/16. - 146475.*eta*xi*xi/16. - 136185.*xi/32. - 58275.*xi*eta*eta/16. + 21105./32. + 34965.*(eta*eta)/16. + 240975.*(xi*xi)/32. - 127575.*xi*xi*xi/32.);
    3662           0 :                       case 14:
    3663           0 :                         return sign * RealGradient(45360.*eta*xi - 12600.*eta - 37800.*eta*xi*xi - 8400.*xi - 50400.*xi*eta*eta + 1400. + 30240.*(eta*eta) + 15120.*(xi*xi) - 21000.*eta*eta*eta - 8400.*xi*xi*xi, -30240.*eta*xi + 8400.*eta + 25200.*eta*(xi*xi) + 12600.*xi + 12600.*xi*(eta*eta) - 2100. - 7560.*eta*eta - 22680.*xi*xi + 12600.*(xi*xi*xi));
    3664           0 :                       case 15:
    3665           0 :                         return RealGradient(-846720.*eta*xi + 352800.*eta + 453600.*eta*(xi*xi) + 188160.*xi + 806400.*xi*(eta*eta) - 49000. - 705600.*eta*eta - 211680.*xi*xi + 420000.*(eta*eta*eta) + 67200.*(xi*xi*xi), 10080.*xi*(-40.*eta*xi + 28.*eta + 21.*xi - 7. - 25.*eta*eta - 15.*xi*xi));
    3666           0 :                       case 16:
    3667           0 :                         return RealGradient(423360.*eta*xi - 70560.*eta - 453600.*eta*xi*xi - 94080.*xi - 403200.*xi*eta*eta + 9800. + 141120.*(eta*eta) + 211680.*(xi*xi) - 84000.*eta*eta*eta - 134400.*xi*xi*xi, 10080.*xi*(20.*eta*xi - 14.*eta - 21.*xi + 7. + 5.*(eta*eta) + 15.*(xi*xi)));
    3668           0 :                       case 17:
    3669           0 :                         return RealGradient(-13440.*xi + 560. + 60480.*(xi*xi) - 67200.*xi*xi*xi, 0.);
    3670           0 :                       case 18:
    3671           0 :                         return RealGradient(6720.*xi - 280. - 30240.*xi*xi + 33600.*(xi*xi*xi), 0.);
    3672           0 :                       case 19:
    3673           0 :                         return RealGradient(120960.*eta*xi - 201600.*eta - 13440.*xi - 201600.*xi*eta*eta + 18200. + 554400.*(eta*eta) - 420000.*eta*eta*eta, 10080.*xi*(10.*eta*xi - 22.*eta - 3.*xi + 4. + 25.*(eta*eta)));
    3674           0 :                       case 20:
    3675           0 :                         return RealGradient(-241920.*eta*xi + 161280.*eta + 26880.*xi + 403200.*xi*(eta*eta) - 14560. - 443520.*eta*eta + 336000.*(eta*eta*eta), 20160.*xi*(-10.*eta*xi + 13.*eta + 3.*xi - 3. - 10.*eta*eta));
    3676           0 :                       case 21:
    3677           0 :                         return RealGradient(232960.*eta*xi - 26880.*eta - 268800.*eta*xi*xi - 58240.*xi - 560000.*xi*eta*eta/3. + 14840./3. + 115360.*(eta*eta)/3. + 125440.*(xi*xi) - 140000.*eta*eta*eta/9. - 582400.*xi*xi*xi/9., 1120.*xi*(250.*eta*xi/3. - 70.*eta/3. - 73.*xi + 12. + 25.*(eta*eta)/3. + 80.*(xi*xi)));
    3678           0 :                       case 22:
    3679           0 :                         return RealGradient(-183680.*eta*xi + 20160.*eta + 235200.*eta*(xi*xi) + 44800.*xi + 448000.*xi*(eta*eta)/3. - 10640./3. - 89600.*eta*eta/3. - 109760.*xi*xi + 112000.*(eta*eta*eta)/9. + 627200.*(xi*xi*xi)/9., 2240.*xi*(-100.*eta*xi/3. + 31.*eta/3. + 34.*xi - 6. - 10.*eta*eta/3. - 35.*xi*xi));
    3680           0 :                       case 23:
    3681           0 :                         return RealGradient(371840.*eta*xi - 91840.*eta - 235200.*eta*xi*xi - 62720.*xi - 1254400.*xi*eta*eta/3. + 32480./3. + 600320.*(eta*eta)/3. + 76160.*(xi*xi) - 1120000.*eta*eta*eta/9. - 224000.*xi*xi*xi/9., 2240.*xi*(280.*eta*xi/3. - 136.*eta/3. - 49.*xi + 13. + 100.*(eta*eta)/3. + 35.*(xi*xi)));
    3682           0 :                       case 24:
    3683           0 :                         return RealGradient(-340480.*eta*xi + 71680.*eta + 268800.*eta*(xi*xi) + 56000.*xi + 1164800.*xi*(eta*eta)/3. - 24920./3. - 474880.*eta*eta/3. - 81760.*xi*xi + 896000.*(eta*eta*eta)/9. + 280000.*(xi*xi*xi)/9., 8960.*xi*(-65.*eta*xi/3. + 35.*eta/3. + 14.*xi - 4. - 20.*eta*eta/3. - 10.*xi*xi));
    3684           0 :                       case 25:
    3685           0 :                         return RealGradient(103040.*eta*xi - 56000.*eta - 33600.*eta*xi*xi - 31360.*xi/3. - 380800.*xi*eta*eta/3. + 51800./9. + 375200.*(eta*eta)/3. - 2240.*xi*xi - 700000.*eta*eta*eta/9. + 44800.*(xi*xi*xi)/9., 1120.*xi*(170.*eta*xi/3. - 134.*eta/3. - 23.*xi + 10. + 125.*(eta*eta)/3. + 10.*(xi*xi)));
    3686           0 :                       case 26:
    3687           0 :                         return RealGradient(-165760.*eta*xi + 24640.*eta + 168000.*eta*(xi*xi) + 89600.*xi/3. + 492800.*xi*(eta*eta)/3. - 29680./9. - 138880.*eta*eta/3. - 51520.*xi*xi + 224000.*(eta*eta*eta)/9. + 179200.*(xi*xi*xi)/9., 2240.*xi*(-110.*eta*xi/3. + 71.*eta/3. + 36.*xi - 12. - 20.*eta*eta/3. - 25.*xi*xi));
    3688           0 :                       case 27:
    3689           0 :                         return RealGradient(-22400.*eta*xi + 39200.*eta - 16800.*eta*xi*xi - 8960.*xi/3. + 179200.*xi*(eta*eta)/3. - 26600./9. - 324800.*eta*eta/3. + 12320.*(xi*xi) + 700000.*(eta*eta*eta)/9. - 44800.*xi*xi*xi/9., 1120.*xi*(-80.*eta*xi/3. + 116.*eta/3. + 5.*xi - 7. - 125.*eta*eta/3. + 5.*(xi*xi)));
    3690           0 :                       case 28:
    3691           0 :                         return RealGradient(105280.*eta*xi - 32480.*eta - 16800.*eta*xi*xi - 22400.*xi/3. - 492800.*xi*eta*eta/3. + 27160./9. + 239680.*(eta*eta)/3. - 19040.*xi*xi - 476000.*eta*eta*eta/9. + 224000.*(xi*xi*xi)/9., 1120.*xi*(220.*eta*xi/3. - 178.*eta/3. - 27.*xi + 17. + 85.*(eta*eta)/3. + 5.*(xi*xi)));
    3692           0 :                       case 29:
    3693           0 :                         return RealGradient(165760.*eta*xi + 64960.*eta - 168000.*eta*xi*xi - 138880.*xi/3. - 358400.*xi*eta*eta/3. - 48160./9. - 519680.*eta*eta/3. + 80640.*(xi*xi) + 1120000.*(eta*eta*eta)/9. - 246400.*xi*xi*xi/9., 2240.*xi*(80.*eta*xi/3. + 64.*eta/3. - 23.*xi - 1. - 100.*eta*eta/3. + 25.*(xi*xi)));
    3694           0 :                       case 30:
    3695           0 :                         return RealGradient(4480.*eta*xi - 11200.*eta + 33600.*eta*(xi*xi) + 15680.*xi/3. - 89600.*xi*eta*eta/3. + 6440./9. + 98560.*(eta*eta)/3. - 25760.*xi*xi - 224000.*eta*eta*eta/9. + 190400.*(xi*xi*xi)/9., 2240.*xi*(20.*eta*xi/3. - 44.*eta/3. - xi + 5. + 20.*(eta*eta)/3. - 5.*xi*xi));
    3696           0 :                       case 31:
    3697           0 :                         return RealGradient(116480.*eta*xi - 3360.*eta + 16800.*eta*(xi*xi) - 35840.*xi/3. - 448000.*xi*eta*eta/3. + 8680./9. - 24640.*eta*eta/3. - 30240.*xi*xi + 140000.*(eta*eta*eta)/9. + 246400.*(xi*xi*xi)/9., 1120.*xi*(200.*eta*xi/3. - 20.*eta/3. - 17.*xi + 3. - 25.*eta*eta/3. - 5.*xi*xi));
    3698           0 :                       case 32:
    3699           0 :                         return RealGradient(-24640.*eta*xi + 1120.*eta + 16800.*eta*(xi*xi) + 4480.*xi/3. + 89600.*xi*(eta*eta)/3. - 1400./9. + 2240.*(eta*eta)/3. + 5600.*(xi*xi) - 28000.*eta*eta*eta/9. - 89600.*xi*xi*xi/9., 1120.*xi*(-40.*eta*xi/3. - 2.*eta/3. + 11.*xi - 1. + 5.*(eta*eta)/3. - 5.*xi*xi));
    3700           0 :                       case 33:
    3701           0 :                         return RealGradient(-67200.*eta*xi + 3360.*eta + 50400.*eta*(xi*xi) + 38080.*xi/3. + 67200.*xi*(eta*eta) - 5600./9. - 3360.*eta*eta - 19040.*xi*xi + 22400.*(xi*xi*xi)/3., 3360.*xi*(-10.*eta*xi + 2.*eta + 6.*xi - 1. - 5.*xi*xi));
    3702           0 :                       case 34:
    3703           0 :                         return RealGradient(47040.*eta*xi - 7840.*eta - 50400.*eta*xi*xi - 29120.*xi/3. - 44800.*xi*eta*eta + 9520./9. + 15680.*(eta*eta) + 20160.*(xi*xi) - 28000.*eta*eta*eta/3. - 11200.*xi*xi*xi, 1120.*xi*(20.*eta*xi - 8.*eta - 17.*xi + 3. + 5.*(eta*eta) + 15.*(xi*xi)));
    3704           0 :                       default:
    3705           0 :                         libmesh_error_msg("Invalid i = " << i);
    3706             :                       }
    3707             :                   } // j = 2
    3708             : 
    3709           0 :                 default:
    3710           0 :                   libmesh_error_msg("Invalid j = " << j);
    3711             :                 }
    3712             :             }
    3713             : 
    3714           0 :           default:
    3715           0 :             libmesh_error_msg("ERROR: Unsupported 2D element type!: " << Utility::enum_to_string(elem->type()));
    3716             :           } // end switch (type)
    3717             :       } // end case FIFTH
    3718             : 
    3719             :       // unsupported order
    3720           0 :     default:
    3721           0 :       libmesh_error_msg("ERROR: Unsupported 2D FE order!: " << totalorder);
    3722             : 
    3723             :     } // end switch (order)
    3724             : 
    3725             : #else // LIBMESH_DIM > 1
    3726             :   libmesh_assert(true || i || j);
    3727             :   libmesh_ignore(elem, order, add_p_level);
    3728             :   libmesh_not_implemented();
    3729             : #endif
    3730             : }
    3731             : 
    3732             : 
    3733             : 
    3734             : template <>
    3735           0 : RealGradient FE<2,NEDELEC_ONE>::shape_second_deriv(const ElemType,
    3736             :                                                    const Order,
    3737             :                                                    const unsigned int,
    3738             :                                                    const unsigned int,
    3739             :                                                    const Point &)
    3740             : {
    3741           0 :   libmesh_error_msg("Nedelec elements require the element type \nbecause edge orientation is needed.");
    3742             :   return RealGradient();
    3743             : }
    3744             : 
    3745             : 
    3746             : template <>
    3747           0 : RealGradient FE<2,NEDELEC_ONE>::shape_second_deriv(const FEType fet,
    3748             :                                                    const Elem * elem,
    3749             :                                                    const unsigned int i,
    3750             :                                                    const unsigned int j,
    3751             :                                                    const Point & p,
    3752             :                                                    const bool add_p_level)
    3753             : {
    3754           0 :   return FE<2,NEDELEC_ONE>::shape_second_deriv(elem, fet.order, i, j, p, add_p_level);
    3755             : }
    3756             : 
    3757             : 
    3758             : 
    3759             : #endif
    3760             : 
    3761             : } // namespace libMesh

Generated by: LCOV version 1.14