22 #include "libmesh/fe.h" 23 #include "libmesh/elem.h" 35 const Order libmesh_dbg_var(order),
41 libmesh_assert_less_equal (i, static_cast<unsigned int>(order));
63 for (
unsigned int index = 0; index != i; ++index)
76 const bool add_p_level)
89 const bool add_p_level)
98 const Order libmesh_dbg_var(order),
100 const unsigned int libmesh_dbg_var(j),
105 libmesh_assert_equal_to (j, 0);
107 const Real xi = p(0);
109 libmesh_assert_less_equal (i, static_cast<unsigned int>(order));
131 for (
unsigned int index = 1; index != i; ++index)
142 const unsigned int i,
143 const unsigned int j,
145 const bool add_p_level)
150 static_cast<Order>(order + add_p_level * elem->
p_level()), i, j, p);
157 const unsigned int i,
158 const unsigned int j,
160 const bool add_p_level)
168 #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES 172 const Order libmesh_dbg_var(order),
173 const unsigned int i,
174 const unsigned int libmesh_dbg_var(j),
179 libmesh_assert_equal_to (j, 0);
181 const Real xi = p(0);
183 libmesh_assert_less_equal (i, static_cast<unsigned int>(order));
202 for (
unsigned int index = 2; index != i; ++index)
203 val *= (index+1) * xi;
213 const unsigned int i,
214 const unsigned int j,
216 const bool add_p_level)
221 static_cast<Order>(order + add_p_level * elem->
p_level()), i, j, p);
227 const unsigned int i,
228 const unsigned int j,
230 const bool add_p_level)
class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialize...
ElemType
Defines an enum for geometric element types.
Order
defines an enum for polynomial orders.
static OutputShape shape(const ElemType t, const Order o, const unsigned int i, const Point &p)
This is the base class from which all geometric element types are derived.
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
OrderWrapper order
The approximation order of the element.
The libMesh namespace provides an interface to certain functionality in the library.
LIBMESH_DEFAULT_VECTORIZED_FE(template<>Real FE< 0, BERNSTEIN)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual ElemType type() const =0
A Point defines a location in LIBMESH_DIM dimensional Real space.
static OutputShape shape_second_deriv(const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)