specfem::chunk_edge::intersection_normal

template<specfem::dimension::type DimensionTag, specfem::interface::interface_tag InterfaceTag, specfem::element::boundary_tag BoundaryTag, int NumberElements, int NQuadIntersection, typename MemorySpace = Kokkos::DefaultExecutionSpace::scratch_memory_space, typename MemoryTraits = Kokkos::MemoryTraits<Kokkos::Unmanaged>>
struct intersection_normal

Template accessor for intersection normal vectors.

Provides chunk-based access to unit normal vectors at intersection quadrature points in nonconforming interfaces.

Template Parameters:
  • DimensionTag – Spatial dimension

  • InterfaceTag – Interface medium type

  • BoundaryTag – Boundary condition tag

  • NumberElements – Number of edges in chunk

  • NQuadIntersection – Quadrature points on intersection

  • MemorySpace – Kokkos memory space

  • MemoryTraits – Kokkos memory traits

Dimension-Specific Specializations

2D Specialization

template<specfem::interface::interface_tag InterfaceTag, specfem::element::boundary_tag BoundaryTag, int NumberElements, int NQuadIntersection, typename MemorySpace, typename MemoryTraits>
struct intersection_normal<specfem::dimension::type::dim2, InterfaceTag, BoundaryTag, NumberElements, NQuadIntersection, MemorySpace, MemoryTraits> : public specfem::data_access::Accessor<specfem::data_access::AccessorType::chunk_edge, specfem::data_access::DataClassType::intersection_normal, specfem::dimension::type::dim2, false>

2D specialization of intersection normal accessor

Stores 2D unit normal vectors at intersection quadrature points.