|
Intrepid2
|
#include <Intrepid2_OrientationOperator.hpp>
Classes | |
| struct | RawView1D |
Public Types | |
| using | UnmanagedOrdinalView = RawView1D< ordinal_type > |
| using | UnmanagedDoubleView = RawView1D< double > |
Public Member Functions | |
| KOKKOS_INLINE_FUNCTION | OrientationOperator (UnmanagedOrdinalView rowIndices_, UnmanagedOrdinalView offsetsForRowOrdinal_, UnmanagedOrdinalView packedColumnIndices_, UnmanagedDoubleView packedWeights_) |
| general constructor. Sets isWeightedPermutation to false. | |
| KOKKOS_INLINE_FUNCTION | OrientationOperator (UnmanagedOrdinalView rowIndices_, UnmanagedOrdinalView packedColumnIndices_, UnmanagedDoubleView packedWeights_) |
| weighted-permutation constructor. Sets isWeightedPermutation to true. | |
Public Attributes | |
| UnmanagedOrdinalView | rowIndices |
| UnmanagedOrdinalView | offsetsForRowOrdinal |
| UnmanagedOrdinalView | packedColumnIndices |
| UnmanagedDoubleView | packedWeights |
| bool | isWeightedPermutation |
Introduced in 2025, OrientationOperator seeks to make the application of orientations to vectors of local basis coefficients more efficient. Each orientation operator corresponds to a subcell (face or edge) of a basis, and applies the specified orientation map to the part of the basis corresponding to the subcell. The assumption is that the input and output vectors supplied prior to application of any orientation operators are identical, allowing the identity map to be implemented as a no-op.
The operator object is stored in a Kokkos::View and copied between host and device. To keep that safe for non-UVM CUDA builds, it deliberately stores only raw device pointers plus extents, rather than nested Kokkos::View handles.
Definition at line 38 of file Intrepid2_OrientationOperator.hpp.
| using Intrepid2::OrientationOperator< DeviceType >::UnmanagedDoubleView = RawView1D<double> |
Definition at line 82 of file Intrepid2_OrientationOperator.hpp.
| using Intrepid2::OrientationOperator< DeviceType >::UnmanagedOrdinalView = RawView1D<ordinal_type> |
Definition at line 81 of file Intrepid2_OrientationOperator.hpp.
| KOKKOS_INLINE_FUNCTION Intrepid2::OrientationOperator< DeviceType >::OrientationOperator | ( | ) |
Definition at line 53 of file Intrepid2_OrientationOperatorDef.hpp.
| bool Intrepid2::OrientationOperator< DeviceType >::isWeightedPermutation |
Definition at line 92 of file Intrepid2_OrientationOperator.hpp.
| UnmanagedOrdinalView Intrepid2::OrientationOperator< DeviceType >::offsetsForRowOrdinal |
Definition at line 86 of file Intrepid2_OrientationOperator.hpp.
| UnmanagedOrdinalView Intrepid2::OrientationOperator< DeviceType >::packedColumnIndices |
Definition at line 87 of file Intrepid2_OrientationOperator.hpp.
| UnmanagedDoubleView Intrepid2::OrientationOperator< DeviceType >::packedWeights |
Definition at line 88 of file Intrepid2_OrientationOperator.hpp.
| UnmanagedOrdinalView Intrepid2::OrientationOperator< DeviceType >::rowIndices |
Definition at line 85 of file Intrepid2_OrientationOperator.hpp.