13 template<
class Device>
17 template<
class Device2>
friend class Bicub;
23 Kokkos::View<double*,Kokkos::LayoutRight,Device>
rc;
24 Kokkos::View<double*,Kokkos::LayoutRight,Device>
zc;
25 Kokkos::View<BicubCoeff**,Kokkos::LayoutRight,Device>
acoeff_all;
28 KOKKOS_INLINE_FUNCTION
void eval_bicub_0(
double x,
double y,
double xc,
double yc,
const double (&acoeff)[4][4],
32 KOKKOS_INLINE_FUNCTION
void eval_bicub_1(
double x,
double y,
double xc,
double yc,
const double (&acoeff)[4][4],
33 double &f00,
double &f10,
double &f01)
const;
36 KOKKOS_INLINE_FUNCTION
void eval_bicub_2(
double x,
double y,
double xc,
double yc,
const double (&acoeff)[4][4],
37 double &f00,
double &f10,
double &f01,
38 double &f11,
double &f20,
double &f02)
const;
43 Bicub(
const View<double*, HostType>& r,
const View<double*, HostType>& z,
const View<double**, CLayout, HostType>& val);
46 template<
class Device2>
69 KOKKOS_INLINE_FUNCTION
void der_zero(
double x,
double y,
double &f00)
const;
72 KOKKOS_INLINE_FUNCTION
void der_one(
double x,
double y,
double &f00,
double &f10,
double &f01)
const;
75 KOKKOS_INLINE_FUNCTION
void der_all(
double x,
double y,
double &f00,
double &f10,
double &f01,
76 double &f11,
double &f20,
double &f02)
const;
double zmin
First r and z point.
Definition: bicub.hpp:21
void mirror_copy(T1 &view_dest, const T2 &view_src)
Definition: my_mirror_view.hpp:122
KOKKOS_INLINE_FUNCTION void der_zero(double x, double y, double &f00) const
Definition: bicub.tpp:15
KOKKOS_INLINE_FUNCTION void der_all(double x, double y, double &f00, double &f10, double &f01, double &f11, double &f20, double &f02) const
Definition: bicub.tpp:48
KOKKOS_INLINE_FUNCTION void eval_bicub_0(double x, double y, double xc, double yc, const double(&acoeff)[4][4], double &f00) const
Definition: bicub.tpp:65
Kokkos::View< double *, Kokkos::LayoutRight, Device > rc
Array containing the r coordinates of the grid points.
Definition: bicub.hpp:23
Bicub()
Definition: bicub.hpp:66
int nz
Number of points in r and z directions.
Definition: bicub.hpp:20
KOKKOS_INLINE_FUNCTION void eval_bicub_1(double x, double y, double xc, double yc, const double(&acoeff)[4][4], double &f00, double &f10, double &f01) const
Definition: bicub.tpp:96
Kokkos::View< double *, Kokkos::LayoutRight, Device > zc
Array containing the z coordinates of the grid points.
Definition: bicub.hpp:24
Bicub< Device2 > mirror() const
Definition: bicub.hpp:47
double coeff[4][4]
Definition: bicub.hpp:9
double dr_inv
Definition: bicub.hpp:22
KOKKOS_INLINE_FUNCTION void eval_bicub_2(double x, double y, double xc, double yc, const double(&acoeff)[4][4], double &f00, double &f10, double &f01, double &f11, double &f20, double &f02) const
Definition: bicub.tpp:152
double rmin
Definition: bicub.hpp:21
View< T *, CLayout, Device > my_mirror_view(const View< T *, CLayout, Device > &view, Device nd)
Definition: my_mirror_view.hpp:14
int nr
Definition: bicub.hpp:20
double dz_inv
Inverse of the cell size.
Definition: bicub.hpp:22
KOKKOS_INLINE_FUNCTION void der_one(double x, double y, double &f00, double &f10, double &f01) const
Definition: bicub.tpp:30
Kokkos::View< BicubCoeff **, Kokkos::LayoutRight, Device > acoeff_all
The field for interpolation.
Definition: bicub.hpp:25