9#include <kernel/trafo/evaluator_base.hpp> 
   10#include <kernel/trafo/standard/details.hpp> 
   26        typename Shape_ = 
typename EvalPolicy_::ShapeType>
 
   28        public EvaluatorBase<Trafo_, Evaluator<Trafo_, EvalPolicy_, Shape_ >, EvalPolicy_>
 
   44        typedef typename EvalPolicy::DataType 
DataType;
 
   61        static constexpr int domain_dim = EvalPolicy::domain_dim;
 
   63        static constexpr int image_dim = EvalPolicy::image_dim;
 
  109          typedef typename MeshType::VertexSetType VertexSetType;
 
  110          const VertexSetType& vertex_set = mesh.get_vertex_set();
 
  113          typedef typename MeshType::template IndexSet<domain_dim, 0>::Type IndexSetType;
 
  114          const IndexSetType& index_set = mesh.template get_index_set<domain_dim, 0>();
 
  116          EvalHp::set_coefficients(
_coeff, vertex_set, index_set, cell_index);
 
  169          return EvalHp::volume(
_coeff);
 
  185          return EvalHp::width_directed(ray, 
_coeff);
 
  198        typename EvalPolicy_>
 
  200        public EvaluatorBase<Trafo_, Evaluator<Trafo_, EvalPolicy_, Shape::Vertex >, EvalPolicy_>
 
  271          typedef typename MeshType::VertexSetType VertexSetType;
 
  272          const VertexSetType& vertex_set = mesh.get_vertex_set();
 
  275          typedef typename VertexSetType::VertexType VertexType;
 
  276          const VertexType& vtx = vertex_set[cell_index];
 
Tiny Matrix class template.
Tiny Vector class template.
Trafo Evaluator CRTP base-class template.
void prepare(const CellIterator &cell)
Prepares the evaluator for a given cell.
const TrafoType & _trafo
trafo reference
EvalPolicy::JacobianMatrixType JacobianMatrixType
jacobian matrix type
Trafo_ TrafoType
trafo type using this evaluator
EvalPolicy::HessianInverseType HessianInverseType
hessian inverse tensor type
Tiny::Vector< DataType, image_dim > _coeff
the coefficients of the trafo
Shape::Vertex ShapeType
shape type
EvalPolicy::HessianTensorType HessianTensorType
hessian tensor type
EvalPolicy::JacobianDeterminantType JacobianDeterminantType
jacobian determinant type
EvalPolicy::DomainPointType DomainPointType
domain point type
void prepare(Index cell_index)
Prepares the evaluator for a given cell.
void map_point(ImagePointType &img_point, const DomainPointType &dom_point) const
Maps a point from the reference cell to the selected cell.
EvalPolicy::ImagePointType ImagePointType
image point type
EvaluatorBase< Trafo_, Evaluator, EvalPolicy_ > BaseClass
base-class typedef
EvalPolicy::DataType DataType
evaluation data type
EvalPolicy_ EvalPolicy
trafo evaluation traits
TrafoType::MeshType MeshType
type of the underlying mesh
Evaluator(const TrafoType &trafo)
Constructor.
EvalPolicy::JacobianInverseType JacobianInverseType
jacobian inverse matrix type
Standard trafo evaluator class template.
Shape_ ShapeType
shape type
EvalPolicy::JacobianMatrixType JacobianMatrixType
jacobian matrix type
Evaluator(const TrafoType &trafo)
Constructor.
void prepare(Index cell_index)
Prepares the evaluator for a given cell.
void calc_hess_ten(HessianTensorType &hess_ten, const DomainPointType &dom_point) const
Computes the hessian tensor for a given domain point.
void map_point(ImagePointType &img_point, const DomainPointType &dom_point) const
Maps a point from the reference cell to the selected cell.
static constexpr int domain_dim
domain dimension
EvalPolicy::DomainPointType DomainPointType
domain point type
Tiny::Matrix< DataType, image_dim, num_verts > _coeff
the coefficients of the trafo
EvalPolicy::HessianInverseType HessianInverseType
hessian inverse tensor type
EvalPolicy::JacobianInverseType JacobianInverseType
jacobian inverse matrix type
static constexpr int num_verts
number of verts
EvalHelper< DataType, DomainPointType, ImagePointType, JacobianMatrixType, JacobianInverseType, JacobianDeterminantType, HessianTensorType, HessianInverseType,ShapeType, image_dim > EvalHp
evaluation helper, see details.hpp
EvaluatorBase< Trafo_, Evaluator, EvalPolicy_ > BaseClass
base-class typedef
Trafo_ TrafoType
trafo type using this evaluator
EvalPolicy_ EvalPolicy
trafo evaluation traits
EvalPolicy::DataType DataType
evaluation data type
EvalPolicy::JacobianDeterminantType JacobianDeterminantType
jacobian determinant type
EvalPolicy::ImagePointType ImagePointType
image point type
EvalPolicy::HessianTensorType HessianTensorType
hessian tensor type
void calc_jac_mat(JacobianMatrixType &jac_mat, const DomainPointType &dom_point) const
Calculates the jacobian matrix for a given point.
TrafoType::MeshType MeshType
type of the underlying mesh
DataType width_directed(const ImagePointType &ray) const
Computes and returns the directed mesh width.
DataType volume() const
Computes and returns the volume of the current cell.
static constexpr int image_dim
image dimension
static constexpr TrafoTags eval_caps
std::uint64_t Index
Index data type.
TrafoTags
Trafo configuration tags enum.
@ img_point
specifies whether the trafo should supply image point coordinates
@ hess_inv
specifies whether the trafo should supply inverse hessian tensors
@ dom_point
specifies whether the trafo should supply domain point coordinates
@ hess_ten
specifies whether the trafo should supply hessian tensors
@ jac_inv
specifies whether the trafo should supply inverse jacobian matrices
@ jac_mat
specifies whether the trafo should supply jacobian matrices
@ jac_det
specifies whether the trafo should supply jacobian determinants
Face traits tag struct template.
Evalautator helper class for standard trafo.