20 #include "libmesh/enum_elem_type.h" 
   21 #include "libmesh/enum_order.h" 
   22 #include "libmesh/point.h" 
   33   libmesh_assert_less (i, 2);
 
   44       libmesh_error_msg(
"Invalid shape function index i = " << i);
 
   54   libmesh_assert_less (i, 3);
 
   59       return .5*xi*(xi - 1.);
 
   62       return .5*xi*(xi + 1);
 
   68       libmesh_error_msg(
"Invalid shape function index i = " << i);
 
   78   libmesh_assert_less (i, 4);
 
   83       return 9./16.*(1./9.-xi*xi)*(xi-1.);
 
   86       return -9./16.*(1./9.-xi*xi)*(xi+1.);
 
   89       return 27./16.*(1.-xi*xi)*(1./3.-xi);
 
   92       return 27./16.*(1.-xi*xi)*(1./3.+xi);
 
   95       libmesh_error_msg(
"Invalid shape function index i = " << i);
 
  103                           const unsigned int i,
 
  121       libmesh_error_msg(
"ERROR: Unsupported polynomial order = " << order);
 
  129                                        const unsigned int libmesh_dbg_var(j),
 
  133   libmesh_assert_equal_to (j, 0);
 
  135   libmesh_assert_less (i, 2);
 
  146       libmesh_error_msg(
"Invalid shape function index i = " << i);
 
  153                                           const unsigned int libmesh_dbg_var(j),
 
  157   libmesh_assert_equal_to (j, 0);
 
  159   libmesh_assert_less (i, 3);
 
  173       libmesh_error_msg(
"Invalid shape function index i = " << i);
 
  180                                       const unsigned int libmesh_dbg_var(j),
 
  184   libmesh_assert_equal_to (j, 0);
 
  186   libmesh_assert_less (i, 4);
 
  191       return -9./16.*(3.*xi*xi-2.*xi-1./9.);
 
  194       return -9./16.*(-3.*xi*xi-2.*xi+1./9.);
 
  197       return 27./16.*(3.*xi*xi-2./3.*xi-1.);
 
  200       return 27./16.*(-3.*xi*xi-2./3.*xi+1.);
 
  203       libmesh_error_msg(
"Invalid shape function index i = " << i);
 
  211                                 const unsigned int i,
 
  212                                 const unsigned int j,
 
  227       libmesh_error_msg(
"ERROR: Unsupported polynomial order = " << order);
 
  232 #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES 
  239                                                  const unsigned int libmesh_dbg_var(j),
 
  244   libmesh_assert_equal_to (j, 0);
 
  258       libmesh_error_msg(
"Invalid shape function index i = " << i);
 
  265                                              const unsigned int libmesh_dbg_var(j),
 
  270   libmesh_assert_equal_to (j, 0);
 
  275       return -9./16.*(6.*xi-2);
 
  278       return -9./16.*(-6*xi-2.);
 
  281       return 27./16.*(6*xi-2./3.);
 
  284       return 27./16.*(-6*xi-2./3.);
 
  287       libmesh_error_msg(
"Invalid shape function index i = " << i);
 
  295                                        const unsigned int i,
 
  296                                        const unsigned int j,
 
  312       libmesh_error_msg(
"ERROR: Unsupported polynomial order = " << order);
 
  316 #endif // LIBMESH_ENABLE_SECOND_DERIVATIVES