9#include <kernel/space/parametric_evaluator.hpp> 
   10#include <kernel/space/dof_mapping_common.hpp> 
   32        typename TrafoEvaluator_,
 
   33        typename SpaceEvalTraits_,
 
   34        typename Shape_ = 
typename Space_::ShapeType>
 
   44        typename TrafoEvaluator_,
 
   45        typename SpaceEvalTraits_>
 
   46      class Evaluator<Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Simplex<2> > :
 
   74        typedef typename SpaceEvalTraits::DataType 
DataType;
 
  107        template<
typename EvalData_>
 
  112          data.phi[0].ref_value = 
DataType(1) - point[0] - point[1];
 
  113          data.phi[1].ref_value = point[0];
 
  114          data.phi[2].ref_value = point[1];
 
  126        template<
typename EvalData_>
 
  131          data.phi[0].ref_grad[0] = -
DataType(1);
 
  132          data.phi[0].ref_grad[1] = -
DataType(1);
 
  133          data.phi[1].ref_grad[0] = 
DataType(1);
 
  134          data.phi[1].ref_grad[1] = 
DataType(0);
 
  135          data.phi[2].ref_grad[0] = 
DataType(0);
 
  136          data.phi[2].ref_grad[1] = 
DataType(1);
 
  147        typename TrafoEvaluator_,
 
  148        typename SpaceEvalTraits_>
 
  149      class Evaluator<Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Simplex<3> > :
 
  177        typedef typename SpaceEvalTraits::DataType 
DataType;
 
  210        template<
typename EvalData_>
 
  215          data.phi[0].ref_value = 
DataType(1) - point[0] - point[1] - point[2];
 
  216          data.phi[1].ref_value = point[0];
 
  217          data.phi[2].ref_value = point[1];
 
  218          data.phi[3].ref_value = point[2];
 
  230        template<
typename EvalData_>
 
  235          data.phi[0].ref_grad[0] = -
DataType(1);
 
  236          data.phi[0].ref_grad[1] = -
DataType(1);
 
  237          data.phi[0].ref_grad[2] = -
DataType(1);
 
  238          data.phi[1].ref_grad[0] = 
DataType(1);
 
  239          data.phi[1].ref_grad[1] = 
DataType(0);
 
  240          data.phi[1].ref_grad[2] = 
DataType(0);
 
  241          data.phi[2].ref_grad[0] = 
DataType(0);
 
  242          data.phi[2].ref_grad[1] = 
DataType(1);
 
  243          data.phi[2].ref_grad[2] = 
DataType(0);
 
  244          data.phi[3].ref_grad[0] = 
DataType(0);
 
  245          data.phi[3].ref_grad[1] = 
DataType(0);
 
  246          data.phi[3].ref_grad[2] = 
DataType(1);
 
  257        typename TrafoEvaluator_,
 
  258        typename SpaceEvalTraits_>
 
  259      class Evaluator<Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Hypercube<1> > :
 
  265            Shape::Hypercube<1> >,
 
  287        typedef typename SpaceEvalTraits::DataType 
DataType;
 
  320        template<
typename EvalData_>
 
  338        template<
typename EvalData_>
 
  343          data.phi[0].ref_grad[0] = 
DataType(-0.5);
 
  344          data.phi[1].ref_grad[0] = 
DataType( 0.5);
 
  355        typename TrafoEvaluator_,
 
  356        typename SpaceEvalTraits_>
 
  357      class Evaluator<Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Hypercube<2> > :
 
  363            Shape::Hypercube<2> >,
 
  385        typedef typename SpaceEvalTraits::DataType 
DataType;
 
  418        template<
typename EvalData_>
 
  438        template<
typename EvalData_>
 
  461        typename TrafoEvaluator_,
 
  462        typename SpaceEvalTraits_>
 
  463      class Evaluator<Space_, TrafoEvaluator_, SpaceEvalTraits_, Shape::Hypercube<3> > :
 
  469            Shape::Hypercube<3> >,
 
  491        typedef typename SpaceEvalTraits::DataType 
