2D Elastic Mass Matrix Computation

Acoustic Mass Matrix Computation

template<typename Tags, std::enable_if_t<Tags::medium_tag == specfem::element::medium_tag::acoustic && Tags::property_tag == specfem::element::property_tag::isotropic, int> = 0>
specfem::point::mass_inverse<Tags> impl_mass_matrix_component(const specfem::point::properties<Tags> &properties)

Compute mass matrix inverse for 2D acoustic isotropic media.

Compute mass matrix inverse for 3D elastic isotropic media.

Compute mass matrix inverse for 2D poroelastic isotropic media.

Compute mass matrix inverse for 2D elastic isotropic Cosserat media.

Compute mass matrix inverse for 2D elastic isotropic SH waves.

Compute mass matrix inverse for 2D elastic isotropic P-SV waves.

Implements mass matrix for acoustic wave propagation in fluids. Acoustic media only support compressional waves (P-waves) with no shear wave propagation, leading to a simplified mass matrix formulation.

Mass matrix: \( M = \frac{1}{\kappa} \)

where \( \kappa \) is the bulk modulus.

Implements mass matrix for pressure-shear vertical wave propagation. P-SV waves involve displacement in the x-z plane with coupling between normal and shear motions.

Mass matrix: \( M = \rho \) (for both u_x and u_z components)

Implements mass matrix for shear horizontal wave propagation. SH waves involve anti-plane motion (u_y displacement only) perpendicular to the propagation plane.

Mass matrix: \( M = \rho \) (for u_y component only)

Implements mass matrix for Cosserat (micropolar) elastic media with rotational degrees of freedom. Extends classical elasticity by including rotational inertia for microstructural effects.

Mass matrix components:

  • Translation: \( M_{trans} = \rho \) (displacement DOF)

  • Rotation: \( M_{rot} = j \) (rotational DOF)

Physical parameters:

  • \( \rho \): Mass density

  • \( j \): Rotational inertia (microinertia)

Returns 3 components for 2D Cosserat system: [ρ, ρ, j] corresponding to [u_x, u_z, ω_y] degrees of freedom where ω_y is the rotation about the y-axis (out-of-plane).

Implements Biot’s theory mass matrix for fluid-saturated porous media with solid-fluid coupling. Computes effective densities accounting for fluid-solid interactions and tortuosity effects.

Mass matrix equations:

Solid component: \( M_s = \bar{\rho} - \frac{\phi \rho_f}{\alpha} \)

Fluid component: \( M_f = \frac{\rho_f \alpha \bar{\rho} - \phi \rho_f^2}{\phi \bar{\rho}} \)

Physical parameters:

  • \( \bar{\rho} \): Bulk density of saturated medium

  • \( \rho_f \): Fluid density

  • \( \phi \): Porosity

  • \( \alpha \): Tortuosity (pore geometry factor)

Returns 4 components for 2D poroelastic system: [M_s, M_s, M_f, M_f] where M_s and M_f are solid and fluid mass matrix components.

Mass matrix: \( M_{ij} = \rho \delta_{ij} \)

Components: \( [M_x, M_y, M_z] = [\rho, \rho, \rho] \)

Template Parameters:
  • UseSIMD – Enable SIMD vectorization

  • UseSIMD – Enable SIMD vectorization

  • PropertyTag – Property type (isotropic, anisotropic)

  • UseSIMD – Enable SIMD vectorization

  • PropertyTag – Property type (isotropic, anisotropic)

  • UseSIMD – Enable SIMD vectorization

  • UseSIMD – Enable SIMD vectorization

  • UseSIMD – Enable SIMD vectorization

  • PropertyTag – Property type (isotropic, anisotropic)

Parameters:
  • properties – Acoustic material properties ( \( \rho^{-1}, \kappa \))

  • properties – Material properties (density)

  • properties – Material properties (density)

  • properties – Cosserat material properties

  • properties – Poroelastic material properties

  • properties – Material properties

Returns:

Mass inverse component [ \( \kappa^{-1} \)] for pressure wavefield

Returns:

Mass inverse components [ρ, ρ] for [u_x, u_z]

Returns:

Mass inverse component [ρ] for [u_y]

Returns:

Inverse mass matrix components for explicit time integration

Returns:

Inverse mass matrix components for explicit time integration

Returns:

Mass inverse components for \( [u_x, u_y, u_z] \)

2D Poroelastic Mass Matrix Computation

3D Elastic Mass Matrix Computation