21 #include "libmesh/libmesh_config.h" 23 #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS 25 #include "libmesh/inf_fe.h" 26 #include "libmesh/inf_fe_macro.h" 27 #include "libmesh/fe.h" 28 #include "libmesh/elem.h" 29 #include "libmesh/enum_to_string.h" 92 const Order base_mapping_order)
94 switch (base_elem.
dim())
105 libmesh_error_msg(
"Unsupported base_elem dim = " << base_elem.
dim());
116 const unsigned int n_onion)
118 libmesh_assert_less (n_onion, 2);
131 return static_cast<unsigned int>(o_radial);
137 #endif //ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS ElemType
Defines an enum for geometric element types.
static ElemType get_elem_type(const ElemType type)
static unsigned int n_base_mapping_sf(const Elem &base_elem, const Order base_mapping_order)
Order
defines an enum for polynomial orders.
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int i)=0
This is the base class from which all geometric element types are derived.
The libMesh namespace provides an interface to certain functionality in the library.
static std::unique_ptr< const Elem > build_elem(const Elem *inf_elem)
Build the base element of an infinite element.
static unsigned int n_dofs_at_node(const Order o_radial, const unsigned int n_onion)
virtual unsigned int n_shape_functions() const override
std::string enum_to_string(const T e)
virtual unsigned short dim() const =0
virtual ElemType type() const =0