Enum RadialBasisFunction

Enum Documentation

enum class pcms::RadialBasisFunction

Enumeration of supported radial basis functions (RBFs) for MLS interpolation.

Specifies the kernel type used for computing weights in Moving Least Squares (MLS) interpolation. Each RBF defines a different spatial weighting behavior, influencing locality, smoothness, and conditioning of the interpolant.

Values:

  • RBF_GAUSSIAN (0) \( \phi(r) = \exp\left(-\left(\frac{a r}{r_c}\right)^2\right) \) Infinitely smooth and compactly supported. a is the shape (decay) parameter — smaller values give wider influence. Good for smooth interpolants; may cause ill-conditioning for large a.

  • RBF_C4 (1) Compactly supported, \( C^4\)-continuous polynomial kernel. Does not require a shape parameter. Efficient, stable, and good for local approximations.

  • RBF_CONST (2) Uniform weights within support: \( \phi(r) = 1 \text{ for } r < r_c \), otherwise 0. Equivalent to averaging.

  • NO_OP (3) Disables internal RBF weighting logic. Always returns \( \phi = 1 \) regardless of distance. Useful for methods like SPR patching

  • RBF_MULTIQUADRIC (4) \( \phi(r) = \sqrt{1 + \left(\frac{a r}{r_c}\right)^2} \) Smooth and locally supported. a controls the width; higher values increase conditioning issues.

  • RBF_INVMULTIQUADRIC (5) \( \phi(r) = \frac{1}{\sqrt{1 + \left(\frac{a r}{r_c}\right)^2}} \) Compactly supported and generally more stable than MQ. a adjusts the decay; larger a leads to faster fall-off.

  • RBF_THINPLATESPLINE (6)\( \phi(r) = \left(\frac{a r}{r_c}\right)^2 \log\left(\frac{a r}{r_c}\right) \) Classic 2D surface fitting kernel. No explicit shape parameter is required, but a can scale smoothness.

  • RBF_CUBIC (7) \( \phi(r) = \left(\frac{a r}{r_c}\right)^3 \) Smooth with compact support. Simple and effective for local interpolation.

Note

  • The shape parameter a (also called decay or spread factor) is required for Gaussian, MQ, IMQ, ThinPlateSpline, and Cubic kernels.

  • All kernels are compactly supported within the cutoff radius \( r_c \).

  • A good starting value for a is 3–5. Avoid a = 0 (leads to constant behavior).

  • In cases of ill-conditioning, use regularization (lambda > 0).

Values:

enumerator RBF_GAUSSIAN
enumerator RBF_C4
enumerator RBF_CONST
enumerator NO_OP
enumerator RBF_MULTIQUADRIC
enumerator RBF_INVMULTIQUADRIC
enumerator RBF_THINPLATESPLINE
enumerator RBF_CUBIC