specfem::medium_container::kernels::point_container

template<specfem::element::dimension_tag DimensionTag, specfem::element::medium_tag MediumTag, specfem::element::property_tag PropertyTag, bool UseSIMD, typename Enable = void>
struct point_container

Data container to hold kernels at a quadrature point.

Template Parameters:
  • DimensionTag – The dimension of the medium

  • MediumTag – The type of the medium

  • PropertyTag – The type of the kernels

  • UseSIMD – Boolean indicating whether to use SIMD intrinsics

  • Enable – SFINAE enable parameter

Subclassed by specfem::point::kernels< DimensionTag, MediumTag, PropertyTag, UseSIMD, Enable >

Medium-specific Specializations

Acoustic Isotropic

Warning

doxygengroup: Cannot find group “specfem_point_kernels_dim2_acoustic_isotropic” in doxygen xml output for project “specfem++” from directory: _build/doxygen/xml

Elastic Isotropic

template<specfem::element::dimension_tag DimensionTag, specfem::element::medium_tag MediumTag, bool UseSIMD>
struct point_container<DimensionTag, MediumTag, specfem::element::property_tag::isotropic, UseSIMD, std::enable_if_t<specfem::element::is_elastic<MediumTag>::value>>
#include <kernels.hpp>

Data container to hold misfit kernels of 2D elastic isotropic media at a quadrature point.

Accessor functions generated by the POINT_CONTAINER MACRO

  • Get \( K_{\rho} \)

    KOKKOS_INLINE_FUNCTION const value_type rho() const 
    

  • Get \( K_{\mu} \)

    KOKKOS_INLINE_FUNCTION const value_type mu() const 
    

  • Get \( K_{\kappa} \)

    KOKKOS_INLINE_FUNCTION const value_type kappa() const 
    

  • Get \( K_{\rho^\prime} \)

    KOKKOS_INLINE_FUNCTION const value_type rhop() const 
    

  • Get \( K_{\alpha} \)

    KOKKOS_INLINE_FUNCTION const value_type alpha() const 
    

  • Get \( K_{\beta} \)

    KOKKOS_INLINE_FUNCTION const value_type beta() const 
    

Template Parameters:
  • DimensionTag – Dimension of the problem

  • MediumTag – The medium tag

  • UseSIMD – Boolean indicating whether to use SIMD intrinsics

Elastic Anisotropic

template<specfem::element::medium_tag MediumTag, bool UseSIMD>
struct point_container<specfem::element::dimension_tag::dim2, MediumTag, specfem::element::property_tag::anisotropic, UseSIMD, std::enable_if_t<specfem::element::is_elastic<MediumTag>::value>>
#include <kernels.hpp>

Data container to hold misfit kernels of 2D elastic anisotropic media at a quadrature point.

Accessor functions generated by the POINT_CONTAINER MACRO

  • Get \( K_{\rho} \)

    KOKKOS_INLINE_FUNCTION const value_type rho() const 
    

  • Get \( K_{c_{11}} \)

    KOKKOS_INLINE_FUNCTION const value_type c11() const 
    

  • Get \( K_{c_{13}} \)

    KOKKOS_INLINE_FUNCTION const value_type c13() const 
    

  • Get \( K_{c_{15}} \)

    KOKKOS_INLINE_FUNCTION const value_type c15() const 
    

  • Get \( K_{c_{33}} \)

    KOKKOS_INLINE_FUNCTION const value_type c33() const 
    

  • Get \( K_{c_{35}} \)

    KOKKOS_INLINE_FUNCTION const value_type c35() const 
    

  • Get \( K_{c_{55}} \)

    KOKKOS_INLINE_FUNCTION const value_type c55() const 
    

Template Parameters:
  • MediumTag – The medium tag

  • UseSIMD – Boolean indicating whether to use SIMD intrinsics

Elastic Isotropic Cosserat

