IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
EdgeElement.h
1// Class EdgeElement
2
3#ifndef IPPL_EDGEELEMENT_H
4#define IPPL_EDGEELEMENT_H
5
6#include "FEM/Elements/Element.h"
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& global_vertices,
63 const point_t& point) const;
64
79 KOKKOS_FUNCTION point_t localToGlobal(const vertex_points_t& global_vertices,
80 const point_t& point) const;
81
90 KOKKOS_FUNCTION T
91 getDeterminantOfTransformationJacobian(const vertex_points_t& global_vertices) const;
92
102 KOKKOS_FUNCTION point_t
104
113 KOKKOS_FUNCTION bool isPointInRefElement(const Vector<T, 1>& point) const;
114 };
115
116} // namespace ippl
117
118#include "FEM/Elements/EdgeElement.hpp"
119
120#endif
Definition EdgeElement.h:13
KOKKOS_FUNCTION point_t getInverseTransposeTransformationJacobian(const vertex_points_t &global_vertices) const
Returns the inverse of the transpose of the transformation Jacobian.
Definition EdgeElement.hpp:77
KOKKOS_FUNCTION point_t globalToLocal(const vertex_points_t &global_vertices, const point_t &point) const
Transforms a point from global to local coordinates.
Definition EdgeElement.hpp:37
KOKKOS_FUNCTION bool isPointInRefElement(const Vector< T, 1 > &point) const
Returns whether a point in local coordinates ([0, 1]) is inside the reference element.
Definition EdgeElement.hpp:84
KOKKOS_FUNCTION point_t getTransformationJacobian(const vertex_points_t &global_vertices) const
Function to return the Jacobian of the transformation matrix.
Definition EdgeElement.hpp:16
KOKKOS_FUNCTION vertex_points_t getLocalVertices() const
Function to return the coordinates of the vertices of the reference element.
Definition EdgeElement.hpp:5
KOKKOS_FUNCTION point_t localToGlobal(const vertex_points_t &global_vertices, const point_t &point) const
Transforms a point from local to global coordinates.
Definition EdgeElement.hpp:50
KOKKOS_FUNCTION T getDeterminantOfTransformationJacobian(const vertex_points_t &global_vertices) const
Returns the determinant of the transformation Jacobian.
Definition EdgeElement.hpp:62
KOKKOS_FUNCTION point_t getInverseTransformationJacobian(const vertex_points_t &global_vertices) const
Function to return the inverse of the Jacobian of the transformation matrix.
Definition EdgeElement.hpp:27
Base class for all elements.
Definition Element.h:17
Definition Vector.h:23
Definition Archive.h:20