DataType;
 
  524        template<
typename EvalData_>
 
  548        template<
typename EvalData_>
 
SpaceEvalTraits_ SpaceEvalTraits
space evaluation traits
void eval_ref_gradients(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function gradients on the reference cell.
int get_num_local_dofs() const
Returns the number of local DOFs.
SpaceEvalTraits::EvalPolicy EvalPolicy
evaluation policy
EvalPolicy::DomainPointType DomainPointType
domain point type
ParametricEvaluator< Evaluator, TrafoEvaluator_, SpaceEvalTraits_, ref_caps > BaseClass
base-class typedef
Evaluator(const SpaceType &space)
Constructor.
Space_ SpaceType
space type
void eval_ref_values(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function values on the reference cell.
SpaceEvalTraits::DataType DataType
data type
Space_ SpaceType
space type
ParametricEvaluator< Evaluator, TrafoEvaluator_, SpaceEvalTraits_, ref_caps > BaseClass
base-class typedef
void eval_ref_gradients(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function gradients on the reference cell.
SpaceEvalTraits::EvalPolicy EvalPolicy
evaluation policy
int get_num_local_dofs() const
Returns the number of local DOFs.
void eval_ref_values(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function values on the reference cell.
Evaluator(const SpaceType &space)
Constructor.
SpaceEvalTraits::DataType DataType
data type
SpaceEvalTraits_ SpaceEvalTraits
space evaluation traits
EvalPolicy::DomainPointType DomainPointType
domain point type
SpaceEvalTraits::DataType DataType
data type
Space_ SpaceType
space type
int get_num_local_dofs() const
Returns the number of local DOFs.
EvalPolicy::DomainPointType DomainPointType
domain point type
ParametricEvaluator< Evaluator, TrafoEvaluator_, SpaceEvalTraits_, ref_caps > BaseClass
base-class typedef
Evaluator(const SpaceType &space)
Constructor.
void eval_ref_values(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function values on the reference cell.
SpaceEvalTraits::EvalPolicy EvalPolicy
evaluation policy
void eval_ref_gradients(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function gradients on the reference cell.
SpaceEvalTraits_ SpaceEvalTraits
space evaluation traits
void eval_ref_values(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function values on the reference cell.
void eval_ref_gradients(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function gradients on the reference cell.
ParametricEvaluator< Evaluator, TrafoEvaluator_, SpaceEvalTraits_, ref_caps > BaseClass
base-class typedef
int get_num_local_dofs() const
Returns the number of local DOFs.
SpaceEvalTraits_ SpaceEvalTraits
space evaluation traits
SpaceEvalTraits::EvalPolicy EvalPolicy
evaluation policy
EvalPolicy::DomainPointType DomainPointType
domain point type
Evaluator(const SpaceType &space)
Constructor.
Space_ SpaceType
space type
SpaceEvalTraits::DataType DataType
data type
SpaceEvalTraits::DataType DataType
data type
int get_num_local_dofs() const
Returns the number of local DOFs.
SpaceEvalTraits_ SpaceEvalTraits
space evaluation traits
Space_ SpaceType
space type
EvalPolicy::DomainPointType DomainPointType
domain point type
ParametricEvaluator< Evaluator, TrafoEvaluator_, SpaceEvalTraits_, ref_caps > BaseClass
base-class typedef
Evaluator(const SpaceType &space)
Constructor.
void eval_ref_values(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function values on the reference cell.
SpaceEvalTraits::EvalPolicy EvalPolicy
evaluation policy
void eval_ref_gradients(EvalData_ &data, const DomainPointType &point) const
Evaluates the basis function gradients on the reference cell.
Lagrange-1 Element Evaluator class template declaration.
Finite-Element Parametric Evaluator CRTP base-class template.
static constexpr SpaceTags ref_caps
Lagrange-1 Element Evaluator reference capabilities.
SpaceTags
Space configuration tags enum.
@ ref_value
specifies whether the space should supply reference basis function values
@ ref_grad
specifies whether the space should supply reference basis function gradients