Intrepid2
|
Functor for computing values for the HierarchicalBasis_HDIV_TET class. More...
#include <Intrepid2_HierarchicalBasis_HDIV_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_HDIV_TET_Functor (EOperator opType, OutputFieldType output, InputPointsType inputPoints, int polyOrder) | |
KOKKOS_INLINE_FUNCTION void | computeFaceJacobi (OutputScratchView &P_2ip1, const ordinal_type &zeroBasedFaceOrdinal, const ordinal_type &i, const PointScalar *lambda) const |
KOKKOS_INLINE_FUNCTION void | computeFaceJacobiForInterior (OutputScratchView &P_2ip1, const ordinal_type &zeroBasedInteriorFamilyOrdinal, const ordinal_type &i, const PointScalar *lambda) const |
The face functions we compute for interior blending can have a different orientation than the ones used for face functions (specifically, for interior family III, we have 230 instead of 023). | |
KOKKOS_INLINE_FUNCTION void | computeFaceLegendre (OutputScratchView &P, const ordinal_type &zeroBasedFaceOrdinal, const PointScalar *lambda) const |
KOKKOS_INLINE_FUNCTION void | computeFaceLegendreForInterior (OutputScratchView &P, const ordinal_type &zeroBasedInteriorFamilyOrdinal, const PointScalar *lambda) const |
KOKKOS_INLINE_FUNCTION void | computeFaceVectorWeight (OutputScalar &vectorWeight_x, OutputScalar &vectorWeight_y, OutputScalar &vectorWeight_z, const ordinal_type &zeroBasedFaceOrdinal, const PointScalar *lambda, const PointScalar *lambda_dx, const PointScalar *lambda_dy, const PointScalar *lambda_dz) const |
KOKKOS_INLINE_FUNCTION void | faceFunctionValue (OutputScalar &value_x, OutputScalar &value_y, OutputScalar &value_z, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &P, const OutputScratchView &P_2ip1, const OutputScalar &vectorWeight_x, const OutputScalar &vectorWeight_y, const OutputScalar &vectorWeight_z, const PointScalar *lambda) const |
KOKKOS_INLINE_FUNCTION void | computeFaceDivWeight (OutputScalar &divWeight, const ordinal_type &zeroBasedFaceOrdinal, const PointScalar *lambda_dx, const PointScalar *lambda_dy, const PointScalar *lambda_dz) const |
KOKKOS_INLINE_FUNCTION void | computeInteriorIntegratedJacobi (OutputScratchView &L_2ipjp1, const ordinal_type &i, const ordinal_type &j, const ordinal_type &zeroBasedFamilyOrdinal, const PointScalar *lambda) const |
KOKKOS_INLINE_FUNCTION void | computeInteriorJacobi (OutputScratchView &P_2ipjp1, const ordinal_type &i, const ordinal_type &j, const ordinal_type &zeroBasedFamilyOrdinal, const PointScalar *lambda) const |
KOKKOS_INLINE_FUNCTION void | faceFunctionDiv (OutputScalar &divValue, const ordinal_type &i, const ordinal_type &j, const OutputScratchView &P, const OutputScratchView &P_2ip1, const OutputScalar &divWeight, const PointScalar *lambda) const |
KOKKOS_INLINE_FUNCTION void | gradInteriorIntegratedJacobi (OutputScalar &L_2ipjp1_dx, OutputScalar &L_2ipjp1_dy, OutputScalar &L_2ipjp1_dz, const ordinal_type &zeroBasedFamilyOrdinal, const ordinal_type &j, const ordinal_type &k, const OutputScratchView &P_2ipjp1, const PointScalar *lambda, const PointScalar *lambda_dx, const PointScalar *lambda_dy, const PointScalar *lambda_dz) const |
KOKKOS_INLINE_FUNCTION void | interiorFunctionDiv (OutputScalar &outputDiv, OutputScalar &L_2ipjp1_k, OutputScalar &faceDiv, OutputScalar &L_2ipjp1_k_dx, OutputScalar &L_2ipjp1_k_dy, OutputScalar &L_2ipjp1_k_dz, OutputScalar &faceValue_x, OutputScalar &faceValue_y, OutputScalar &faceValue_z) 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 | 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} |
const ordinal_type | interior_face_family_start_ [numInteriorFamilies] = {0,0,1} |
const ordinal_type | interior_face_family_middle_ [numInteriorFamilies] = {1,1,2} |
const ordinal_type | interior_face_family_end_ [numInteriorFamilies] = {2,2,0} |
Static Public Attributes | |
static constexpr ordinal_type | numVertices = 4 |
static constexpr ordinal_type | numFaces = 4 |
static constexpr ordinal_type | numVerticesPerFace = 3 |
static constexpr ordinal_type | numInteriorFamilies = 3 |
Functor for computing values for the HierarchicalBasis_HDIV_TET class.
This functor is not intended for use outside of HierarchicalBasis_HDIV_TET.
Definition at line 69 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
using Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::ExecutionSpace = typename DeviceType::execution_space |
Definition at line 71 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
using Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::OutputScratchView = Kokkos::View<OutputScalar*,ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged> > |
Definition at line 73 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
using Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::PointScratchView = Kokkos::View<PointScalar*, ScratchSpace,Kokkos::MemoryTraits<Kokkos::Unmanaged> > |
Definition at line 74 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
using Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::ScratchSpace = typename ExecutionSpace::scratch_memory_space |
Definition at line 72 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
using Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::TeamMember = typename TeamPolicy::member_type |
Definition at line 77 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
using Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::TeamPolicy = Kokkos::TeamPolicy<ExecutionSpace> |
Definition at line 76 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 150 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 321 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 173 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
The face functions we compute for interior blending can have a different orientation than the ones used for face functions (specifically, for interior family III, we have 230 instead of 023).
Definition at line 194 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 219 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 235 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 255 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 351 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 366 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 117 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 382 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 300 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 398 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 421 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 435 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 707 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::face_vertices[numFaces *numVerticesPerFace] |
Definition at line 95 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::faceFamilyForInterior_[numInteriorFamilies] = {0,0,1} |
Definition at line 108 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::faceOrdinalForInterior_[numInteriorFamilies] = {0,2,3} |
Definition at line 107 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
size_t Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::fad_size_output_ |
Definition at line 87 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
InputPointsType Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::inputPoints_ |
Definition at line 82 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::interior_face_family_end_[numInteriorFamilies] = {2,2,0} |
Definition at line 114 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::interior_face_family_middle_[numInteriorFamilies] = {1,1,2} |
Definition at line 113 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::interior_face_family_start_[numInteriorFamilies] = {0,0,1} |
Definition at line 112 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::interiorCoordinateOrdinal_[numInteriorFamilies] = {3,0,1} |
Definition at line 109 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numFaceFunctions_ |
Definition at line 102 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numFaceFunctionsPerFace_ |
Definition at line 101 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
staticconstexpr |
Definition at line 90 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numFields_ |
Definition at line 85 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
staticconstexpr |
Definition at line 92 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numInteriorFunctions_ |
Definition at line 104 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numInteriorFunctionsPerFamily_ |
Definition at line 103 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numPoints_ |
Definition at line 85 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
staticconstexpr |
Definition at line 89 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
staticconstexpr |
Definition at line 91 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
EOperator Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::opType_ |
Definition at line 79 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
OutputFieldType Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::output_ |
Definition at line 81 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::polyOrder_ |
Definition at line 84 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.