8#include <ArborX_Point.hpp>
9#include <Kokkos_Core.hpp>
10#include <Kokkos_Profiling_ScopedRegion.hpp>
15#include "common/transfer.hxx"
18#include "rbf_pum/interpolator.hxx"
46 throw std::invalid_argument(
"Unsupported RBF function selector: " +
51template <
typename ExecSpace,
typename RbfFuncType, PACMAN::
int_t Dim>
62 PACMAN::RbfPum::RbfPumInterpolator<ExecSpace, Dim, RbfFuncType>
interpolator(
70 Kokkos::DefaultHostExecutionSpace::memory_space,
71 Kokkos::MemoryTraits<Kokkos::Unmanaged>>(
77template <PACMAN::
int_t Dim>
106 const std::string
_region_name =
"PACMAN::rbf_interpolate";
110 throw std::invalid_argument(
"sourcePoints is null but nSourcePoints > 0");
112 throw std::invalid_argument(
"targetPoints is null but nTargetPoints > 0");
114 throw std::invalid_argument(
"sourceValues is null but nSourcePoints > 0");
127 throw std::runtime_error(
128 "The dimension of the points can only be: 1, 2 or 3.\n");
A functor which computes a RBF function: WendlandC0 Each RBF function must have a host device method ...
A functor which computes a RBF function: WendlandC2 Each RBF function must have a host device method ...
A functor which computes a RBF function: WendlandC4 Each RBF function must have a host device method ...
A functor which computes a RBF function: WendlandC6 Each RBF function must have a host device method ...
A functor which computes a RBF function: WendlandC8 Each RBF function must have a host device method ...
RbfInterpolateResult rbf_interpolate(int_t spaceDimension, unsigned char execSpace, unsigned char rbfFunction, coordinates_t *sourcePoints, int_t nSourcePoints, fp_t *sourceValues, coordinates_t *targetPoints, int_t nTargetPoints)
C++ interface for RBF-PUM interpolation.
static AvailableExecSpaces MakeExecSpace(const unsigned char s)
Converts an execution-space selector byte to a variant type.
static constexpr unsigned char WENDLANDC6
static constexpr unsigned char WENDLANDC8
static constexpr unsigned char WENDLANDC2
static constexpr unsigned char WENDLANDC0
static constexpr unsigned char WENDLANDC4
Result of an RBF-PUM interpolation call.