specfem::medium::mass_matrix_component

template<specfem::dimension::type DimensionTag, specfem::element::medium_tag MediumTag, specfem::element::property_tag PropertyTag, bool UseSIMD>
specfem::point::mass_inverse<DimensionTag, MediumTag, UseSIMD> specfem::medium::mass_matrix_component(const specfem::point::properties<DimensionTag, MediumTag, PropertyTag, UseSIMD> &properties)

Compute mass matrix from material properties.

Generic mass matrix computation interface that dispatches to medium-specific implementations.

// Example usage for 2D elastic isotropic medium
using Properties = specfem::point::properties<dim2, elastic, isotropic, false>;
Properties props = ...; // Initialize material properties
auto mass_inv = specfem::medium::mass_matrix_component(props);

Template Parameters:
  • DimensionTag – Spatial dimension (dim2/dim3)

  • MediumTag – Medium type (acoustic, elastic, poroelastic)

  • PropertyTag – Property type (isotropic, anisotropic, etc.)

  • UseSIMD – Enable SIMD vectorization

Parameters:

properties – Material properties at quadrature point

Returns:

Inverse mass matrix components for time integration

Implementation Details