Intrepid2
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Intrepid2::Hierarchical_HCURL_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType > Class Template Reference

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

#include <Intrepid2_HierarchicalBasis_HCURL_TET.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 PointScratchView = Kokkos::View< PointScalar *, ScratchSpace, Kokkos::MemoryTraits< Kokkos::Unmanaged >>
 
using TeamPolicy = Kokkos::TeamPolicy< ExecutionSpace >
 
using TeamMember = typename TeamPolicy::member_type
 

Public Member Functions

KOKKOS_INLINE_FUNCTION ordinal_type dofOrdinalForFace (const ordinal_type &faceOrdinal, const ordinal_type &zeroBasedFaceFamily, const ordinal_type &i, const ordinal_type &j) const
 
 Hierarchical_HCURL_TET_Functor (EOperator opType, OutputFieldType output, InputPointsType inputPoints, int polyOrder)
 
KOKKOS_INLINE_FUNCTION void computeEdgeLegendre (OutputScratchView &P, const ordinal_type &edgeOrdinal, const PointScalar *lambda) const
 
KOKKOS_INLINE_FUNCTION void edgeFunctionValue (OutputScalar &edgeValue_x, OutputScalar &edgeValue_y, OutputScalar &edgeValue_z, const ordinal_type &edgeOrdinal, OutputScratchView &P, const ordinal_type &i, const PointScalar *lambda, const PointScalar *lambda_dx, const PointScalar *lambda_dy, const PointScalar *lambda_dz) const
 
KOKKOS_INLINE_FUNCTION void computeFaceIntegratedJacobi (OutputScratchView &L_2ip1, const ordinal_type &zeroBasedFaceOrdinal, const ordinal_type &zeroBasedFamilyOrdinal, const ordinal_type &i, const PointScalar *lambda) const
 
KOKKOS_INLINE_FUNCTION void faceFunctionValue (OutputScalar &value_x, OutputScalar &value_y, OutputScalar &value_z, const ordinal_type &j, const OutputScratchView &L_2ip1, const OutputScalar &edgeValue_x, const OutputScalar &edgeValue_y, const OutputScalar &edgeValue_z, const PointScalar *lambda) const
 
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_
 
ordinal_type polyOrder_
 
ordinal_type numFields_
 
ordinal_type numPoints_
 
size_t fad_size_output_
 
const ordinal_type face_vertices [numFaces *numVerticesPerFace]
 
const ordinal_type face_edges [numFaces *numEdgesPerFace]
 
const ordinal_type edge_start_ [numEdges] = {0,1,0,0,1,2}
 
const ordinal_type edge_end_ [numEdges] = {1,2,2,3,3,3}
 
const ordinal_type face_family_start_ [numFaceFamilies] = {0,1}
 
const ordinal_type face_family_middle_ [numFaceFamilies] = {1,2}
 
const ordinal_type face_family_end_ [numFaceFamilies] = {2,0}
 
const ordinal_type numEdgeFunctions_
 
const ordinal_type numFaceFunctionsPerFace_
 
const ordinal_type numFaceFunctions_
 
const ordinal_type numInteriorFunctionsPerFamily_
 
const ordinal_type numInteriorFunctions_
 
const ordinal_type faceOrdinalForInterior_ [numInteriorFamilies] = {0,2,3}
 
const ordinal_type faceFamilyForInterior_ [numInteriorFamilies] = {0,0,1}
 
const ordinal_type interiorCoordinateOrdinal_ [numInteriorFamilies] = {3,0,1}
 

Static Public Attributes

static constexpr ordinal_type numVertices = 4
 
static constexpr ordinal_type numEdges = 6
 
static constexpr ordinal_type numEdgesPerFace = 3
 
static constexpr ordinal_type numFaceFamilies = 2
 
static constexpr ordinal_type numFaces = 4
 
static constexpr ordinal_type numVerticesPerFace = 3
 
static constexpr ordinal_type numInteriorFamilies = 3
 

Detailed Description

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

Functor for computing values for the HierarchicalBasis_HCURL_TET class.

This functor is not intended for use outside of HierarchicalBasis_HCURL_TET.

Definition at line 37 of file Intrepid2_HierarchicalBasis_HCURL_TET.hpp.

Member Data Documentation

template<class DeviceType , class OutputScalar , class PointScalar , class OutputFieldType , class InputPointsType >
const ordinal_type Intrepid2::Hierarchical_HCURL_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::face_edges[numFaces *numEdgesPerFace]
Initial value:
= {0,1,2,
0,4,3,
1,5,4,
2,5,3}

Definition at line 75 of file Intrepid2_HierarchicalBasis_HCURL_TET.hpp.

template<class DeviceType , class OutputScalar , class PointScalar , class OutputFieldType , class InputPointsType >
const ordinal_type Intrepid2::Hierarchical_HCURL_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::face_vertices[numFaces *numVerticesPerFace]
Initial value:
= {0,1,2,
0,1,3,
1,2,3,
0,2,3
}

Definition at line 66 of file Intrepid2_HierarchicalBasis_HCURL_TET.hpp.


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