|
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 36 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 38 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 40 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 41 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 39 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 44 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 43 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 117 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 288 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 140 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 161 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 186 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 202 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 222 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 318 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 333 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 84 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 349 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 267 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 365 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 388 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 402 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
inline |
Definition at line 674 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 62 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 75 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 74 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 54 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| InputPointsType Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::inputPoints_ |
Definition at line 49 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 81 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 80 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 79 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 76 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numFaceFunctions_ |
Definition at line 69 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numFaceFunctionsPerFace_ |
Definition at line 68 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
staticconstexpr |
Definition at line 57 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numFields_ |
Definition at line 52 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
staticconstexpr |
Definition at line 59 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numInteriorFunctions_ |
Definition at line 71 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| const ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numInteriorFunctionsPerFamily_ |
Definition at line 70 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::numPoints_ |
Definition at line 52 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
staticconstexpr |
Definition at line 56 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
|
staticconstexpr |
Definition at line 58 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| EOperator Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::opType_ |
Definition at line 46 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| OutputFieldType Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::output_ |
Definition at line 48 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.
| ordinal_type Intrepid2::Hierarchical_HDIV_TET_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType >::polyOrder_ |
Definition at line 51 of file Intrepid2_HierarchicalBasis_HDIV_TET.hpp.