API
Structs
DataInterpolationsND.NDInterpolation
— TypeNDInterpolation(interp_dims, u)
The interpolation object containing the interpolation dimensions and the data to interpolate u
. Given the number of interpolation dimensions N_in
, for first N_in
dimensions of u
the size of u
along that dimension must match the length of t
of the corresponding interpolation dimension.
Arguments
interp_dims
: A tuple of identically typed interpolation dimensions.u
: The array to be interpolated.
DataInterpolationsND.LinearInterpolationDimension
— TypeLinearInterpolationDimension(t; t_eval = similar(t, 0))
Interpolation dimension for linear interpolation between the data points.
Arguments
t
: The time points for this interpolation dimension.
Keyword arguments
t_eval
: A vector (like) of time evaluation points for efficient evaluation of multiple points, seeeval_unstructured
andeval_grid
. Defaults to no points.
DataInterpolationsND.ConstantInterpolationDimension
— TypeConstantInterpolationDimension(t; t_eval = similar(t, 0), left = true)
Interpolation dimension for constant interpolation between the data points.
Arguments
t
: The time points for this interpolation dimension.
Keyword arguments
left
: Whether the interpolation looks to the left of the evaluationt
for the value. Defaults totrue
.t_eval
: A vector (like) of time evaluation points for efficient evaluation of multiple points, seeeval_unstructured
andeval_grid
. Defaults to no points.
DataInterpolationsND.BSplineInterpolationDimension
— TypeBSplineInterpolationDimension(
t, degree;
t_eval = similar(t, 0),
max_derivative_order_eval::Integer = 0,
multiplicities::Union{AbstractVector{<:Integer}, Nothing} = nothing)
Interpolation dimension for BSpline or NURBS interpolation between the data points, used for evaluating the BSpline basis functions.
Arguments
t
: The time points for this interpolation dimension, in this context also known as knots.degree
: The degree of the basis functions
Keyword arguments
t_eval
: A vector (like) of time evaluation points for efficient evaluation of multiple points, seeeval_unstructured
andeval_grid
. Defaults to no points.max_derivative_order_eval
: The maximum derivative order for which the basis functions will be precomputed foreval_unstructured
andeval_grid
.multiplicities
: The multiplicities of the knotst
. Defaults to multiplicities for an open/clamped knot vector.
DataInterpolationsND.NURBSWeights
— TypeNURBSWeights(weights::AbstractArray)
Weights associated with the control points to define a NURBS geometry.
Multi-point evaluation
DataInterpolationsND.eval_unstructured
— Functionfunction eval_unstructured(
interp::NDInterpolation{N_in};
derivative_orders::NTuple{N_in, <:Integer} = ntuple(_ -> 0, N_in)) where {N_in}
Evaluate the interpolation in the unstructured set of points defined by t_eval
in the interpolation dimensions out of place. That is, t_eval
must have the same length for each interpolation dimension and the interpolation is evaluated at the zip
if these t_eval
.
Keyword arguments
derivative_orders
: The partial derivative order for each interpolation dimension. Defaults to0
for each.
DataInterpolationsND.eval_unstructured!
— Functionfunction eval_unstructured!(
out::AbstractArray,
interp::NDInterpolation{N_in};
derivative_orders::NTuple{N_in, <:Integer} = ntuple(_ -> 0, N_in)) where {N_in}
Evaluate the interpolation in the unstructured set of points defined by t_eval
in the interpolation dimensions in place. That is, t_eval
must have the same length for each interpolation dimension and the interpolation is evaluated at the zip
if these t_eval
.
Keyword arguments
derivative_orders
: The partial derivative order for each interpolation dimension. Defaults to0
for each.
DataInterpolationsND.eval_grid
— Functionfunction eval_grid(
interp::NDInterpolation{N_in};
derivative_orders::NTuple{N_in, <:Integer} = ntuple(_ -> 0, N_in)) where {N_in}
Evaluate the interpolation in the Cartesian product of the t_eval
of the interpolation dimensions out of place.
Keyword arguments
derivative_orders
: The partial derivative order for each interpolation dimension. Defaults to0
for each.
DataInterpolationsND.eval_grid!
— Functionfunction eval_grid!(
out::AbstractArray,
interp::NDInterpolation{N_in};
derivative_orders::NTuple{N_in, <:Integer} = ntuple(_ -> 0, N_in)) where {N_in}
Evaluate the interpolation in the Cartesian product of the t_eval
of the interpolation dimensions in place.
Keyword arguments
derivative_orders
: The partial derivative order for each interpolation dimension. Defaults to0
for each.