template<specfem::element::medium_tag MediumTag, bool UseSIMD>
struct point_container<specfem::element::dimension_tag::dim2, MediumTag, specfem::element::property_tag::isotropic_cosserat, UseSIMD, std::enable_if_t<specfem::element::is_elastic<MediumTag>::value>>
#include <kernels.hpp>

Placeholder container for 2D elastic isotropic cosserat media.

Template Parameters:
  • MediumTag – The medium tag

  • UseSIMD – Boolean indicating whether to use SIMD intrinsics

Electromagnetic

template<specfem::element::medium_tag MediumTag, bool UseSIMD>
struct point_container<specfem::element::dimension_tag::dim2, MediumTag, specfem::element::property_tag::isotropic, UseSIMD, std::enable_if_t<specfem::element::is_electromagnetic<MediumTag>::value>>
#include <kernels.hpp>

Data container to hold misfit kernels of 2D electromagnetic media at a quadrature point.

Template Parameters:
  • MediumTag – The medium tag

  • UseSIMD – Boolean indicating whether to use SIMD intrinsics

Poroelastic Isotropic

template<bool UseSIMD>
struct point_container<specfem::element::dimension_tag::dim2, specfem::element::medium_tag::poroelastic, specfem::element::property_tag::isotropic, UseSIMD>
#include <kernels.hpp>

Data container to hold misfit kernels of 2D poroelastic media at a quadrature point.

Accessor functions generated by the POINT_CONTAINER MACRO

  • Get \( K_{\rho_t} \)

    KOKKOS_INLINE_FUNCTION const value_type rhot() const 
    

  • Get \( K_{\rho_f} \)

    KOKKOS_INLINE_FUNCTION const value_type rhof() const 
    

  • Get \( K_{\eta} \)

    KOKKOS_INLINE_FUNCTION const value_type eta() const 
    

  • Get \( K_{s_m} \)

    KOKKOS_INLINE_FUNCTION const value_type sm() const 
    

  • Get \( K_{\mu_{fr}} \)

    KOKKOS_INLINE_FUNCTION const value_type mu_fr() const 
    

  • Get \( K_{B} \)

    KOKKOS_INLINE_FUNCTION const value_type B() const 
    

  • Get \( K_{C} \)

    KOKKOS_INLINE_FUNCTION const value_type C() const 
    

  • Get \( K_{M} \)

    KOKKOS_INLINE_FUNCTION const value_type M() const 
    

  • Get \( K_{\mu_{frb}} \)

    KOKKOS_INLINE_FUNCTION const value_type mu_frb() const 
    

  • Get \( K_{\rho_b} \)

    KOKKOS_INLINE_FUNCTION const value_type rhob() const 
    

  • Get \( K_{\rho_{fb}} \)

    KOKKOS_INLINE_FUNCTION const value_type rhofb() const 
    

  • Get \( K_{\phi} \)

    KOKKOS_INLINE_FUNCTION const value_type phi() const 
    

  • Get \( K_{cpI} \)

    KOKKOS_INLINE_FUNCTION const value_type cpI() const 
    

  • Get \( K_{cpII} \)

    KOKKOS_INLINE_FUNCTION const value_type cpII() const 
    

  • Get \( K_{cs} \)

    KOKKOS_INLINE_FUNCTION const value_type cs() const 
    

  • Get \( K_{\rho_{bb}} \)

    KOKKOS_INLINE_FUNCTION const value_type rhobb() const 
    

  • Get \( K_{\rho_{fbb}} \)

    KOKKOS_INLINE_FUNCTION const value_type rhofbb() const 
    

  • Get \( K_{ratio} \)

    KOKKOS_INLINE_FUNCTION const value_type ratio() const 
    

  • Get \( K_{\phi_b} \)

    KOKKOS_INLINE_FUNCTION const value_type phib() const 
    

Template Parameters:

UseSIMD – Boolean indicating whether to use SIMD intrinsics