specfem::chunk_edge::Index¶
-
template<specfem::element::dimension_tag DimensionTag, typename ViewType, typename TeamMemberType>
class Index : public specfem::execution::ChunkEdgeIndex<DimensionTag, ViewType, TeamMemberType>, public specfem::data_access::Accessor<specfem::datatype::AccessorType::chunk_edge, specfem::data_access::DataClassType::edge_index, DimensionTag, false>¶ Edge index for chunked edge operations in spectral element simulations.
Combines execution context with data access patterns for processing chunks of edges. Provides efficient indexing for edge-based computations such as interface coupling and boundary conditions.
- Template Parameters:
DimensionTag – Spatial dimension (2D/3D)
ViewType – Kokkos view type for edge index storage
TeamMemberType – Kokkos team execution context
Public Types
Public Functions
-
inline Index(const base_type &base)¶
Construct from existing chunk edge index base.
- Parameters:
base – Base chunk edge index to wrap with data access layer
-
inline Index(const ViewType indices, const int &ngllz, const int &ngllx, const TeamMemberType &kokkos_index)¶
Construct with explicit parameters.
- Parameters:
indices – Edge indices view
ngllz – Number of GLL points in z-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 edges
-
inline const iterator_type &get_iterator() const¶
Get the team-level iterator for processing edges in this chunk.
- Returns:
const iterator_type& Reference to the ChunkEdgeIterator that can be used to iterate over individual edge points within this chunk
Private Types
-
using base_type = specfem::execution::ChunkEdgeIndex<DimensionTag, ViewType, TeamMemberType>¶
Base execution index type for chunk edge operations.
Private Members
-
TeamMemberType kokkos_index¶
Kokkos team member for this chunk.
-
iterator_type iterator¶
Team-level iterator for edge processing within chunk