Intrepid2
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes | List of all members
Intrepid2::RefCellNodes< DeviceType > Class Template Reference

This class defines the coordinates of the nodes of reference cells according for supported cell topologies. The node coordinates are stored in static views. The class is templated on the Kokkos::Device Type which is used to determine layout and memory space of the views. More...

#include <Intrepid2_CellData.hpp>

Classes

struct  ReferenceNodeDataStatic
 Reference node containers for each supported topology. More...
 

Public Types

using ConstViewType = Kokkos::DynRankView<const double,DeviceType>
 

Public Member Functions

 RefCellNodes ()=default
 Default constructor.
 
 ~RefCellNodes ()=default
 Destructor.
 

Static Public Member Functions

static ConstViewType get (const unsigned cellTopoKey)
 Retrieves the Cartesian coordinates of reference cell nodes.
 

Private Types

using ViewType = Kokkos::DynRankView<double,DeviceType>
 static views containing the node coordinates allocated on DeviceType::memory_space
 

Static Private Member Functions

static void set ()
 Set reference nodes coordinates for supported topologies.
 

Static Private Attributes

static ViewType lineNodes
 
static ViewType line3Nodes
 
static ViewType triangleNodes
 
static ViewType triangle4Nodes
 
static ViewType triangle6Nodes
 
static ViewType quadrilateralNodes
 
static ViewType quadrilateral8Nodes
 
static ViewType quadrilateral9Nodes
 
static ViewType tetrahedronNodes
 
static ViewType tetrahedron8Nodes
 
static ViewType tetrahedron10Nodes
 
static ViewType tetrahedron11Nodes
 
static ViewType hexahedronNodes
 
static ViewType hexahedron20Nodes
 
static ViewType hexahedron27Nodes
 
static ViewType pyramidNodes
 
static ViewType pyramid13Nodes
 
static ViewType pyramid14Nodes
 
static ViewType wedgeNodes
 
static ViewType wedge15Nodes
 
static ViewType wedge18Nodes
 
static const ReferenceNodeDataStatic refNodeDataStatic_
 static struct containing the nodes coordinates on host
 
static bool isReferenceNodeDataSet_ = false
 whether the nodes coordinates have been already set using the method set()
 

Detailed Description

template<typename DeviceType>
class Intrepid2::RefCellNodes< DeviceType >

This class defines the coordinates of the nodes of reference cells according for supported cell topologies. The node coordinates are stored in static views. The class is templated on the Kokkos::Device Type which is used to determine layout and memory space of the views.

Definition at line 206 of file Intrepid2_CellData.hpp.

Member Typedef Documentation

◆ ConstViewType

template<typename DeviceType >
using Intrepid2::RefCellNodes< DeviceType >::ConstViewType = Kokkos::DynRankView<const double,DeviceType>

Definition at line 208 of file Intrepid2_CellData.hpp.

◆ ViewType

template<typename DeviceType >
using Intrepid2::RefCellNodes< DeviceType >::ViewType = Kokkos::DynRankView<double,DeviceType>
private

static views containing the node coordinates allocated on DeviceType::memory_space

Definition at line 242 of file Intrepid2_CellData.hpp.

Member Function Documentation

◆ get()

template<typename DeviceType >
RefCellNodes< DeviceType >::ConstViewType Intrepid2::RefCellNodes< DeviceType >::get ( const unsigned cellTopoKey)
inlinestatic

Retrieves the Cartesian coordinates of reference cell nodes.

Returns a Kokkos view containing the coordinates of reference cell nodes. Requires the key of the reference cell topology. Node coordinates are always returned as an (x,y,z)-triple regardless of the actual topological cell dimension. The unused coordinates are set to zero, e.g., node 0 of Line<2> is returned as {-1,0,0}.

