Intrepid2
Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType > Class Template Reference

Functor for computing values for the IntegratedLegendreBasis_HGRAD_PYR class. More...

#include <Intrepid2_IntegratedLegendreBasis_HGRAD_PYR.hpp>

Public Types

using ExecutionSpace = typename DeviceType::execution_space
using ScratchSpace = typename ExecutionSpace::scratch_memory_space
using OutputScratchView = Kokkos::View<OutputScalar*,ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged>>
using OutputScratchView2D = Kokkos::View<OutputScalar**,ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged>>
using PointScratchView = Kokkos::View<PointScalar*, ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged>>
using TeamPolicy = Kokkos::TeamPolicy<ExecutionSpace>
using TeamMember = typename TeamPolicy::member_type

Public Member Functions

 Hierarchical_HGRAD_PYR_Functor (EOperator opType, OutputFieldType output, InputPointsType inputPoints, int polyOrder, bool defineVertexFunctions)
KOKKOS_INLINE_FUNCTION void operator() (const TeamMember &teamMember) const
size_t team_shmem_size (int team_size) const

Public Attributes

EOperator opType_
OutputFieldType output_
InputPointsType inputPoints_
int polyOrder_
bool defineVertexFunctions_
int numFields_
int numPoints_
size_t fad_size_output_
const int edge_start_ [numEdges] = {0,1,2,3,0,1,2,3}
const int edge_end_ [numEdges] = {1,2,3,0,4,4,4,4}
const int tri_face_vertex_0 [numTriFaces] = {0,1,3,0}
const int tri_face_vertex_1 [numTriFaces] = {1,2,2,3}
const int tri_face_vertex_2 [numTriFaces] = {4,4,4,4}

Static Public Attributes

static const int numVertices = 5
static const int numMixedEdges = 4
static const int numTriEdges = 4
static const int numEdges = 8
static const int numQuadFaces = 1
static const int numTriFaces = 4

Detailed Description

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
class Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >

Functor for computing values for the IntegratedLegendreBasis_HGRAD_PYR class.

This functor is not intended for use outside of IntegratedLegendreBasis_HGRAD_PYR.

Definition at line 47 of file Intrepid2_IntegratedLegendreBasis_HGRAD_PYR.hpp.

Member Typedef Documentation

◆ ExecutionSpace

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
using Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::ExecutionSpace = typename DeviceType::execution_space

◆ OutputScratchView

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
using Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::OutputScratchView = Kokkos::View<OutputScalar*,ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged>>

◆ OutputScratchView2D

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
using Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::OutputScratchView2D = Kokkos::View<OutputScalar**,ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged>>

◆ PointScratchView

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
using Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::PointScratchView = Kokkos::View<PointScalar*, ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged>>

◆ ScratchSpace

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
using Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::ScratchSpace = typename ExecutionSpace::scratch_memory_space

◆ TeamMember

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
using Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::TeamMember = typename TeamPolicy::member_type

◆ TeamPolicy

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
using Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::TeamPolicy = Kokkos::TeamPolicy<ExecutionSpace>

Constructor & Destructor Documentation

◆ Hierarchical_HGRAD_PYR_Functor()

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::Hierarchical_HGRAD_PYR_Functor ( EOperator opType,
OutputFieldType output,
InputPointsType inputPoints,
int polyOrder,
bool defineVertexFunctions )
inline

Member Function Documentation

◆ operator()()

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
KOKKOS_INLINE_FUNCTION void Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::operator() ( const TeamMember & teamMember) const
inline

◆ team_shmem_size()

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
size_t Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::team_shmem_size ( int team_size) const
inline

Member Data Documentation

◆ defineVertexFunctions_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
bool Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::defineVertexFunctions_

◆ edge_end_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::edge_end_[numEdges] = {1,2,3,0,4,4,4,4}

◆ edge_start_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::edge_start_[numEdges] = {0,1,2,3,0,1,2,3}

◆ fad_size_output_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
size_t Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::fad_size_output_

◆ inputPoints_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
InputPointsType Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::inputPoints_

◆ numEdges

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numEdges = 8
static

◆ numFields_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numFields_

◆ numMixedEdges

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numMixedEdges = 4
static

◆ numPoints_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numPoints_

◆ numQuadFaces

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numQuadFaces = 1
static

◆ numTriEdges

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numTriEdges = 4
static

◆ numTriFaces

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numTriFaces = 4
static

◆ numVertices

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numVertices = 5
static

◆ opType_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
EOperator Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::opType_

◆ output_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
OutputFieldType Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::output_

◆ polyOrder_

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::polyOrder_

◆ tri_face_vertex_0

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::tri_face_vertex_0[numTriFaces] = {0,1,3,0}

◆ tri_face_vertex_1

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::tri_face_vertex_1[numTriFaces] = {1,2,2,3}

◆ tri_face_vertex_2

template<class DeviceType, class OutputScalar, class PointScalar, class OutputFieldType, class InputPointsType>
const int Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::tri_face_vertex_2[numTriFaces] = {4,4,4,4}

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