22 #include "libmesh/fe.h" 
   23 #include "libmesh/elem.h" 
   33                            const Order libmesh_dbg_var(order),
 
   39   libmesh_assert_less (i, (static_cast<unsigned int>(order)+1)*
 
   40                        (static_cast<unsigned int>(order)+2)/2);
 
   43   const Real eta = p(1);
 
   92       return xi*eta*eta*eta;
 
   95       return eta*eta*eta*eta;
 
   99       for (; i >= (o+1)*(o+2)/2; o++) { }
 
  100       unsigned int ny = i - (o*(o+1)/2);
 
  101       unsigned int nx = o - ny;
 
  103       for (
unsigned int index=0; index != nx; index++)
 
  105       for (
unsigned int index=0; index != ny; index++)
 
  110 #else // LIBMESH_DIM == 1 
  113   libmesh_not_implemented();
 
  122                            const unsigned int i,
 
  124                            const bool add_p_level)
 
  136                                  const Order libmesh_dbg_var(order),
 
  137                                  const unsigned int i,
 
  138                                  const unsigned int j,
 
  144   libmesh_assert_less (j, 2);
 
  146   libmesh_assert_less (i, (static_cast<unsigned int>(order)+1)*
 
  147                        (static_cast<unsigned int>(order)+2)/2);
 
  149   const Real xi  = p(0);
 
  150   const Real eta = p(1);
 
  203             return 2.*xi*eta*eta;
 
  213             for (; i >= (o+1)*(o+2)/2; o++) { }
 
  214             unsigned int ny = i - (o*(o+1)/2);
 
  215             unsigned int nx = o - ny;
 
  217             for (
unsigned int index=1; index < nx; index++)
 
  219             for (
unsigned int index=0; index != ny; index++)
 
  276             return 3.*xi*eta*eta;
 
  279             return 4.*eta*eta*eta;
 
  283             for (; i >= (o+1)*(o+2)/2; o++) { }
 
  284             unsigned int ny = i - (o*(o+1)/2);
 
  285             unsigned int nx = o - ny;
 
  287             for (
unsigned int index=0; index != nx; index++)
 
  289             for (
unsigned int index=1; index < ny; index++)
 
  296       libmesh_error_msg(
"Invalid shape function derivative j = " << j);
 
  299 #else // LIBMESH_DIM == 1 
  302   libmesh_not_implemented();
 
  311                                  const unsigned int i,
 
  312                                  const unsigned int j,
 
  314                                  const bool add_p_level)
 
  323 #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES 
  327                                         const Order libmesh_dbg_var(order),
 
  328                                         const unsigned int i,
 
  329                                         const unsigned int j,
 
  335   libmesh_assert_less_equal (j, 2);
 
  337   libmesh_assert_less (i, (static_cast<unsigned int>(order)+1)*
 
  338                        (static_cast<unsigned int>(order)+2)/2);
 
  340   const Real xi  = p(0);
 
  341   const Real eta = p(1);
 
  394             for (; i >= (o+1)*(o+2)/2; o++) { }
 
  395             unsigned int ny = i - (o*(o+1)/2);
 
  396             unsigned int nx = o - ny;
 
  397             Real val = nx * (nx - 1);
 
  398             for (
unsigned int index=2; index < nx; index++)
 
  400             for (
unsigned int index=0; index != ny; index++)
 
  459             for (; i >= (o+1)*(o+2)/2; o++) { }
 
  460             unsigned int ny = i - (o*(o+1)/2);
 
  461             unsigned int nx = o - ny;
 
  463             for (
unsigned int index=1; index < nx; index++)
 
  465             for (
unsigned int index=1; index < ny; index++)
 
  521             for (; i >= (o+1)*(o+2)/2; o++) { }
 
  522             unsigned int ny = i - (o*(o+1)/2);
 
  523             unsigned int nx = o - ny;
 
  524             Real val = ny * (ny - 1);
 
  525             for (
unsigned int index=0; index != nx; index++)
 
  527             for (
unsigned int index=2; index < ny; index++)
 
  534       libmesh_error_msg(
"Invalid shape function derivative j = " << j);
 
  537 #else // LIBMESH_DIM == 1 
  540   libmesh_not_implemented();
 
  549                                         const unsigned int i,
 
  550                                         const unsigned int j,
 
  552                                         const bool add_p_level)