19 #ifndef LIBMESH_FE_LAGRANGE_SHAPE_1D_H 20 #define LIBMESH_FE_LAGRANGE_SHAPE_1D_H 23 #include "libmesh/enum_order.h" 24 #include "libmesh/point.h" 35 libmesh_assert_less (i, 2);
54 libmesh_assert_less (i, 3);
59 return .5*xi*(xi - 1.);
62 return .5*xi*(xi + 1);
76 libmesh_assert_less (i, 4);
81 return 9./16.*(1./9.-xi*xi)*(xi-1.);
84 return -9./16.*(1./9.-xi*xi)*(xi+1.);
87 return 27./16.*(1.-xi*xi)*(1./3.-xi);
91 return 27./16.*(1.-xi*xi)*(1./3.+xi);
102 libmesh_assert_less_equal(order,
THIRD);
125 const unsigned int libmesh_dbg_var(j),
129 libmesh_assert_equal_to (j, 0);
131 libmesh_assert_less (i, 2);
147 const unsigned int libmesh_dbg_var(j),
151 libmesh_assert_equal_to (j, 0);
153 libmesh_assert_less (i, 3);
172 const unsigned int libmesh_dbg_var(j),
176 libmesh_assert_equal_to (j, 0);
178 libmesh_assert_less (i, 4);
183 return -9./16.*(3.*xi*xi-2.*xi-1./9.);
186 return -9./16.*(-3.*xi*xi-2.*xi+1./9.);
189 return 27./16.*(3.*xi*xi-2./3.*xi-1.);
193 return 27./16.*(-3.*xi*xi-2./3.*xi+1.);
201 const unsigned int i,
202 const unsigned int j,
205 libmesh_assert_less_equal(order,
THIRD);
222 #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES 229 const unsigned int libmesh_dbg_var(j),
234 libmesh_assert_equal_to (j, 0);
235 libmesh_assert_less(i, 3);
254 const unsigned int libmesh_dbg_var(j),
259 libmesh_assert_equal_to (j, 0);
260 libmesh_assert_less(i, 4);
265 return -9./16.*(6.*xi-2);
268 return -9./16.*(-6*xi-2.);
271 return 27./16.*(6*xi-2./3.);
275 return 27./16.*(-6*xi-2./3.);
283 const unsigned int i,
284 const unsigned int j,
287 libmesh_assert_less_equal(order,
THIRD);
304 #endif // LIBMESH_ENABLE_SECOND_DERIVATIVES 308 #endif // LIBMESH_FE_LAGRANGE_SHAPE_1D_H Real fe_lagrange_1D_quadratic_shape_second_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real)
Real fe_lagrange_1D_linear_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real)
Real fe_lagrange_1D_cubic_shape_second_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
Order
defines an enum for polynomial orders.
Real fe_lagrange_1D_shape_second_deriv(const Order order, const unsigned int i, const unsigned int j, const Real xi)
Real fe_lagrange_1D_quadratic_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
Real fe_lagrange_1D_quadratic_shape(const unsigned int i, const Real xi)
Real fe_lagrange_1D_cubic_shape_deriv(const unsigned int i, const unsigned int libmesh_dbg_var(j), const Real xi)
The libMesh namespace provides an interface to certain functionality in the library.
Real fe_lagrange_1D_shape_deriv(const Order order, const unsigned int i, const unsigned int j, const Real xi)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real fe_lagrange_1D_shape(const Order order, const unsigned int i, const Real xi)
Real fe_lagrange_1D_cubic_shape(const unsigned int i, const Real xi)
Real fe_lagrange_1D_linear_shape(const unsigned int i, const Real xi)