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

using iterator_type = typename base_type::iterator_type

Iterator type for traversing elements in the chunk.

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

ViewType faces

View of mesh faces in this chunk.