specfem::point::impl::kernels::data_container¶
-
template<specfem::dimension::type DimensionTag, specfem::element::medium_tag MediumTag, specfem::element::property_tag PropertyTag, bool UseSIMD, typename Enable = void>
struct data_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¶
-
template<bool UseSIMD>
struct data_container<specfem::dimension::type::dim2, specfem::element::medium_tag::acoustic, specfem::element::property_tag::isotropic, UseSIMD>¶ - #include <kernels.hpp>
Data container to hold misfit kernels of 2D acoustic media at a quadrature point.
Accessor functions generated by the
POINT_CONTAINERMACROGet \( K_{\rho} \)
KOKKOS_INLINE_FUNCTION const value_type rho() const
Get \( K_{\kappa} \)
KOKKOS_INLINE_FUNCTION const value_type kappa() const
Get \( K_{\rho_p} \)
KOKKOS_INLINE_FUNCTION const value_type rhop() const
Get \( K_{\alpha} \)
KOKKOS_INLINE_FUNCTION const value_type alpha() const
- Template Parameters:
UseSIMD – Boolean indicating whether to use SIMD intrinsics
Elastic Isotropic¶
-
template<specfem::dimension::type DimensionTag, specfem::element::medium_tag MediumTag, bool UseSIMD>
struct data_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_CONTAINERMACROGet \( 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 data_container<specfem::dimension::type::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_CONTAINERMACROGet \( 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 data_container<specfem::dimension::type::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 data_container<specfem::dimension::type::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 data_container<specfem::dimension::type::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_CONTAINERMACROGet \( 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