specfem::boundary_conditions::composite_stacey_dirichlet

template<typename PointBoundaryType, typename PointPropertyType, typename PointFieldType, typename PointAccelerationType>
void specfem::boundary_conditions::impl_apply_boundary_conditions(const composite_stacey_dirichlet_type&, const PointBoundaryType &boundary, const PointPropertyType &property, const PointFieldType &field, PointAccelerationType &acceleration)

Apply composite Stacey and Dirichlet boundary conditions.

Handles boundary conditions for points situated at the intersection of an Absorbing (Stacey) boundary and a Fixed (Dirichlet) boundary, such as the corner of a domain.

This function applies the Stacey absorbing condition (using t_traction) to the components normal to the absorbing boundary, while enforcing the Dirichlet condition (zeroing out acceleration/velocity) on the components constrained by the fixed boundary.

Template Parameters:
  • PointBoundaryType – Point boundary type

  • PointPropertyType – Point property type

  • PointFieldType – Point field type

  • PointAccelerationType – Point acceleration type

Parameters:
  • boundary – Boundary object

  • property – Property object

  • field – Field object

  • acceleration – Acceleration object

template<typename PointBoundaryType, typename PointPropertyType, typename PointMassMatrixType>
void specfem::boundary_conditions::impl_compute_mass_matrix_terms(const composite_stacey_dirichlet_type&, const type_real dt, const PointBoundaryType &boundary, const PointPropertyType &property, PointMassMatrixType &mass_matrix)

Compute mass matrix terms for composite Stacey and Dirichlet boundary conditions.

Modifies the mass matrix for points at the intersection of Stacey and Dirichlet boundaries (e.g. domain corners).

Adds the contribution from the Stacey absorbing boundary (related to time step dt and material properties) to the mass matrix diagonal for the absorbing components, ensuring proper damping at the corner.

Template Parameters:
  • PointBoundaryType – Point boundary type

  • PointPropertyType – Point property type

  • PointMassMatrixType – Point mass matrix type

Parameters:
  • dt – Time step

  • boundary – Boundary object

  • property – Property object

  • mass_matrix – Mass matrix object