#include <bicub.hpp>
|
| Bicub (const View< double *, HostType > &r, const View< double *, HostType > &z, const View< double **, CLayout, HostType > &val) |
|
template<class Device2 > |
Bicub< Device2 > | mirror () const |
|
| Bicub () |
|
KOKKOS_INLINE_FUNCTION void | der_zero (double x, double y, double &f00) const |
|
KOKKOS_INLINE_FUNCTION void | der_one (double x, double y, double &f00, double &f10, double &f01) const |
|
KOKKOS_INLINE_FUNCTION void | der_all (double x, double y, double &f00, double &f10, double &f01, double &f11, double &f20, double &f02) const |
|
|
KOKKOS_INLINE_FUNCTION void | eval_bicub_0 (double x, double y, double xc, double yc, const double(&acoeff)[4][4], double &f00) const |
|
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 |
|
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 |
|
template<> |
| Bicub (const View< double *, HostType > &r, const View< double *, HostType > &z, const View< double **, CLayout, HostType > &val) |
|
|
int | nr |
|
int | nz |
| Number of points in r and z directions. More...
|
|
double | rmin |
|
double | zmin |
| First r and z point. More...
|
|
double | dr_inv |
|
double | dz_inv |
| Inverse of the cell size. More...
|
|
Kokkos::View< double
*, Kokkos::LayoutRight, Device > | rc |
| Array containing the r coordinates of the grid points. More...
|
|
Kokkos::View< double
*, Kokkos::LayoutRight, Device > | zc |
| Array containing the z coordinates of the grid points. More...
|
|
Kokkos::View< BicubCoeff
**, Kokkos::LayoutRight,
Device > | acoeff_all |
| The field for interpolation. More...
|
|
|
template<class Device2 > |
class | Bicub |
|
template<class Device >
KOKKOS_INLINE_FUNCTION void Bicub< Device >::der_all |
( |
double |
x, |
|
|
double |
y, |
|
|
double & |
f00, |
|
|
double & |
f10, |
|
|
double & |
f01, |
|
|
double & |
f11, |
|
|
double & |
f20, |
|
|
double & |
f02 |
|
) |
| const |
Determine nearest interpolation grid points, then get first and second derivatives
- Parameters
-
[in] | x | Location in r |
[in] | y | Location in z |
[out] | f00 | f(x,y) |
[out] | f10 | df/dx |
[out] | f01 | df/dy |
[out] | f11 | df^2/dx/dy |
[out] | f20 | df^2/dx/dx |
[out] | f02 | df^2/dy/dy |
template<class Device >
KOKKOS_INLINE_FUNCTION void Bicub< Device >::der_one |
( |
double |
x, |
|
|
double |
y, |
|
|
double & |
f00, |
|
|
double & |
f10, |
|
|
double & |
f01 |
|
) |
| const |
Determine nearest interpolation grid points, then get first derivatives
- Parameters
-
[in] | x | Location in r |
[in] | y | Location in z |
[out] | f00 | f(x,y) |
[out] | f10 | df/dx |
[out] | f01 | df/dy |
template<class Device >
KOKKOS_INLINE_FUNCTION void Bicub< Device >::der_zero |
( |
double |
x, |
|
|
double |
y, |
|
|
double & |
f00 |
|
) |
| const |
Determine nearest interpolation grid points, then get first derivatives
- Parameters
-
[in] | x | Location in r |
[in] | y | Location in z |
[out] | f00 | f(x,y) |
template<class Device >
KOKKOS_INLINE_FUNCTION void Bicub< Device >::eval_bicub_0 |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
xc, |
|
|
double |
yc, |
|
|
const double(&) |
acoeff[4][4], |
|
|
double & |
f00 |
|
) |
| const |
|
private |
Evaluate bicubic polynomial f(x,y)
- Parameters
-
[in] | x | Location in r |
[in] | y | Location in z |
[in] | xc | Offset or center of box in x |
[in] | yc | Offset or center of box in y |
[in] | acoeff | Data to interpolate from |
[out] | f00 | f(x,y) |
template<class Device >
KOKKOS_INLINE_FUNCTION void Bicub< Device >::eval_bicub_1 |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
xc, |
|
|
double |
yc, |
|
|
const double(&) |
acoeff[4][4], |
|
|
double & |
f00, |
|
|
double & |
f10, |
|
|
double & |
f01 |
|
) |
| const |
|
private |
Evaluate bicubic polynomial f(x,y) and first derivatives
- Parameters
-
[in] | x | Location in r |
[in] | y | Location in z |
[in] | xc | Offset or center of box in x |
[in] | yc | Offset or center of box in y |
[in] | acoeff | Data to interpolate from |
[out] | f00 | f(x,y) |
[out] | f10 | df/dx |
[out] | f01 | df/dy |
template<class Device >
KOKKOS_INLINE_FUNCTION void Bicub< Device >::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 |
|
private |
Evaluate bicubic polynomial f(x,y) and high order derivatives
- Parameters
-
[in] | x | Location in r |
[in] | y | Location in z |
[in] | xc | Offset or center of box in x |
[in] | yc | Offset or center of box in y |
[in] | acoeff | Data to interpolate from |
[out] | f00 | f(x,y) |
[out] | f10 | df/dx |
[out] | f01 | df/dy |
[out] | f11 | df^2/dx/dy |
[out] | f20 | df^2/dx/dx |
[out] | f02 | df^2/dy/dy |
template<class Device>
template<class Device2 >
template<class Device>
template<class Device2 >
template<class Device>
Kokkos::View<BicubCoeff**,Kokkos::LayoutRight,Device> Bicub< Device >::acoeff_all |
|
private |
The field for interpolation.
template<class Device>
double Bicub< Device >::dr_inv |
|
private |
template<class Device>
double Bicub< Device >::dz_inv |
|
private |
Inverse of the cell size.
Number of points in r and z directions.
template<class Device>
Kokkos::View<double*,Kokkos::LayoutRight,Device> Bicub< Device >::rc |
|
private |
Array containing the r coordinates of the grid points.
template<class Device>
double Bicub< Device >::rmin |
|
private |
template<class Device>
Kokkos::View<double*,Kokkos::LayoutRight,Device> Bicub< Device >::zc |
|
private |
Array containing the z coordinates of the grid points.
template<class Device>
double Bicub< Device >::zmin |
|
private |
The documentation for this class was generated from the following files:
- /u/gitlab-xgc/builds/YGMz2TJ8/0/xgc/XGC-Devel/XGC_core/cpp/bicub.hpp
- /u/gitlab-xgc/builds/YGMz2TJ8/0/xgc/XGC-Devel/XGC_core/cpp/bicub.tpp