IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::EdgeElement< T > Class Template Reference

#include <EdgeElement.h>

Inheritance diagram for ippl::EdgeElement< T >:
Collaboration diagram for ippl::EdgeElement< T >:

Public Types

typedef Element1D< T, NumVertices >::point_t point_t
typedef Element1D< T, NumVertices >::vertex_points_t vertex_points_t

Public Member Functions

KOKKOS_FUNCTION vertex_points_t getLocalVertices () const
 Function to return the coordinates of the vertices of 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 point_t getInverseTransformationJacobian (const vertex_points_t &global_vertices) const
 Function to return the inverse of the Jacobian of the transformation matrix.
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 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 getInverseTransposeTransformationJacobian (const vertex_points_t &global_vertices) const
 Returns the inverse of the transpose of the transformation Jacobian.
KOKKOS_FUNCTION bool isPointInRefElement (const Vector< T, 1 > &point) const
 Returns whether a point in local coordinates ([0, 1]) is inside the reference element.

Static Public Attributes

static constexpr unsigned NumVertices = 2
static constexpr unsigned dim
static constexpr unsigned numVertices

Detailed Description

template<typename T>
class ippl::EdgeElement< T >

Definition at line 13 of file EdgeElement.h.

Member Typedef Documentation

◆ point_t

template<typename T>
typedef Element1D<T,NumVertices>::point_t ippl::EdgeElement< T >::point_t

Definition at line 17 of file EdgeElement.h.

◆ vertex_points_t

template<typename T>
typedef Element1D<T,NumVertices>::vertex_points_t ippl::EdgeElement< T >::vertex_points_t

Definition at line 18 of file EdgeElement.h.

Member Function Documentation

◆ getDeterminantOfTransformationJacobian()

template<typename T>
KOKKOS_FUNCTION T ippl::EdgeElement< T >::getDeterminantOfTransformationJacobian ( const vertex_points_t & global_vertices) const

Returns the determinant of the transformation Jacobian.

Parameters
global_verticesA vector of the vertex coordinates of the global element to transform to.
Returns
T - The determinant of the transformation Jacobian

Definition at line 62 of file EdgeElement.hpp.

References getTransformationJacobian().

Here is the call graph for this function:

◆ getInverseTransformationJacobian()

template<typename T>
KOKKOS_FUNCTION EdgeElement< T >::point_t ippl::EdgeElement< T >::getInverseTransformationJacobian ( const vertex_points_t & global_vertices) const

Function to return the inverse of the Jacobian of the transformation matrix.

Parameters
global_verticesA vector of the vertex coordinates of the global element to transform to.
Returns
point_t (Vector<T, 1>) - A vector representing the diagonal elements of the inverse Jacobian matrix

Definition at line 27 of file EdgeElement.hpp.

Referenced by getInverseTransposeTransformationJacobian(), and globalToLocal().

Here is the caller graph for this function:

◆ getInverseTransposeTransformationJacobian()

template<typename T>
KOKKOS_FUNCTION EdgeElement< T >::point_t ippl::EdgeElement< T >::getInverseTransposeTransformationJacobian ( const vertex_points_t & global_vertices) const

Returns the inverse of the transpose of the transformation Jacobian.

Parameters
global_verticesA vector of the vertex coordinates of the global element to transform to.
Returns
point_t (Vector<T, 1>) - A vector representing the diagonal elements of the inverse transpose Jacobian matrix

Definition at line 77 of file EdgeElement.hpp.

References getInverseTransformationJacobian().

Here is the call graph for this function:

◆ getLocalVertices()

template<typename T>
KOKKOS_FUNCTION EdgeElement< T >::vertex_points_t ippl::EdgeElement< T >::getLocalVertices ( ) const

Function to return the coordinates of the vertices of the reference element.

Returns
vertex_points_t (Vector<Vector<T, 1>, 2>)

Definition at line 5 of file EdgeElement.hpp.

◆ getTransformationJacobian()

template<typename T>
KOKKOS_FUNCTION EdgeElement< T >::point_t ippl::EdgeElement< T >::getTransformationJacobian ( const vertex_points_t & global_vertices) const

Function to return the Jacobian of the transformation matrix.

Parameters
global_verticesA vector of the vertex coordinates of the global element to transform to.
Returns
point_t (Vector<T, 1>) - A vector representing the diagonal elements of the Jacobian matrix

Definition at line 16 of file EdgeElement.hpp.

Referenced by getDeterminantOfTransformationJacobian(), and localToGlobal().

Here is the caller graph for this function:

◆ globalToLocal()

template<typename T>
KOKKOS_FUNCTION EdgeElement< T >::point_t ippl::EdgeElement< T >::globalToLocal ( const vertex_points_t & ,
const point_t &  ) const

Transforms a point from global to local coordinates.

Parameters
global_verticesA vector of the vertex indices of the global element to transform to in the mesh.
pointA point in global coordinates with respect to the global element.
Returns
point_t

Definition at line 37 of file EdgeElement.hpp.

References getInverseTransformationJacobian().

Here is the call graph for this function:

◆ isPointInRefElement()

template<typename T>
KOKKOS_FUNCTION bool ippl::EdgeElement< T >::isPointInRefElement ( const Vector< T, 1 > & point) const

Returns whether a point in local coordinates ([0, 1]) is inside the reference element.

Parameters
pointA point in local coordinates with respect to the reference element.
Returns
boolean - Returns true when the point is inside the reference element or on the boundary. Returns false else

Definition at line 84 of file EdgeElement.hpp.

◆ localToGlobal()

template<typename T>
KOKKOS_FUNCTION EdgeElement< T >::point_t ippl::EdgeElement< T >::localToGlobal ( const vertex_points_t & global_vertices,
const point_t & point ) const

Transforms a point from local to global coordinates.

Parameters
global_verticesA vector of the vertex indices of the global element to transform to in the mesh.
pointA point in local coordinates with respect to the reference element.

Equivalent to transforming a local point \(\hat{\boldsymbol{x}}\) on the local element \(\hat{K}\) to a point in the global coordinate system \(\boldsymbol{x}\) on \(K\) by applying the transformation \(\mathbf{\Phi}_K\)

\[\boldsymbol{x} = \mathbf{\Phi}_K(\hat{\boldsymbol{x}})\]

Returns
point_t

Definition at line 50 of file EdgeElement.hpp.

References getTransformationJacobian().

Here is the call graph for this function:

Member Data Documentation

◆ dim

unsigned ippl::Element< T, Dim, NumVertices >::dim
staticconstexprinherited

Definition at line 19 of file Element.h.

◆ NumVertices

template<typename T>
unsigned ippl::EdgeElement< T >::NumVertices = 2
staticconstexpr

Definition at line 15 of file EdgeElement.h.

◆ numVertices

unsigned ippl::Element< T, Dim, NumVertices >::numVertices
staticconstexprinherited

Definition at line 20 of file Element.h.


The documentation for this class was generated from the following files: