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
dtand 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