9#include <kernel/space/element_base.hpp>
10#include <kernel/space/dof_assignment_base.hpp>
11#include <kernel/space/dof_mapping_common.hpp>
12#include <kernel/space/cro_rav_ran_tur/dof_traits.hpp>
13#include <kernel/space/cro_rav_ran_tur/evaluator.hpp>
14#include <kernel/space/cro_rav_ran_tur/node_functional.hpp>
23 namespace CroRavRanTur
28 template<
typename Shape_>
32 struct LocalDegree<Shape::Simplex<dim_>>
34 static constexpr int value = 1;
38 struct LocalDegree<Shape::Hypercube<dim_>>
40 static constexpr int value = 2;
62 template<
typename Trafo_>
80 static constexpr int local_degree = Intern::LocalDegree<ShapeType>::value;
84 typename TrafoEvaluator_,
85 typename DataType_ =
typename TrafoEvaluator_::DataType>
109 typename DataType_ =
Real>
120 typename DataType_ =
Real>
125 static constexpr int codim = ShapeType::dimension - shape_dim_;
153 return this->
get_mesh().get_num_entities(ShapeType::dimension - 1);
159 return "CroRavRanTur";
Dof-Assignment class wrapper template.
DofAssignmentUniform< Element, shape_dim_, DataType_, DofTraits, ShapeType > Type
Dof-Assignment type.
Space evaluator class wrapper template.
StandardScalarEvalTraits< EvalPolicy, num_loc_dofs, DataType_ > Traits
space evaluation traits
TrafoEvaluator_::EvalPolicy EvalPolicy
evaluation policy
static constexpr int num_loc_dofs
number of local dofs := number of facets per cell
CroRavRanTur::Evaluator< Element, TrafoEvaluator_, Traits > Type
space evaluator type
Node-Functional class wrapper template.
static constexpr int codim
co-dimension
CroRavRanTur::NodeFunctional< Element, ShapeType, codim, DataType_ > Type
node functional type
Crouzeix-Raviart / Rannacher-Turek element class template.
virtual ~Element()
virtual destructor
Trafo_ TrafoType
transformation type
static constexpr int local_degree
Local Polynomial degree count.
DofMappingSingleEntity< Element, 1 > DofMappingType
Dof-Mapping class.
ElementBase< Trafo_ > BaseClass
base-class typedef
TrafoType::MeshType MeshType
mesh type
TrafoType::ShapeType ShapeType
shape type
static constexpr bool have_node_func
node functionals available
static String name()
Returns the name of the element.
Index get_num_dofs() const
Returns the number of dofs.
Element(TrafoType &trafo)
Constructor.
Crouzeix-Raviart / Rannacher-Turek Element Evaluator class template declaration.
Single-Entity Dof-Mapping class template.
Finite-Element base class.
MeshType & get_mesh()
Returns a reference to the underlying mesh.
Standard scalar evaluator traits class template.
String class implementation.
double Real
Real data type.
@ value
specifies whether the space should supply basis function values
std::uint64_t Index
Index data type.
Face traits tag struct template.