3D specfem::assembly::mesh_impl::control_nodes

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

3D control node data for assembly-optimized spectral elements.

Stores control node coordinates and indices for 3D spectral elements using Kokkos views for efficient device/host access.

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

Public Types

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

Kokkos view type for 3D coordinate storage.

Dimensions: [nspec, ngnod, 3] for (x, y, z) coordinates.

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

Kokkos view type for node index mapping.

Dimensions: [nspec, ngnod] for element-to-node mapping.

Public Functions

control_nodes() = default

Default constructor.

control_nodes(const specfem::assembly::mesh_impl::mesh_to_compute_mapping<dimension_tag> &mapping, const specfem::mesh::control_nodes<dimension_tag> &control_nodes)

Constructor from mesh control nodes.

Copies and reorganizes mesh control node data for assembly operations.

Parameters:

control_nodes – Source mesh control nodes

Public Members

int nspec

Number of spectral elements.

int ngnod

Number of control nodes per element.

ControlNodeCoordinatesView control_node_coordinates

Device coordinates.

ControlNodeCoordinatesView::host_mirror_type h_control_node_coordinates

Host coordinates.

ControlNodeIndexView control_node_index

Device indices.

ControlNodeIndexView::host_mirror_type h_control_node_index

Host indices.