specfem::chunk_face::Index¶
-
template<specfem::element::dimension_tag DimensionTag, typename ViewType, typename TeamMemberType>
class Index : public specfem::execution::ChunkFaceIndex<DimensionTag, ViewType, TeamMemberType>, public specfem::data_access::Accessor<specfem::datatype::AccessorType::chunk_face, specfem::data_access::DataClassType::face_index, DimensionTag, false>¶ Face index for chunked face operations in spectral element simulations.
Combines execution context with data access patterns for processing chunks of faces. Provides efficient indexing for face-based computations such as interface coupling and boundary conditions in 3D.
- Template Parameters:
DimensionTag – Spatial dimension (3D)
ViewType – Kokkos view type for face index storage
TeamMemberType – Kokkos team execution context
Public Types
Public Functions
-
inline Index(const base_type &base)¶
Construct from existing chunk face index base.
- Parameters:
base – Base chunk face index to wrap with data access layer
-
inline Index(const ViewType indices, const int &ngllz, const int &nglly, const int &ngllx, const TeamMemberType &kokkos_index)¶
Construct with explicit parameters.
- Parameters:
indices – Face indices view
ngllz – Number of GLL points in z-dimension
nglly – Number of GLL points in y-dimension
ngllx – Number of GLL points in x-dimension
kokkos_index – Team member execution context
-
inline constexpr const TeamMemberType &get_policy_index() const¶
Get the Kokkos policy index (team member) for this chunk.
- Returns:
const KokkosIndexType& Reference to the Kokkos team member that is responsible for processing this chunk
-
inline const index_type get_index() const¶
Get the chunk-specific index.
- Returns:
const index_type& Reference to the chunk index containing metadata about this specific chunk of faces
-
inline const iterator_type &get_iterator() const¶
Get the team-level iterator for processing faces in this chunk.
- Returns:
const iterator_type& Reference to the ChunkFaceIterator that can be used to iterate over individual face points within this chunk
Private Types
-
using base_type = specfem::execution::ChunkFaceIndex<DimensionTag, ViewType, TeamMemberType>¶
Base execution index type for chunk face operations.
Private Members
-
TeamMemberType kokkos_index¶
Kokkos team member for this chunk.
-
iterator_type iterator¶
Team-level iterator for face processing within chunk