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