specfem::point::edge_index¶
-
template<specfem::element::dimension_tag DimensionTag>
struct edge_index¶ Primary template for edge index in spectral element meshes.
- Template Parameters:
DimensionTag – Spatial dimension (dim2 or dim3)
Dimension-specific Specializations¶
-
template<>
struct edge_index<specfem::element::dimension_tag::dim2> : public specfem::data_access::Accessor<specfem::datatype::AccessorType::point, specfem::data_access::DataClassType::edge_index, specfem::element::dimension_tag::dim2, false>¶ 2D edge index for spectral element edge access
Provides indexing information to locate and access data at specific points along edges in 2D spectral element meshes. Contains both element-level indices (element, edge) and local coordinate indices within the edge.
Public Functions
-
edge_index() = default¶
Default constructor.
-
inline edge_index(const int ispec_, const int iedge_, const int ipoint_, const int iz_, const int ix_, const specfem::mesh_entity::dim2::type edge_type_)¶
Constructs edge index with all indices.
- Parameters:
ispec_ – Element index.
iedge_ – Edge index (0-3 for 2D quad elements).
ipoint_ – Point index along edge.
iz_ – Local z-coordinate index.
ix_ – Local x-coordinate index.
edge_type_ – Mesh entity type for the edge.
Public Members
-
int ispec¶
Spectral element index.
-
int iedge¶
Local edge index within the iterator.
-
int ipoint¶
Point index along the edge.
-
int iz¶
Local z-coordinate index within element.
-
int ix¶
Local x-coordinate index within element.
-
specfem::mesh_entity::dim2::type edge_type¶
Mesh entity type for the edge.
Public Static Attributes
-
static constexpr auto dimension_tag = specfem::element::dimension_tag::dim2¶
Dimension tag for 2D specialization.
-
edge_index() = default¶
-
template<>
struct edge_index<specfem::element::dimension_tag::dim3> : public specfem::data_access::Accessor<specfem::datatype::AccessorType::point, specfem::data_access::DataClassType::edge_index, specfem::element::dimension_tag::dim3, false>¶ 3D edge index for spectral element edge access
Provides indexing information to locate and access data at specific points along edges in 3D spectral element meshes. Contains both element-level indices (element, edge) and local coordinate indices within the edge.
Public Functions
-
edge_index() = default¶
Default constructor.
-
inline edge_index(const int ispec_, const int iedge_, const int ipoint_, const int iz_, const int iy_, const int ix_, const specfem::mesh_entity::dim3::type edge_type_)¶
Constructs edge index with all indices.
- Parameters:
ispec_ – Element index.
iedge_ – Edge index (0-11 for 3D hexahedral elements).
ipoint_ – Point index along edge.
iz_ – Local z-coordinate index.
iy_ – Local y-coordinate index.
ix_ – Local x-coordinate index.
edge_type_ – Mesh entity type for the edge.
Public Members
-
int ispec¶
Spectral element index.
-
int iedge¶
Local edge index within the iterator.
-
int ipoint¶
Point index along the edge.
-
int iz¶
Local z-coordinate index within element.
-
int iy¶
Local y-coordinate index within element.
-
int ix¶
Local x-coordinate index within element.
-
specfem::mesh_entity::dim3::type edge_type¶
Mesh entity type for the edge.
Public Static Attributes
-
static constexpr auto dimension_tag = specfem::element::dimension_tag::dim3¶
Dimension tag for 3D specialization.
-
edge_index() = default¶