3D specfem::assembly::mesh_impl::points

template<>
struct points<specfem::element::dimension_tag::dim3>

3D quadrature point coordinates and global indexing.

Stores coordinates and global indices for all GLL quadrature points in 3D spectral elements using Kokkos views for device/host access.

See also

specfem::assembly::mesh_impl::control_nodes, specfem::assembly::mesh_impl::shape_functions

Subclassed by specfem::assembly::mesh< specfem::element::dimension_tag::dim3 >

Public Types

using IndexMappingViewType = Kokkos::View<int****, Kokkos::LayoutLeft, Kokkos::DefaultExecutionSpace>

Index mapping view type.

Dimensions: [nspec, ngllz, nglly, ngllx] for local-to-global mapping.

using CoordViewType = Kokkos::View<type_real*****, Kokkos::LayoutLeft, Kokkos::DefaultExecutionSpace>

Coordinate view type.

Dimensions: [ndim, nspec, ngllz, nglly, ngllx] for (x, y, z) coordinates.

Public Functions

points() = default

Default constructor.

points(const int &nspec, const int &ngllz, const int &nglly, const int &ngllx, const Kokkos::View<specfem::element::medium_tag*, Kokkos::HostSpace> &medium_tags, const specfem::assembly::mesh_impl::adjacency_graph<dimension_tag> &adjacency_graph, const specfem::assembly::mesh_impl::control_nodes<dimension_tag> &control_nodes, const specfem::assembly::mesh_impl::shape_functions<dimension_tag> &shape_functions)

Constructor computing coordinates from mesh components.

Computes physical coordinates for all quadrature points using control nodes and shape functions.

Parameters:
  • nspec – Number of spectral elements

  • ngllz – Number of GLL points in z direction

  • nglly – Number of GLL points in y direction

  • ngllx – Number of GLL points in x direction

  • adjacency_graph – Element adjacency information

  • control_nodes – Element control node data

  • shape_functions – Shape function values at GLL points

Public Members

IndexMappingViewType index_mapping

Device index mapping.

IndexMappingViewType::host_mirror_type h_index_mapping

Host index mapping

CoordViewType coord

Device coordinates.

CoordViewType::host_mirror_type h_coord

Host coordinates.

type_real xmin

Minimum x coordinate (for tolerance calculations)

type_real xmax

Maximum x coordinate (for tolerance calculations)

type_real ymin

Minimum y coordinate (for tolerance calculations)

type_real ymax

Maximum y coordinate (for tolerance calculations)

type_real zmin

Minimum z coordinate (for tolerance calculations)

type_real zmax

Maximum z coordinate (for tolerance calculations)

int nspec

Number of spectral elements.

int ngllz

Number of GLL points in z dimension.

int nglly

Number of GLL points in y dimension.

int ngllx

Number of GLL points in x dimension.

int nglob

Total number of global points.

Public Static Attributes

static constexpr auto data_class = specfem::data_access::DataClassType::global_coordinates

Data class.