Program Listing for File mls_interpolation.hpp
↰ Return to documentation for file (src/pcms/field/evaluator/mls_interpolation.hpp)
#ifndef PCMS_FIELD_EVALUATOR_MLS_INTERPOLATION_HPP
#define PCMS_FIELD_EVALUATOR_MLS_INTERPOLATION_HPP
#include <Omega_h_array.hpp>
namespace pcms
{
// Forward declaration — full definition is in pcms/localization/adj_search.hpp
struct SupportResults;
enum class RadialBasisFunction
{
RBF_GAUSSIAN = 0,
RBF_C4,
RBF_CONST,
NO_OP,
RBF_MULTIQUADRIC,
RBF_INVMULTIQUADRIC,
RBF_THINPLATESPLINE,
RBF_CUBIC
};
Omega_h::Write<Omega_h::Real> mls_interpolation(
const Omega_h::Reals source_values, const Omega_h::Reals source_coordinates,
const Omega_h::Reals target_coordinates, const SupportResults& support,
const Omega_h::LO& dim, const Omega_h::LO& degree, RadialBasisFunction bf,
double lambda = 0, double tol = 1e-6, double decay_factor = 5.0);
} // namespace pcms
#endif // PCMS_FIELD_EVALUATOR_MLS_INTERPOLATION_HPP