specfem::mesh::boundaries¶
-
template<specfem::element::dimension_tag DimensionTag>
struct boundaries¶ Struct to store boundaries.
- Template Parameters:
DimensionTag – Dimension type
Dimension-Specific Specializations¶
-
template<>
struct boundaries<specfem::element::dimension_tag::dim2>¶ Boundary information.
- Template Parameters:
DimensionTag – Dimension type for the mesh
Constructors
-
boundaries() = default¶
Default constructor.
-
inline boundaries(const specfem::mesh::absorbing_boundary<dimension_tag> &absorbing_boundary, const specfem::mesh::acoustic_free_surface<dimension_tag> &acoustic_free_surface, const specfem::mesh::forcing_boundary<dimension_tag> &forcing_boundary)¶
Construct a new boundaries object.
- Parameters:
absorbing_boundary – absorbing boundary
acoustic_free_surface – acoustic free surface
forcing_boundary – forcing boundary
Public Members
-
specfem::mesh::absorbing_boundary<dimension_tag> absorbing_boundary¶
Absorbing boundary.
-
specfem::mesh::acoustic_free_surface<dimension_tag> acoustic_free_surface¶
Acoustic free surface
-
specfem::mesh::forcing_boundary<dimension_tag> forcing_boundary¶
Forcing boundary (never used)
Public Static Attributes
-
static constexpr auto dimension_tag = specfem::element::dimension_tag::dim2¶
Dimension type.
-
template<>
struct boundaries<specfem::element::dimension_tag::dim3>¶ Boundary information for 3D spectral-element meshes.
Stores boundary face data from the SPECFEM++ 3D mesh database, split into two distinct sub-structures that mirror the 2D boundary layout:
absorbing_boundary: faces whose direction is X_MIN, X_MAX, Y_MIN, Y_MAX, or Z_MIN. Elements owning these faces receive the
staceyboundary tag.acoustic_free_surface: faces whose direction is Z_MAX (top surface). Acoustic elements owning these faces receive the
acoustic_free_surfaceboundary tag; elastic elements at Z_MAX get no special tag (free surface is the natural Neumann BC for elasticity).
Constructors
-
inline boundaries(const specfem::mesh::absorbing_boundary<dimension_tag> &absorbing_boundary, const specfem::mesh::acoustic_free_surface<dimension_tag> &acoustic_free_surface)¶
Construct from pre-populated sub-structures.
- Parameters:
absorbing_boundary – Absorbing boundary faces (non-top directions)
acoustic_free_surface – Top-surface faces (Z_MAX direction)
Public Members
-
specfem::mesh::absorbing_boundary<dimension_tag> absorbing_boundary¶
Non-top absorbing boundary faces.
-
specfem::mesh::acoustic_free_surface<dimension_tag> acoustic_free_surface¶
Top (Z_MAX) surface faces.
Public Static Attributes
-
static constexpr auto dimension_tag = specfem::element::dimension_tag::dim3¶
Dimension type.