Intrepid2
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 27 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 29 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 30 of file Intrepid2_CellGeometryDef.hpp.

Member Function Documentation

◆ constructorCalled()

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

Definition at line 37 of file Intrepid2_CellGeometryDef.hpp.

◆ destructorCalled()

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

Definition at line 43 of file Intrepid2_CellGeometryDef.hpp.

◆ getBasis()

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

Definition at line 49 of file Intrepid2_CellGeometryDef.hpp.

◆ getCellTopology()

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

Definition at line 54 of file Intrepid2_CellGeometryDef.hpp.

Member Data Documentation

◆ basisForNodes_

template<class PointScalar, int spaceDim, typename DeviceType>
std::map<const CellGeometryType *, BasisPtr> Intrepid2::Impl::CellGeometryHostMembers< PointScalar, spaceDim, DeviceType >::basisForNodes_
static

Definition at line 34 of file Intrepid2_CellGeometryDef.hpp.

◆ cellTopology_

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

Definition at line 33 of file Intrepid2_CellGeometryDef.hpp.


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