specfem::medium::compute_damping_force

template<typename T, typename PointPropertiesType, typename PointVelocityType, typename PointAccelerationType>
void specfem::medium::compute_damping_force(const T factor, const PointPropertiesType &point_properties, const PointVelocityType &velocity, PointAccelerationType &acceleration)

Compute damping force for wave attenuation.

Generic damping force computation interface that adds viscous damping to wave propagation equations. Provides compile-time dispatch to medium-specific implementations based on element attributes.

Note

Only medium types with damping force support will modify the acceleration. Medium types without damping force support will result a no-op.

Template Parameters:
  • T – Scalar type for damping factor

  • PointPropertiesType – Point-wise material properties

  • PointVelocityType – Point-wise velocity field

  • PointAccelerationType – Point-wise acceleration field

Parameters:
  • factor – Integration factor (e.g., product of quadrature weight(s) and Jacobian determinant) \( J \, w_q \)

  • point_properties – Material properties at point

  • velocity – Velocity field at point

  • acceleration[in, out] – Acceleration field (modified by damping)

Implementation Details