In its conventional formulation, RBF interpolation seeks to derive a continuous approximation (or interpolant) function
s of a scalar-valued function
f:
\(s({\mathbf {x}}) {\approx } f({\mathbf {x}})\). Here, the scalar-valued function
f is assumed to be a function of (and is interpolated in) 3D space
\({\mathbb {R}}^{3}\), though the method is equivalent for functions of any space
\({\mathbb {R}}^{n}\) since it transforms the support point coordinates to a set of shifted scalar distances. The function
f is therefore a multivariate function of three coordinate dimensions, or equivalently the coordinate vector
\({\mathbf {x}}{=}[x,y,z]\). If
f is known at
N known points in space, the condition is set on
s that the input
f must be exactly recovered at these
N points, i.e.,
\(s({\mathbf {x}}_{i}) {\equiv } f({\mathbf {x}}_{i})\) for
\(i{=}1,2, \dots , N\). The interpolation process has two main steps: the solution of the scaling vector
\(\lambda \) and the formation and evaluation of the interpolant. In the first step, a linear system of equations (LSE) of the form
\(A \varvec{\lambda }{=}f\) is set up:
$$\begin{aligned}&\underbrace{\ \left[ \ \begin{array}{cccc} \phi (\Vert {\mathbf {x}}_{1}-{\mathbf {x}}_{1}\Vert ) & \phi (\Vert {\mathbf {x}}_{2}-{\mathbf {x}}_{1}\Vert ) & \ldots & \phi (\Vert {\mathbf {x}}_{N}-{\mathbf {x}}_{1}\Vert ) \\ \phi (\Vert {\mathbf {x}}_{1}-{\mathbf {x}}_{2}\Vert ) & \phi (\Vert {\mathbf {x}}_{2}-{\mathbf {x}}_{2}\Vert ) & \ldots & \phi (\Vert {\mathbf {x}}_{N}-{\mathbf {x}}_{2}\Vert ) \\ \vdots & \vdots & \ddots & \vdots \\ \phi (\Vert {\mathbf {x}}_{1}-{\mathbf {x}}_{N}\Vert ) & \phi (\Vert {\mathbf {x}}_{2}-{\mathbf {x}}_{N}\Vert ) & \ldots & \phi (\Vert {\mathbf {x}}_{N}-{\mathbf {x}}_{N}\Vert ) \end{array}\right] \ }_{ {{A}} } \nonumber \\&\quad \underbrace{\ \left[ \begin{array}{c} \lambda _{1} \\ \lambda _{2} \\ \vdots \\ \lambda _{N} \end{array}\right] \ }_{ {{\lambda }} } \ =\ \underbrace{\ \left[ \begin{array}{c} f_{1} \\ f_{2} \\ \vdots \\ f_{N} \end{array}\right] \ }_{ {{f}} } \end{aligned}$$
(1)
where the
A matrix is the square (
\(N {\times } N\)) distance matrix with every Euclidean distance
\(r{=}\Vert {\mathbf {x}}_{i}-{\mathbf {x}}_{j}\Vert \) element evaluated by a scalar-valued, positive-definite RBF
\(\phi \). Typical candidates for
\(\phi \) include
\(\phi {=} r\),
\(r^{3}\),
\(r^{2}\text {log}(r)\) or
\(e^{-\varepsilon r}\), where
\(\varepsilon \) is an adjustment parameter. The
f vector contains the values of
\(f({\mathbf {x}}_{i})\) at the
N known points. The
\(\lambda \) vector is the unknown scaling coefficient vector, which can be solved for through inversion of
A as
\(\varvec{\lambda }{=}A^{-1} f\). In the second step, the interpolant function
\(s({\mathbf {x}})\) is built and evaluated in the form
\(s {=} B \lambda {=} B A^{-1} f\), where the
B matrix
$$\begin{aligned} B=\ \left[ \ \begin{array}{cccc} \phi (\Vert {\mathbf {x}}_{1}-{\mathbf {x}}_{1}\Vert ) & \phi (\Vert {\mathbf {x}}_{2}-{\mathbf {x}}_{1}\Vert ) & \ldots & \phi (\Vert {\mathbf {x}}_{N}-{\mathbf {x}}_{1}\Vert ) \\ \phi (\Vert {\mathbf {x}}_{1}-{\mathbf {x}}_{2}\Vert ) & \phi (\Vert {\mathbf {x}}_{2}-{\mathbf {x}}_{2}\Vert ) & \ldots & \phi (\Vert {\mathbf {x}}_{N}-{\mathbf {x}}_{2}\Vert ) \\ \vdots & \vdots & \ddots & \vdots \\ \phi (\Vert {\mathbf {x}}_{1}-{\mathbf {x}}_{M}\Vert ) & \phi (\Vert {\mathbf {x}}_{2}-{\mathbf {x}}_{M}\Vert ) & \ldots & \phi (\Vert {\mathbf {x}}_{N}-{\mathbf {x}}_{M}\Vert ) \end{array} \right] \end{aligned}$$
(2)
is an M
\({\times }\)N matrix similar to
A, but is now the RBF evaluation of the distance matrix between the N known and M ‘new’ points. The
s vector is the resulting vector of interpolated values at the M new points. In the present case, the number of tracers at a given timestep within and in the vicinity of the inlet region fluctuates around the average value of
\(N{\approx }6000\). The tracer data are used to form the interpolant, which interpolates the PTV flow field to
\(M{=}[33{\times }424{\times }1280]{=}17.9\text {M}\) grid point locations for use in the DNS.
In the present study, the interpolated scalar
f would represent each individual component of the vector-valued velocity field
\({\mathbf {u}}{=}[u,v,w]^{\text {T}}\) and the ‘new’ points would be the inlet grid points. Interpolating each velocity component independently would not leverage known physical relationships between these quantities, such as being approximately divergence-free
\(\nabla {\cdot } {\mathbf {u}}{\approx }0\) due to mass continuity and the effectively constant mass density
\(\rho \) at the low experimental freestream Mach number of
\(M_{\infty ,\text {exp}}{=}0.019\). Therefore, a vector field
\({\mathbf {f}}({\mathbf {x}})\) can be interpolated using a matrix-valued RBF kernel (Narcowich and Ward
1994). A significant advantage of this formulation is that the RBF kernel can be formulated in such a way that the resulting interpolated vector field inherits the quality of being divergence-free by virtue of how the RBF kernel is constructed. Formal mathematical foundations and analysis of this method are found in Lowitzsch (
2002,
2005) and further applied examples are presented in McNally (
2011); Yang et al. (
2014). This extension reduces interpolation error by eliminating
\(\nabla {\cdot }{\mathbf {u}}{\ne }0\) error. Alternatively considered, the accuracy of the interpolant is increased because it now has more detailed constraints.
A vector-valued approximation function
\({\mathbf {s}}({\mathbf {x}})\) of a vector-valued field
\({\mathbf {f}}({\mathbf {x}})\) is now once again sought such that
\({\mathbf {s}}({\mathbf {x}}) {\approx } {\mathbf {f}}({\mathbf {x}})\). Drawing on Helmholtz’s theorem, it is known that any smooth, well enough behaved vector field
\({\mathbf {f}}\) can be decomposed as the sum of a curl-free (irrotational) and a divergence-free (solenoidal) field
\({\mathbf {f}}{=}\nabla p {+} \nabla {\times } {\mathbf {g}}\), where the gradient of the scalar potential
\(\nabla p\) is curl-free by identity (
\(\nabla {\times } (\nabla p){=}0\)) and the curl of the vector potential
\(\nabla {\times } {\mathbf {g}}\) is divergence-free by identity (
\(\nabla {\cdot } (\nabla {\times } {\mathbf {g}}){=}0\)). In the special case that the vector field
\({\mathbf {f}}\) is known
a priori to be divergence-free (
\(\nabla {\cdot }{\mathbf {f}}{\equiv }0\)), then it can be shown that Helmholtz’s theorem reduces to
\({\mathbf {f}} {=} \nabla {\times } {\mathbf {g}}\) (Griffiths
2014), i.e., that
\({\mathbf {f}}\) is the curl of a vector potential field
\({\mathbf {g}}\). The vector function
\({\mathbf {f}}\) can still not be uniquely defined as the curl of a vector field
\({\mathbf {g}}\), i.e.,
\({\mathbf {f}}{\equiv }\nabla {\times } {\mathbf {g}}\) because for any
\({\mathbf {g}}\), where
\(\nabla {\times } {\mathbf {g}}{=}{\mathbf {f}}\), the offset of
\({\mathbf {g}}\) by the gradient of any arbitrary scalar potential field
\(\nabla p^{\prime }\) would also yield a field where
\(\nabla {\times } ({\mathbf {g}}{+}\nabla p^{\prime })\) is also
\({=}{\mathbf {f}}\) (see (Jackson
2002)). This non-uniqueness is summarized by the concept ‘gauge freedom’ or ‘gauge invariance,’ i.e., that inconsequential additional degrees of freedom (realized by ‘gauge transformations’) are available which yield equivalent observed states of a system (Jackson and Okun
2001). To break the gauge invariance and hence the non-uniqueness problem, additional conditions are needed, i.e., the gauge must be ‘fixed.’ One common choice of gauge is the Coulomb gauge, equivalent to saying that the vector potential
\({\mathbf {g}}\) is itself divergence-free, i.e.,
\(\nabla {\cdot }{\mathbf {g}}{=}0\), which can be implemented by setting
\({\mathbf {g}}{=}\nabla {\times }{\mathbf {h}}\) (see (Jackson
2002; Stewart
2003)). Thus
\({\mathbf {f}}\) can be uniquely defined as
\({\mathbf {f}}{\equiv }\nabla {\times }(\nabla {\times }{\mathbf {h}}){=}\nabla (\nabla {\cdot }{\mathbf {h}}){-}\nabla ^{2}{\mathbf {h}}\). This is the starting point for the definition of the divergence-free approximation function
\({\mathbf {s}}\), which can be expanded in 3D Cartesian coordinates:
$$\begin{aligned} \begin{aligned} {\mathbf {s}}&= \ \nabla \times (\nabla \times {\mathbf {h}}) \\&= \ \left[ \begin{array}{c} \partial _{y}\left( \partial _{x} h_{y}-\partial _{y} h_{x}\right) -\partial _{z}\left( \partial _{z} h_{x}-\partial _{x} h_{z}\right) \\ \partial _{z}\left( \partial _{y} h_{z}-\partial _{z} h_{y}\right) -\partial _{x}\left( \partial _{x} h_{y}-\partial _{y} h_{x}\right) \\ \partial _{x}\left( \partial _{z} h_{x}-\partial _{x} h_{z}\right) -\partial _{y}\left( \partial _{y} h_{z}-\partial _{z} h_{y}\right) \end{array}\right] \\&= \ \left[ \begin{array}{c} \partial _{y} \partial _{x} h_{y} - \partial ^{2}_{y} h_{x} - \partial ^{2}_{z} h_{x} + \partial _{z} \partial _{x} h_{z} \\ \partial _{z} \partial _{y} h_{z} - \partial ^{2}_{z} h_{y} - \partial ^{2}_{x} h_{y} + \partial _{x} \partial _{y} h_{x} \\ \partial _{x} \partial _{z} h_{x} - \partial ^{2}_{x} h_{z} - \partial ^{2}_{y} h_{z} + \partial _{y} \partial _{z} h_{y} \end{array}\right] \\&= \ \underbrace{\ \left[ \begin{array}{ccc} -\partial _{y}^{2}-\partial _{z}^{2} & \partial _{x} \partial _{y} & \partial _{x} \partial _{z} \\ \partial _{y} \partial _{x} & -\partial _{x}^{2}-\partial _{z}^{2} & \partial _{y} \partial _{z} \\ \partial _{z} \partial _{x} & \partial _{z} \partial _{y} & -\partial _{x}^{2}-\partial _{y}^{2} \end{array}\right] \ }_{{{\{-\Delta {\mathbf {I}}{+}\nabla \nabla ^{T} \}}}} \ \left[ \begin{array}{c} h_{x} \\ h_{y} \\ h_{z} \\ \end{array}\right] \\ \end{aligned} \end{aligned}$$
(3)
The 1D derivative operator
\(\frac{\partial }{\partial x_{i}}\) is shortened to
\(\partial _{x_{i}}\) above for compactness. The operator
\(\{-\Delta {\mathbf {I}}{+}\nabla \nabla ^{T} \}\) maps the field
\({\mathbf {s}}\) to
\({\mathbf {h}}\) and is also used in the construction of the matrix-valued RBF with
\({\mathbf {I}}\) being the 3x3 identity matrix,
\(\Delta \) being the Laplace operator
\(\Delta {=}\nabla ^{2}{=}\nabla {\cdot }\nabla \) and
\(\nabla \) is the del operator being
\(\nabla {=}[\partial _{x},\partial _{y},\partial _{z}]^{\text {T}}\) in 3D Cartesian coordinates. A scalar RBF
\(\phi \) with sufficiently high order can be modified by the differential operator
\(\{-\Delta {\mathbf {I}}{+}\nabla \nabla ^{T} \}\) (see (Lowitzsch
2002)) to form the matrix-valued RBF
\({\varvec{\Psi } {=} \{-\Delta {\mathbf {I}}{+}\nabla \nabla ^{T} \} \phi }\).
$$\begin{aligned} \varvec{\Psi }= & \ \left[ \begin{array}{ccc} -\partial _{y}^{2}-\partial _{z}^{2} & \partial _{x} \partial _{y} & \partial _{x} \partial _{z} \\ \partial _{y} \partial _{x} & -\partial _{x}^{2}-\partial _{z}^{2} & \partial _{y}
\partial _{z} \\ \partial _{z} \partial _{x} & \partial _{z} \partial _{y} & -\partial _{x}^{2}-\partial _{y}^{2} \end{array}\right] \nonumber \\ \phi= & \left[ \ \begin{array}{ccc} \Psi _{11} & \Psi _{12} & \Psi _{13} \\ \Psi _{21} & \Psi _{22} & \Psi _{23} \\ \Psi _{31} & \Psi _{32} & \Psi _{33} \\ \end{array}\ \right] \ \end{aligned}$$
(4)
In the present study, a Wendland polynomial (Wendland
1995) was chosen for
\(\phi \), specifically
\(\psi _{4,2}\), which in 1D is
$$\begin{aligned} \psi _{4,2}(r) = (1-r)^{6}\left( 35 r^{2}+18 r+3\right) \end{aligned}$$
(5)
where
\(\psi _{4,2}(r)\) is defined as null for
\(r{>}1\). The 3D Cartesian derivatives of
\(\psi _{4,2}({\mathbf {r}})\) needed for the construction of
\(\varvec{\Psi }\) are as follows:
$$\begin{aligned} \begin{aligned} \partial ^{2}_{x}(\psi _{4,2})&= \ -56(\hat{{\mathbf {r}}}-1)^{4}\left( 4\hat{{\mathbf {r}}}-35r_{x}^{2}-5r_{y}^{2}-5r_{z}^{2}+1\right) \\ \partial ^{2}_{y}(\psi _{4,2})&= \ -56(\hat{{\mathbf {r}}}-1)^{4}\left( 4\hat{{\mathbf {r}}}-5r_{x}^{2}-35r_{y}^{2}-5r_{z}^{2}+1\right) \\ \partial ^{2}_{z}(\psi _{4,2})&= \ -56(\hat{{\mathbf {r}}}-1)^{4}\left( 4\hat{{\mathbf {r}}}-5r_{x}^{2}-5r_{y}^{2}-35r_{z}^{2}+1\right) \\ \partial _{x} \partial _{y} (\psi _{4,2})&= \ 1680 r_{x} r_{y} (\hat{{\mathbf {r}}} - 1)^{4} \\ \partial _{y} \partial _{z} (\psi _{4,2})&= \ 1680 r_{y} r_{z} (\hat{{\mathbf {r}}} - 1)^{4} \\ \partial _{z} \partial _{x} (\psi _{4,2})&= \ 1680 r_{z} r_{x} (\hat{{\mathbf {r}}} - 1)^{4} \end{aligned} \end{aligned}$$
(6)
in which the components
\(r_{x}\),
\(r_{y}\) and
\(r_{z}\) are 1D distance components of
\({\mathbf {r}}{=}[r_{x},r_{y},r_{z}]^{\text {T}}\) and
\(\hat{{\mathbf {r}}}\) is the norm
\(\hat{{\mathbf {r}}}{=}\Vert {\mathbf {r}}\Vert \), i.e., the 3D Euclidean distance. The same linear system is set up as in the scalar case to find the coefficient vector
\(\lambda \), except now in block-structured form
$$\begin{aligned} \underbrace{\ \left[ \ \begin{array}{c|c|c} A_{11} & A_{12} & A_{13} \\ \hline A_{21} & A_{22} & A_{23} \\ \hline A_{31} & A_{32} & A_{33} \ \end{array}\ \right] \ }_{{{A}}}\ \underbrace{\ \left[ \ \begin{array}{c} \lambda _{1} \\ \hline \lambda _{2} \\ \hline \lambda _{3} \\ \end{array}\ \right] \ }_{{{\lambda }}}\ =\ \underbrace{\ \left[ \ \begin{array}{c} f_{1} \\ \hline f_{2} \\ \hline f_{3} \\ \end{array}\ \right] \ }_{{{f}}} \end{aligned}$$
(7)
whereby
A now has dimensions 3N
\({\times }\)3N, and
\(\lambda \) and
f have dimensions 3N
\(\times \)1. Each block of
A, i.e.,
\(A_{ij}\) is the corresponding
\(\Psi _{ij}\) evaluation of
\({\mathbf {r}}\) with dimensions N
\(\times \)N. The blocks of the vector
f are the stacked vector field components, i.e.,
\(f{=}[u_{1}\ldots u_{N}|v_{1}\ldots v_{N}|w_{1}\ldots w_{N}]^{\text {T}}\) in the present study.
The evaluation of the interpolant
\(B \lambda {=} B A^{-1} f\) is analogous to the scalar case except now the block-structured
B has dimensions 3M
\(\times \)3N and each M
\(\times \)N block
\(B_{ij}\) is the corresponding
\(\Psi _{ij}\) evaluation of
\({\mathbf {r}}\), where
\({\mathbf {r}}\) is the vector of 1D distances between the known and new points. When the interpolant
\(B \lambda \) is evaluated, the resulting vector field (formed by reshaping
f from 3M
\(\times \)1 to M
\(\times \)3) is divergence-free. Formal mathematical derivation of this feature is shown in Lowitzsch (
2002) and additional discussion can be found in McNally (
2011) and Yang et al. (
2014). The divergence-free feature of the output vector field becomes conceptually clear when considering that [
u,
v,
w] at every output point is realized as the linear dot-product sum of weighted basis functions. Since the basis function kernel is constructed as the curl of the curl of a single polynomial function, the divergence of their resulting collocated sum is automatically null by identity
\(\nabla {\cdot }(\nabla {\times } \square )= 0\).