IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
EdgeElement.h
Go to the documentation of this file.
1// Class EdgeElement
2
3#ifndef IPPL_EDGEELEMENT_H
4#define IPPL_EDGEELEMENT_H
5
7
8namespace ippl {
9
10 // this is the basic 1D element with 2 vertices
11 // N.B. to not be confused with Nédélec edge elements
12 template <typename T>
13 class EdgeElement : public Element1D<T, 2> {
14 public:
15 static constexpr unsigned NumVertices = 2;
16
19
26 KOKKOS_FUNCTION vertex_points_t getLocalVertices() const;
27
37 KOKKOS_FUNCTION point_t
38 getTransformationJacobian(const vertex_points_t& global_vertices) const;
39
50 KOKKOS_FUNCTION point_t
51 getInverseTransformationJacobian(const vertex_points_t& global_vertices) const;
52
62 KOKKOS_FUNCTION point_t globalToLocal(const vertex_points_t&, const point_t&) const;
63
78 KOKKOS_FUNCTION point_t localToGlobal(const vertex_points_t& global_vertices,
79 const point_t& point) const;
80
89 KOKKOS_FUNCTION T
90 getDeterminantOfTransformationJacobian(const vertex_points_t& global_vertices) const;
91
101 KOKKOS_FUNCTION point_t
103
112 KOKKOS_FUNCTION bool isPointInRefElement(const Vector<T, 1>& point) const;
113 };
114
115} // namespace ippl
116
118
119#endif
Definition Archive.h:20
Element< T, 1, NumVertices > Element1D
Base class for all 1D elements.
Definition Element.h:47
KOKKOS_FUNCTION point_t globalToLocal(const vertex_points_t &, const point_t &) const
Transforms a point from global to local coordinates.
KOKKOS_FUNCTION point_t getInverseTransposeTransformationJacobian(const vertex_points_t &global_vertices) const
Returns the inverse of the transpose of the transformation Jacobian.
static constexpr unsigned NumVertices
Definition EdgeElement.h:15
KOKKOS_FUNCTION bool isPointInRefElement(const Vector< T, 1 > &point) const
Returns whether a point in local coordinates ([0, 1]) is inside the reference element.
KOKKOS_FUNCTION point_t getTransformationJacobian(const vertex_points_t &global_vertices) const
Function to return the Jacobian of the transformation matrix.
KOKKOS_FUNCTION vertex_points_t getLocalVertices() const
Function to return the coordinates of the vertices of the reference element.
Element1D< T, NumVertices >::point_t point_t
Definition EdgeElement.h:17
Element1D< T, NumVertices >::vertex_points_t vertex_points_t
Definition EdgeElement.h:18
KOKKOS_FUNCTION point_t localToGlobal(const vertex_points_t &global_vertices, const point_t &point) const
Transforms a point from local to global coordinates.
KOKKOS_FUNCTION T getDeterminantOfTransformationJacobian(const vertex_points_t &global_vertices) const
Returns the determinant of the transformation Jacobian.
KOKKOS_FUNCTION point_t getInverseTransformationJacobian(const vertex_points_t &global_vertices) const
Function to return the inverse of the Jacobian of the transformation matrix.
Vector< point_t, NumVertices > vertex_points_t
Definition Element.h:26