3D specfem::assembly::mesh_impl::shape_functions¶
-
template<>
struct shape_functions<specfem::dimension::type::dim3>¶ 3D shape functions and derivatives for spectral elements.
Computes and stores shape function values and derivatives at all GLL quadrature points for 3D hexahedral elements.
Subclassed by specfem::assembly::mesh< specfem::dimension::type::dim3 >
Public Types
-
using ShapeFunctionViewType = Kokkos::View<type_real****, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace>¶
Shape function view type.
Dimensions: [ngllz, nglly, ngllx, ngnod].
-
using DShapeFunctionViewType = Kokkos::View<type_real*****, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace>¶
Shape function derivative view type.
Dimensions: [ngllz, nglly, ngllx, ndim, ngnod].
Public Functions
-
inline shape_functions(const int &ngllz, const int &nglly, const int &ngllx, const int &ngnod)¶
Constructor with pre-allocated storage.
Allocates views but does not compute values.
-
shape_functions() = default¶
Default constructor.
-
shape_functions(const int ngllz, const int nglly, const int ngllx, const int ngnod, const specfem::assembly::mesh_impl::quadrature<specfem::dimension::type::dim3> &quadrature, const specfem::assembly::mesh_impl::control_nodes<specfem::dimension::type::dim3> control_nodes)¶
Constructor with immediate computation.
Computes shape functions and derivatives from quadrature points.
Public Members
-
int ngllz¶
Number of GLL points in z direction.
-
int nglly¶
Number of GLL points in y direction.
-
int ngllx¶
Number of GLL points in x direction.
-
int ngnod¶
Number of control nodes per element.
-
ShapeFunctionViewType shape3D¶
Device shape functions.
-
DShapeFunctionViewType dshape3D¶
Device derivatives.
-
ShapeFunctionViewType::HostMirror h_shape3D¶
Host shape functions.
-
DShapeFunctionViewType::HostMirror h_dshape3D¶
Host derivatives.
-
using ShapeFunctionViewType = Kokkos::View<type_real****, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace>¶