This package intends to provide tools for all things regarding Radial Basis Functions (RBF).
Feature | Status |
---|---|
Interpolation | ✅ |
Regridding | ✅ |
Partial derivative ( |
✅ |
Laplacian ( |
✅ |
Gradient ( |
✅ |
Directional Derivative ( |
✅ |
Custom / user supplied ( |
✅ |
divergence ( |
❌ |
curl ( |
❌ |
Reduced Order Models (i.e. POD) | ❌ |
Currently, we support the following types of RBFs (all have polynomial augmentation by default, but is optional)
Type | Function, |
---|---|
Polyharmonic Spline |
|
Inverse Multiquadric | |
Gaussian |
where
Simply install the latest stable release using Julia's package manager:
] add RadialBasisFunctions
-
A critical dependency of this package is NearestNeighbors.jl which requires that the dimension of each data point is inferrable. To quote from NearestNeighbors.jl:
The data, i.e., the points to build up the tree from. It can either be
- a matrix of size nd × np with the points to insert in the tree where nd is the dimensionality of the points and np is the number of points
- a vector of vectors with fixed dimensionality, nd, which must be part of the type. Specifically, data should be a Vector{V}, where V is itself a subtype of an AbstractVector and such that eltype(V) and length(V) are defined. (For example, with 3D points, V = SVector{3, Float64} works because eltype(V) = Float64 and length(V) = 3 are defined in V.)
That said, we currently only support the second option here (
Vector{AbstractVector}
), but plan to support matrix inputs in the future. -
Interpolator
uses all points, but there are plans to support local collocation / subdomains like the operators use.