IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
QuadrilateralElement.h
1// Class QuadriateralElement
2// The QuadrilateralElement class. This is a class representing a quadrilateral element
3// for finite element methods.
4
5#ifndef IPPL_QUADRILATERALELEMENT_H
6#define IPPL_QUADRILATERALELEMENT_H
7
8#include "FEM/Elements/Element.h"
9
10namespace ippl {
11
12 // this is the basic square 2D element with 4 vertices
13 template <typename T>
14 class QuadrilateralElement : public Element2D<T, 4> {
15 public:
16 static constexpr unsigned NumVertices = 4;
17
20
27 KOKKOS_FUNCTION vertex_points_t getLocalVertices() const;
28
38 KOKKOS_FUNCTION point_t
39 getTransformationJacobian(const vertex_points_t& global_vertices) const;
40
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, 2>& point) const;
114 };
115} // namespace ippl
116
117#include "FEM/Elements/QuadrilateralElement.hpp"
118
119#endif
Base class for all elements.
Definition Element.h:17
Definition QuadrilateralElement.h:14
KOKKOS_FUNCTION point_t getInverseTransposeTransformationJacobian(const vertex_points_t &global_vertices) const
Returns the inverse of the transpose of the transformation Jacobian.
Definition QuadrilateralElement.hpp:84
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 QuadrilateralElement.hpp:40
KOKKOS_FUNCTION point_t getInverseTransformationJacobian(const vertex_points_t &global_vertices) const
Returns the inverse of the Jacobian of the transformation matrix.
Definition QuadrilateralElement.hpp:28
KOKKOS_FUNCTION T getDeterminantOfTransformationJacobian(const vertex_points_t &global_vertices) const
Returns the determinant of the transformation Jacobian.
Definition QuadrilateralElement.hpp:69
KOKKOS_FUNCTION point_t getTransformationJacobian(const vertex_points_t &global_vertices) const
Returns the Jacobian of the transformation matrix.
Definition QuadrilateralElement.hpp:16
KOKKOS_FUNCTION vertex_points_t getLocalVertices() const
Returns the coordinates of the vertices of the reference element. in the order of the local degrees o...
Definition QuadrilateralElement.hpp:5
KOKKOS_FUNCTION bool isPointInRefElement(const Vector< T, 2 > &point) const
Returns whether a point in local coordinates ([0, 1]^2) is inside the reference element.
Definition QuadrilateralElement.hpp:91
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 QuadrilateralElement.hpp:55
Definition Vector.h:23
Definition Archive.h:20