You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/3_numerical.rst
+76-1Lines changed: 76 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -172,7 +172,82 @@ The continuous velocity field is reconstructed by trilinear interpolation of the
172
172
173
173
174
174
175
-
**Tricubic**
175
+
**Tricubic Catmull-Rom**
176
+
177
+
The Tricubic Catmull-Rom interpolation ``tricubic`` used here is a separable three-dimensional cubic spline based on the one-dimensional Catmul-Rom spline (parameter ``a=-0.5``) for velocity fields, which ensures :math:`C^{1}` continuity.
178
+
The process is given as follows.
179
+
180
+
The one-dimensional Catmull-Rom interpolation reconstructs a :math:`C^{1}`-continuous approximation of velocity at an arbitrary location :math:`x = i + t`, where :math:`t \in [0,1)` and :math:`i = \lfloor x\rfloor` on a uniform grid with :math:`\Delta x = 1`.
For three-dimensional interpolation, let the target velocity location be
204
+
205
+
.. math::
206
+
207
+
(f_{x},\,f_{y},\,f_{z}),
208
+
\quad
209
+
i = \lfloor f_{x}\rfloor,\;
210
+
j = \lfloor f_{y}\rfloor,\;
211
+
k = \lfloor f_{z}\rfloor,
212
+
\quad
213
+
t_{x} = f_{x} - i,\;
214
+
t_{y} = f_{y} - j,\;
215
+
t_{z} = f_{z} - k.
216
+
217
+
At each :math:`z = k + \Delta` (where :math:`\Delta\in \{-1,0,1,2\}`), perform bicubic interpolation (first in ``x``, then in ``y``). For each :math:`y = j + \ell` (where :math:`\ell\in \{-1,0,1,2\}`), compute:
218
+
219
+
.. math::
220
+
221
+
M_{\,j+\ell}(k+\Delta)
222
+
= \mathrm{CR}_{1}\bigl(
223
+
u_{\,i-1,\,j+\ell,\,k+\Delta},\,
224
+
u_{\,i,\,j+\ell,\,k+\Delta},\,
225
+
u_{\,i+1,\,j+\ell,\,k+\Delta},\,
226
+
u_{\,i+2,\,j+\ell,\,k+\Delta}
227
+
;\,t_{x}\bigr).
228
+
229
+
Then combine along ``y``:
230
+
231
+
.. math::
232
+
233
+
B(k+\Delta)
234
+
= \mathrm{CR}_{1}\bigl(
235
+
M_{\,j-1}(k+\Delta),\,
236
+
M_{\,j}(k+\Delta),\,
237
+
M_{\,j+1}(k+\Delta),\,
238
+
M_{\,j+2}(k+\Delta)
239
+
;\,t_{y}\bigr).
240
+
241
+
Finally, interpolate along the third direction ``z``:
242
+
243
+
.. math::
244
+
245
+
u(f_{x},\,f_{y},\,f_{z})
246
+
= \mathrm{CR}_{1}\bigl(
247
+
B(k-1),\,B(k),\,B(k+1),\,B(k+2)
248
+
;\,t_{z}\bigr).
249
+
250
+
Here :math:`\mathrm{CR}_{1}(⋯; t)` denotes the one-dimensional Catmull-Rom spline defined above.
0 commit comments