specfem::mesh::tags

template<specfem::dimension::type DimensionTag>
struct tags

Struct to store tags for every spectral element.

Template Parameters:

DimensionTag – Dimension type

Dimension-Specific Specializations

template<>
struct tags<specfem::dimension::type::dim2>

Constructors

inline tags(const int nspec)

Contrust tags object.

tags() = default

Default constructor.

tags(const specfem::mesh::materials<specfem::dimension::type::dim2> &materials, const specfem::mesh::boundaries<specfem::dimension::type::dim2> &boundaries)

Construct tags from mesh data.

Parameters:
  • materials – Material properties

  • boundaries – Boundary information

Public Members

int nspec

Total number of spectral elements.

Kokkos::View<specfem::mesh::impl::tags_container*, Kokkos::HostSpace> tags_container

Tags container.

Public Static Attributes

static constexpr auto dimension = specfem::dimension::type::dim2

Dimension.

template<>
struct tags<specfem::dimension::type::dim3>

Element tagging system for 3D MESHFEM3D spectral elements.

Extracts material classification from MESHFEM3D materials containers and creates tags_container objects for each spectral element. Uses parallel initialization to assign medium and property tags based on material data.

Currently assigns boundary_tag::none to all elements since other boundary conditions are not yet implemented in the MESHFEM3D workflow.

specfem::mesh::materials<specfem::dimension::type::dim3>
materials;
// ... populate materials ...

specfem::mesh::tags<specfem::dimension::type::dim3> tags(
    nspec, materials);

See also

specfem::mesh::materials::get_material_type

See also

specfem::mesh::impl::tags_container

Data Members

int nspec

Total number of spectral elements in the mesh.

Kokkos::View<specfem::mesh::impl::tags_container*, Kokkos::DefaultHostExecutionSpace> tags_container

Kokkos host view containing tags for all elements.

Each entry contains medium, property, and boundary tags for one spectral element. Boundary tags are currently set to none for all elements.

Constructors

tags() = default

Default constructor creating empty tags container.

tags(const int nspec, specfem::mesh::materials<dimension_tag> &materials)

Construct tags from MESHFEM3D materials database.

Extracts material classification (medium and property tags) from the materials container for each element using parallel initialization. Sets all boundary tags to none since other boundary conditions are not yet implemented.

See also

specfem::mesh::materials::get_material_type

Parameters:
  • nspec – Total number of spectral elements in the mesh

  • materials – MESHFEM3D materials container with material data

Public Static Attributes

static constexpr auto dimension_tag = specfem::dimension::type::dim3

Dimension tag for compile-time type identification.