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

Quadratic (P2) shape functions for 2D triangular elements. 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 (Vector2 const &xi) const
 Evaluate quadratic shape functions at parametric coordinate. More...
 
KOKKOS_INLINE_FUNCTION Kokkos::Array< Real, meshEntDim *numNodesgetLocalGradients (Vector2 const &xi) const
 Get gradients of quadratic shape functions at parametric coordinate. More...
 

Static Public Attributes

static const size_t numNodes = 6
 Number of nodes (6 for quadratic triangle)
 
static const size_t meshEntDim = 2
 Mesh entity dimension (2D)
 
constexpr static Mesh_Topology DofHolders [2] = {Vertex, Edge}
 DOFs at vertices and edges.
 
constexpr static size_t NumDofHolders [2] = {3, 3}
 3 vertices, 3 edges
 
constexpr static size_t DofsPerHolder [2] = {1, 1}
 1 DOF per vertex/edge
 
constexpr static size_t Order = 2
 Polynomial order (quadratic)
 

Detailed Description

Quadratic (P2) shape functions for 2D triangular elements.

Defines quadratic basis functions for a triangular element with 6 nodes. Nodes are located at vertices and edge midpoints. Parametric coordinate range: xi0, xi1 $\in$ [0, 1]

Node ordering:

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

Definition at line 285 of file MeshField_Shape.hpp.

Member Function Documentation

◆ getLocalGradients()

KOKKOS_INLINE_FUNCTION Kokkos::Array<Real, meshEntDim * numNodes> MeshField::QuadraticTriangleShape::getLocalGradients ( Vector2 const &  xi) const
inline

Get gradients of quadratic shape functions at parametric coordinate.

Parameters
xiParametric coordinates (xi0, xi1) where xi0, xi1 $\in$ [0,1]
Returns
Array of gradient vectors [dN0/dxi0, dN0/dxi1, ..., dN5/dxi0, dN5/dxi1]

Definition at line 347 of file MeshField_Shape.hpp.

◆ getNodeParametricCoords()

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

Get parametric coordinates of element nodes.

Returns
Array of node coordinates for 6 nodes (3 at vertices, 3 at edge midpoints)

Definition at line 298 of file MeshField_Shape.hpp.

◆ getValues()

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

Evaluate quadratic shape functions at parametric coordinate.

Parameters
xiParametric coordinates (xi0, xi1) where xi0, xi1 $\in$ [0,1]
Returns
Array of 6 shape function values for quadratic triangle N_i = L_i(2L_i - 1) for vertices (i=0,1,2) N_i = 4*L_j*L_k for edge midpoints (i=3,4,5) where L0=1-xi0-xi1, L1=xi0, L2=xi1 are barycentric coordinates

Definition at line 322 of file MeshField_Shape.hpp.


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