Without Stored Jacobian

template<bool UseSIMD>
struct jacobian_matrix<specfem::element::dimension_tag::dim2, false, UseSIMD> : public specfem::data_access::Accessor<specfem::datatype::AccessorType::point, specfem::data_access::DataClassType::jacobian_matrix, specfem::element::dimension_tag::dim2, UseSIMD>

Template specialization for 2D spectral elements without storing the Jacobian determinant.

Template Parameters:

UseSIMD – Boolean indicating whether to use SIMD

Subclassed by specfem::point::jacobian_matrix< specfem::element::dimension_tag::dim2, true, UseSIMD >

Typedefs

using simd = typename base_type::template simd<type_real>

SIMD data type.

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)

Constructor with values.

Parameters:
  • xix\( \partial \xi / \partial x \)

  • gammax\( \partial \gamma / \partial x \)

  • xiz\( \partial \xi / \partial z \)

  • gammaz\( \partial \gamma / \partial z \)

inline jacobian_matrix(const value_type constant)

Constructor with constant value.

Parameters:

constant – Value to initialize all members to

Public Members

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 \)