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] \)