MeshFields
GPU accelerated mesh-based fields
Public Member Functions | Static Public Attributes | List of all members
MeshField::LinearTetrahedronShape Struct Reference

[QuadraticTriangleShape] More...

#include <MeshField_Shape.hpp>

Public Member Functions

KOKKOS_INLINE_FUNCTION Kokkos::Array< Real, numNodes *meshEntDimgetNodeParametricCoords () const
 Get parametric coordinates of element nodes. More...
 
KOKKOS_INLINE_FUNCTION Kokkos::Array< Real, numNodesgetValues (Vector3 const &xi) const
 Evaluate shape functions at parametric coordinate. More...
 
KOKKOS_INLINE_FUNCTION Kokkos::Array< Real, meshEntDim *numNodesgetLocalGradients (Vector3 const &) const
 Get gradients of shape functions in parametric coordinates @detail gradients are constant - ignoring parametric coord input. More...
 

Static Public Attributes

static const size_t numNodes = 4
 Number of nodes (4 for linear tetrahedron)
 
static const size_t meshEntDim = 3
 Mesh entity dimension (3D)
 
constexpr static Mesh_Topology DofHolders [1] = {Vertex}
 DOFs located at vertices.
 
constexpr static size_t Order = 1
 Polynomial order (linear)
 

Detailed Description

[QuadraticTriangleShape]

Linear (P1) shape functions for 3D tetrahedral elements

Defines linear basis functions for a tetrahedral element with 4 nodes. Parametric coordinate range: xi0, xi1, xi2 $\in$ [0, 1]

Node ordering:

Shape functions use barycentric coordinates L0, L1, L2, L3 where L0 = 1-xi0-xi1-xi2, L1 = xi0, L2 = xi1, L3 = xi2

Shape functions and ordering from: Zienkiewicz, Taylor, and Zhu 'The Finite Element Method: Its Basis and Fundamentals', 2013

Definition at line 388 of file MeshField_Shape.hpp.

Member Function Documentation

◆ getLocalGradients()

KOKKOS_INLINE_FUNCTION Kokkos::Array<Real, meshEntDim * numNodes> MeshField::LinearTetrahedronShape::getLocalGradients ( Vector3 const &  ) const
inline

Get gradients of shape functions in parametric coordinates @detail gradients are constant - ignoring parametric coord input.

Returns
Array of constant gradients [dN0/dxi0, dN0/dxi1, dN0/dxi2, dN1/dxi0, ...] Constant gradients: [[-1,-1,-1], [1,0,0], [0,1,0], [0,0,1]]

Definition at line 436 of file MeshField_Shape.hpp.

◆ getNodeParametricCoords()

KOKKOS_INLINE_FUNCTION Kokkos::Array<Real, numNodes * meshEntDim> MeshField::LinearTetrahedronShape::getNodeParametricCoords ( ) const
inline

Get parametric coordinates of element nodes.

Returns
Array of node coordinates for 4 vertices

Definition at line 399 of file MeshField_Shape.hpp.

◆ getValues()

KOKKOS_INLINE_FUNCTION Kokkos::Array<Real, numNodes> MeshField::LinearTetrahedronShape::getValues ( Vector3 const &  xi) const
inline

Evaluate shape functions at parametric coordinate.

Parameters
xiParametric coordinates (xi0, xi1, xi2) where xi_i $\in$ [0,1]
Returns
Array of shape function values [N0, N1, N2, N3] = [L0, L1, L2, L3] where L0 = 1-xi0-xi1-xi2, L1 = xi0, L2 = xi1, L3 = xi2

Definition at line 415 of file MeshField_Shape.hpp.


The documentation for this struct was generated from the following file: