21#include "libmesh/fe.h"
22#include "libmesh/elem.h"
23#include "libmesh/fe_lagrange_gll_shape.h"
39 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
40 (
nullptr, order, i, p,
nullptr, 0);
49 const bool add_p_level)
53 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
54 (elem, order + add_p_level*elem->
p_level(), i, p,
nullptr, 0);
63 const bool add_p_level)
67 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
68 (elem, fet.
order + add_p_level*elem->
p_level(), i, p,
nullptr, 0);
79 libmesh_assert_less (j, 3);
81 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
82 (
nullptr, order, i, p, &j, 1);
92 const bool add_p_level)
95 libmesh_assert_less (j, 3);
97 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
98 (elem, order + add_p_level*elem->
p_level(), i, p, &j, 1);
105 const unsigned int i,
106 const unsigned int j,
108 const bool add_p_level)
111 libmesh_assert_less (j, 3);
113 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
114 (elem, fet.
order + add_p_level*elem->
p_level(), i, p, &j, 1);
118#ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES
123 const unsigned int i,
124 const unsigned int j,
127 libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<3>());
129 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
137 const unsigned int i,
138 const unsigned int j,
140 const bool add_p_level)
143 libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<3>());
145 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
153 const unsigned int i,
154 const unsigned int j,
156 const bool add_p_level)
159 libmesh_assert_less (j, fe_lagrange_gll_n_second_derivs<3>());
161 return fe_lagrange_gll_tensor_product<L2_LAGRANGE_GLL, 3>
This is the base class from which all geometric element types are derived.
unsigned int p_level() const
class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialize...
OrderWrapper order
The approximation order of the element (at 0 p-refinement level).
static OutputShape shape(const ElemType t, const Order o, const unsigned int i, const Point &p)
static OutputShape shape_second_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)
static OutputShape shape_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)
A Point defines a location in LIBMESH_DIM dimensional Real space.
The libMesh namespace provides an interface to certain functionality in the library.
LIBMESH_DEFAULT_VECTORIZED_FE(template<>Real FE< 0, BERNSTEIN)
constexpr unsigned int fe_lagrange_gll_second_deriv_pairs[6][2]
The pair of coordinates differentiated by each second derivative index j of FE::shape_second_deriv().
ElemType
Defines an enum for geometric element types.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real