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++)
120 const unsigned int i,
123 libmesh_assert(elem);
133 const Order libmesh_dbg_var(order),
134 const unsigned int i,
135 const unsigned int j,
141 libmesh_assert_less (j, 2);
143 libmesh_assert_less (i, (static_cast<unsigned int>(order)+1)*
144 (static_cast<unsigned int>(order)+2)/2);
146 const Real xi = p(0);
147 const Real eta = p(1);
200 return 2.*xi*eta*eta;
210 for (; i >= (o+1)*(o+2)/2; o++) { }
211 unsigned int ny = i - (o*(o+1)/2);
212 unsigned int nx = o - ny;
214 for (
unsigned int index=1; index < nx; index++)
216 for (
unsigned int index=0; index != ny; index++)
273 return 3.*xi*eta*eta;
276 return 4.*eta*eta*eta;
280 for (; i >= (o+1)*(o+2)/2; o++) { }
281 unsigned int ny = i - (o*(o+1)/2);
282 unsigned int nx = o - ny;
284 for (
unsigned int index=0; index != nx; index++)
286 for (
unsigned int index=1; index < ny; index++)
293 libmesh_error_msg(
"Invalid shape function derivative j = " << j);
306 const unsigned int i,
307 const unsigned int j,
310 libmesh_assert(elem);
320 const Order libmesh_dbg_var(order),
321 const unsigned int i,
322 const unsigned int j,
328 libmesh_assert_less_equal (j, 2);
330 libmesh_assert_less (i, (static_cast<unsigned int>(order)+1)*
331 (static_cast<unsigned int>(order)+2)/2);
333 const Real xi = p(0);
334 const Real eta = p(1);
387 for (; i >= (o+1)*(o+2)/2; o++) { }
388 unsigned int ny = i - (o*(o+1)/2);
389 unsigned int nx = o - ny;
390 Real val = nx * (nx - 1);
391 for (
unsigned int index=2; index < nx; index++)
393 for (
unsigned int index=0; index != ny; index++)
452 for (; i >= (o+1)*(o+2)/2; o++) { }
453 unsigned int ny = i - (o*(o+1)/2);
454 unsigned int nx = o - ny;
456 for (
unsigned int index=1; index < nx; index++)
458 for (
unsigned int index=1; index < ny; index++)
514 for (; i >= (o+1)*(o+2)/2; o++) { }
515 unsigned int ny = i - (o*(o+1)/2);
516 unsigned int nx = o - ny;
517 Real val = ny * (ny - 1);
518 for (
unsigned int index=0; index != nx; index++)
520 for (
unsigned int index=2; index < ny; index++)
527 libmesh_error_msg(
"Invalid shape function derivative j = " << j);
540 const unsigned int i,
541 const unsigned int j,
544 libmesh_assert(elem);
static OutputShape shape(const ElemType t, const Order o, const unsigned int i, const Point &p)
The base class for all geometric element types.
static OutputShape shape_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)
unsigned int p_level() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual ElemType type() const =0
A geometric point in (x,y,z) space.
static OutputShape shape_second_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)