Gyselalib++
pseudo_cartesian_compatible_mapping.hpp
1 // SPDX-License-Identifier: MIT
2 #pragma once
3 #include <sll/view.hpp>
4 
42 {
43 public:
45  using Matrix_2x2 = std::array<std::array<double, 2>, 2>;
46 
47 public:
58  virtual KOKKOS_FUNCTION void to_pseudo_cartesian_jacobian_center_matrix(
59  Matrix_2x2& matrix) const = 0;
60 
73  virtual KOKKOS_FUNCTION double to_pseudo_cartesian_jacobian_11_center() const = 0;
74 
88  virtual KOKKOS_FUNCTION double to_pseudo_cartesian_jacobian_12_center() const = 0;
89 
103  virtual KOKKOS_FUNCTION double to_pseudo_cartesian_jacobian_21_center() const = 0;
104 
118  virtual KOKKOS_FUNCTION double to_pseudo_cartesian_jacobian_22_center() const = 0;
119 };
An operator to calculate the Jacobian matrix of the mapping from the physical domain to the pseudo-Ca...
Definition: pseudo_cartesian_compatible_mapping.hpp:42
virtual KOKKOS_FUNCTION void to_pseudo_cartesian_jacobian_center_matrix(Matrix_2x2 &matrix) const =0
Compute the full Jacobian matrix from the mapping to the pseudo-Cartesian mapping at the central poin...
std::array< std::array< double, 2 >, 2 > Matrix_2x2
The type of the pseudo-Cartesian Jacobian matrix and its inverse.
Definition: pseudo_cartesian_compatible_mapping.hpp:45
virtual KOKKOS_FUNCTION double to_pseudo_cartesian_jacobian_12_center() const =0
Compute the (1,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
virtual KOKKOS_FUNCTION double to_pseudo_cartesian_jacobian_21_center() const =0
Compute the (2,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
virtual KOKKOS_FUNCTION double to_pseudo_cartesian_jacobian_22_center() const =0
Compute the (2,2) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.
virtual KOKKOS_FUNCTION double to_pseudo_cartesian_jacobian_11_center() const =0
Compute the (1,1) coefficient of the pseudo-Cartesian Jacobian matrix at the central point.