With Stored Jacobian¶
-
template<bool UseSIMD>
struct jacobian_matrix<specfem::element::dimension_tag::dim2, true, UseSIMD> : public specfem::point::jacobian_matrix<specfem::element::dimension_tag::dim2, false, UseSIMD>¶ Template specialization for 2D spectral elements with storing the Jacobian determinant.
- Template Parameters:
UseSIMD – Boolean indicating whether to use SIMD
Constructors
-
inline jacobian_matrix()¶
Default constructor.
-
inline jacobian_matrix(const value_type &xix, const value_type &gammax, const value_type &xiz, const value_type &gammaz, const value_type &jacobian)¶
Constructor with values.
- Parameters:
xix – \( \partial \xi / \partial x \)
gammax – \( \partial \gamma / \partial x \)
xiz – \( \partial \xi / \partial z \)
gammaz – \( \partial \gamma / \partial z \)
jacobian – Jacobian determinant \( J \)
-
inline jacobian_matrix(const value_type constant)¶
Constructor with constant value.
- Parameters:
constant – Value to initialize all members to
Member functions
-
specfem::datatype::VectorPointViewType<type_real, 2, UseSIMD> compute_normal(const specfem::mesh_entity::dim2::type &type) const¶
Compute the normal vector at a quadrature point.
- Parameters:
type – Type of edge (bottom, top, left, right)
- Returns:
specfem::datatype::VectorPointViewType<type_real, 2, UseSIMD> Normal vector
Public Members
-
value_type jacobian¶
Jacobian determinant \( J \).
-
value_type xix¶
\( \partial \xi / \partial x \)
-
value_type gammax¶
\( \partial \gamma / \partial x \)
-
value_type xiz¶
\( \partial \xi / \partial z \)
-
value_type gammaz¶
\( \partial \gamma / \partial z \)
Private Types
-
using base_type = jacobian_matrix<specfem::element::dimension_tag::dim2, false, UseSIMD>¶
Base type of the point Jacobian matrix