Parameters
cellTopoKey[in] - key of the cell topology
Returns
a rank-2 Kokkos::View containing the coordinates of the cell nodes The returned view has dimensions (# nodes, 3)

Definition at line 520 of file Intrepid2_CellDataDef.hpp.

References INTREPID2_TEST_FOR_EXCEPTION_DEVICE_SAFE.

Referenced by Intrepid2::CellTools< DeviceType >::getReferenceNode(), Intrepid2::CellTools< DeviceType >::getReferenceVertex(), and Intrepid2::RefSubcellParametrization< DeviceType >::set().

Member Data Documentation

◆ hexahedron20Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::hexahedron20Nodes
staticprivate

Definition at line 247 of file Intrepid2_CellData.hpp.

◆ hexahedron27Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::hexahedron27Nodes
staticprivate

Definition at line 247 of file Intrepid2_CellData.hpp.

◆ hexahedronNodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::hexahedronNodes
staticprivate

Definition at line 247 of file Intrepid2_CellData.hpp.

◆ isReferenceNodeDataSet_

template<typename DeviceType >
bool Intrepid2::RefCellNodes< DeviceType >::isReferenceNodeDataSet_ = false
staticprivate

whether the nodes coordinates have been already set using the method set()

Definition at line 269 of file Intrepid2_CellData.hpp.

◆ line3Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::line3Nodes
staticprivate

Definition at line 243 of file Intrepid2_CellData.hpp.

◆ lineNodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::lineNodes
staticprivate

Definition at line 243 of file Intrepid2_CellData.hpp.

◆ pyramid13Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::pyramid13Nodes
staticprivate

Definition at line 248 of file Intrepid2_CellData.hpp.

◆ pyramid14Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::pyramid14Nodes
staticprivate

Definition at line 248 of file Intrepid2_CellData.hpp.

◆ pyramidNodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::pyramidNodes
staticprivate

Definition at line 248 of file Intrepid2_CellData.hpp.

◆ quadrilateral8Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::quadrilateral8Nodes
staticprivate

Definition at line 245 of file Intrepid2_CellData.hpp.

◆ quadrilateral9Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::quadrilateral9Nodes
staticprivate

Definition at line 245 of file Intrepid2_CellData.hpp.

◆ quadrilateralNodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::quadrilateralNodes
staticprivate

Definition at line 245 of file Intrepid2_CellData.hpp.

◆ refNodeDataStatic_

template<typename DeviceType >
const ReferenceNodeDataStatic Intrepid2::RefCellNodes< DeviceType >::refNodeDataStatic_
staticprivate

static struct containing the nodes coordinates on host

Definition at line 266 of file Intrepid2_CellData.hpp.

◆ tetrahedron10Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::tetrahedron10Nodes
staticprivate

Definition at line 246 of file Intrepid2_CellData.hpp.

◆ tetrahedron11Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::tetrahedron11Nodes
staticprivate

Definition at line 246 of file Intrepid2_CellData.hpp.

◆ tetrahedron8Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::tetrahedron8Nodes
staticprivate

Definition at line 246 of file Intrepid2_CellData.hpp.

◆ tetrahedronNodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::tetrahedronNodes
staticprivate

Definition at line 246 of file Intrepid2_CellData.hpp.

◆ triangle4Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::triangle4Nodes
staticprivate

Definition at line 244 of file Intrepid2_CellData.hpp.

◆ triangle6Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::triangle6Nodes
staticprivate

Definition at line 244 of file Intrepid2_CellData.hpp.

◆ triangleNodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::triangleNodes
staticprivate

Definition at line 244 of file Intrepid2_CellData.hpp.

◆ wedge15Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::wedge15Nodes
staticprivate

Definition at line 249 of file Intrepid2_CellData.hpp.

◆ wedge18Nodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::wedge18Nodes
staticprivate

Definition at line 249 of file Intrepid2_CellData.hpp.

◆ wedgeNodes

template<typename DeviceType >
ViewType Intrepid2::RefCellNodes< DeviceType >::wedgeNodes
staticprivate

Definition at line 249 of file Intrepid2_CellData.hpp.


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