Intrepid2
Static Public Member Functions | Static Public Attributes | Private Types | List of all members
Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType > Class Template Reference

Store host-only "members" of CellGeometry using a static map indexed on the CellGeometry pointer. This allows us to avoid issues related to non-CUDA-aware members with a lambda capture of a CellGeometry object. More...

#include <Intrepid2_CellGeometryDef.hpp>

Static Public Member Functions

static void constructorCalled (const CellGeometryType *cellGeometry, const shards::CellTopology &cellTopo, BasisPtr basisForNodes)
 
static void destructorCalled (const CellGeometryType *cellGeometry)
 
static BasisPtr getBasis (const CellGeometryType *cellGeometry)
 
static const shards::CellTopology & getCellTopology (const CellGeometryType *cellGeometry)
 

Static Public Attributes

static std::map< const CellGeometryType *, shards::CellTopology > cellTopology_
 
static std::map< const CellGeometryType *, BasisPtr > basisForNodes_
 

Private Types

using BasisPtr = Teuchos::RCP< Intrepid2::Basis< DeviceType, PointScalar, PointScalar > >
 
using CellGeometryType = CellGeometry< PointScalar, spaceDim, DeviceType >
 

Detailed Description

template<class PointScalar, int spaceDim, typename DeviceType>
class Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >

Store host-only "members" of CellGeometry using a static map indexed on the CellGeometry pointer. This allows us to avoid issues related to non-CUDA-aware members with a lambda capture of a CellGeometry object.

Definition at line 61 of file Intrepid2_CellGeometryDef.hpp.

Member Typedef Documentation

◆ BasisPtr

template<class PointScalar , int spaceDim, typename DeviceType >
using Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::BasisPtr = Teuchos::RCP<Intrepid2::Basis<DeviceType,PointScalar,PointScalar> >
private

Definition at line 63 of file Intrepid2_CellGeometryDef.hpp.

◆ CellGeometryType

template<class PointScalar , int spaceDim, typename DeviceType >
using Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::CellGeometryType = CellGeometry<PointScalar,spaceDim,DeviceType>
private

Definition at line 64 of file Intrepid2_CellGeometryDef.hpp.

Member Function Documentation

◆ constructorCalled()

template<class PointScalar , int spaceDim, typename DeviceType >
static void Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::constructorCalled ( const CellGeometryType cellGeometry,
const shards::CellTopology &  cellTopo,
BasisPtr  basisForNodes 
)
inlinestatic

Definition at line 71 of file Intrepid2_CellGeometryDef.hpp.

◆ destructorCalled()

template<class PointScalar , int spaceDim, typename DeviceType >
static void Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::destructorCalled ( const CellGeometryType cellGeometry)
inlinestatic

Definition at line 77 of file Intrepid2_CellGeometryDef.hpp.

◆ getBasis()

template<class PointScalar , int spaceDim, typename DeviceType >
static BasisPtr Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::getBasis ( const CellGeometryType cellGeometry)
inlinestatic

Definition at line 83 of file Intrepid2_CellGeometryDef.hpp.

◆ getCellTopology()

template<class PointScalar , int spaceDim, typename DeviceType >
static const shards::CellTopology & Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::getCellTopology ( const CellGeometryType cellGeometry)
inlinestatic

Definition at line 88 of file Intrepid2_CellGeometryDef.hpp.

Member Data Documentation

◆ basisForNodes_

template<class PointScalar , int spaceDim, typename DeviceType >
std::map< const CellGeometry< PointScalar, spaceDim, DeviceType > *, Teuchos::RCP< Intrepid2::Basis< DeviceType, PointScalar, PointScalar > > > Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::basisForNodes_
static

Definition at line 68 of file Intrepid2_CellGeometryDef.hpp.

◆ cellTopology_

template<class PointScalar , int spaceDim, typename DeviceType >
std::map< const CellGeometry< PointScalar, spaceDim, DeviceType > *, shards::CellTopology > Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::cellTopology_
static

Definition at line 67 of file Intrepid2_CellGeometryDef.hpp.


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