6 #include <sll/view.hpp>
14 template <
class PositionCoordinate>
26 virtual KOKKOS_FUNCTION
double jacobian(PositionCoordinate
const& coord)
const = 0;
48 PositionCoordinate
const& coord,
49 Matrix_2x2& matrix)
const = 0;
62 virtual KOKKOS_FUNCTION
double jacobian_11(PositionCoordinate
const& coord)
const = 0;
75 virtual KOKKOS_FUNCTION
double jacobian_12(PositionCoordinate
const& coord)
const = 0;
88 virtual KOKKOS_FUNCTION
double jacobian_21(PositionCoordinate
const& coord)
const = 0;
101 virtual KOKKOS_FUNCTION
double jacobian_22(PositionCoordinate
const& coord)
const = 0;
123 PositionCoordinate
const& coord,
124 Matrix_2x2& matrix)
const = 0;
136 virtual KOKKOS_FUNCTION
double inv_jacobian_11(PositionCoordinate
const& coord)
const = 0;
148 virtual KOKKOS_FUNCTION
double inv_jacobian_12(PositionCoordinate
const& coord)
const = 0;
160 virtual KOKKOS_FUNCTION
double inv_jacobian_21(PositionCoordinate
const& coord)
const = 0;
172 virtual KOKKOS_FUNCTION
double inv_jacobian_22(PositionCoordinate
const& coord)
const = 0;
182 template <
class PositionCoordinate>
194 KOKKOS_FUNCTION
double jacobian(PositionCoordinate
const& coord)
const final
200 return j_rr * j_pp - j_rp * j_pr;
226 assert(fabs(jacob) > 1e-15);
246 assert(fabs(jacob) > 1e-15);
263 assert(fabs(jacob) > 1e-15);
280 assert(fabs(jacob) > 1e-15);
297 assert(fabs(jacob) > 1e-15);
An operator to calculate the Jacobian matrix and its inverse.
Definition: jacobian.hpp:16
virtual KOKKOS_FUNCTION void inv_jacobian_matrix(PositionCoordinate const &coord, Matrix_2x2 &matrix) const =0
Compute full inverse Jacobian matrix.
virtual KOKKOS_FUNCTION double inv_jacobian_22(PositionCoordinate const &coord) const =0
Compute the (2,2) coefficient of the inverse Jacobian matrix.
virtual KOKKOS_FUNCTION void jacobian_matrix(PositionCoordinate const &coord, Matrix_2x2 &matrix) const =0
Compute full Jacobian matrix.
virtual KOKKOS_FUNCTION double jacobian(PositionCoordinate const &coord) const =0
Compute the Jacobian, the determinant of the Jacobian matrix of the mapping.
virtual KOKKOS_FUNCTION double inv_jacobian_11(PositionCoordinate const &coord) const =0
Compute the (1,1) coefficient of the inverse Jacobian matrix.
virtual KOKKOS_FUNCTION double jacobian_21(PositionCoordinate const &coord) const =0
Compute the (2,1) coefficient of the Jacobian matrix.
virtual KOKKOS_FUNCTION double inv_jacobian_12(PositionCoordinate const &coord) const =0
Compute the (1,2) coefficient of the inverse Jacobian matrix.
virtual KOKKOS_FUNCTION double inv_jacobian_21(PositionCoordinate const &coord) const =0
Compute the (2,1) coefficient of the inverse Jacobian matrix.
virtual KOKKOS_FUNCTION double jacobian_22(PositionCoordinate const &coord) const =0
Compute the (2,2) coefficient of the Jacobian matrix.
virtual KOKKOS_FUNCTION double jacobian_12(PositionCoordinate const &coord) const =0
Compute the (1,2) coefficient of the Jacobian matrix.
virtual KOKKOS_FUNCTION double jacobian_11(PositionCoordinate const &coord) const =0
Compute the (1,1) coefficient of the Jacobian matrix.
A specialisation of Jacobian to handle non-analytical terms.
Definition: jacobian.hpp:184
KOKKOS_FUNCTION double inv_jacobian_12(PositionCoordinate const &coord) const final
Compute the (1,2) coefficient of the inverse Jacobian matrix.
Definition: jacobian.hpp:260
KOKKOS_FUNCTION double inv_jacobian_22(PositionCoordinate const &coord) const final
Compute the (2,2) coefficient of the inverse Jacobian matrix.
Definition: jacobian.hpp:294
KOKKOS_FUNCTION double inv_jacobian_21(PositionCoordinate const &coord) const final
Compute the (2,1) coefficient of the inverse Jacobian matrix.
Definition: jacobian.hpp:277
KOKKOS_FUNCTION double jacobian(PositionCoordinate const &coord) const final
Compute the Jacobian, the determinant of the Jacobian matrix of the mapping.
Definition: jacobian.hpp:194
KOKKOS_FUNCTION double inv_jacobian_11(PositionCoordinate const &coord) const final
Compute the (1,1) coefficient of the inverse Jacobian matrix.
Definition: jacobian.hpp:243
KOKKOS_FUNCTION void inv_jacobian_matrix(PositionCoordinate const &coord, Matrix_2x2 &matrix) const final
Compute full inverse Jacobian matrix.
Definition: jacobian.hpp:222