A class to evaluate, differentiate or integrate a 3D spline function. More...
#include <spline_evaluator_3d.hpp>
Public Types | |
using | continuous_dimension_type1 = typename BSplines1::continuous_dimension_type |
The type of the first evaluation continuous dimension used by this class. | |
using | continuous_dimension_type2 = typename BSplines2::continuous_dimension_type |
The type of the second evaluation continuous dimension used by this class. | |
using | continuous_dimension_type3 = typename BSplines3::continuous_dimension_type |
The type of the third evaluation continuous dimension used by this class. | |
using | exec_space = ExecSpace |
The type of the Kokkos execution space used by this class. | |
using | memory_space = MemorySpace |
The type of the Kokkos memory space used by this class. | |
using | evaluation_discrete_dimension_type1 = EvaluationDDim1 |
The type of the first discrete dimension of interest used by this class. | |
using | evaluation_discrete_dimension_type2 = EvaluationDDim2 |
The type of the second discrete dimension of interest used by this class. | |
using | evaluation_discrete_dimension_type3 = EvaluationDDim3 |
The type of the third discrete dimension of interest used by this class. | |
using | bsplines_type1 = BSplines1 |
The discrete dimension representing the B-splines along first dimension. | |
using | bsplines_type2 = BSplines2 |
The discrete dimension representing the B-splines along second dimension. | |
using | bsplines_type3 = BSplines3 |
The discrete dimension representing the B-splines along third dimension. | |
using | evaluation_domain_type1 = ddc::DiscreteDomain< evaluation_discrete_dimension_type1 > |
The type of the domain for the 1D evaluation mesh along first dimension used by this class. | |
using | evaluation_domain_type2 = ddc::DiscreteDomain< evaluation_discrete_dimension_type2 > |
The type of the domain for the 1D evaluation mesh along second dimension used by this class. | |
using | evaluation_domain_type3 = ddc::DiscreteDomain< evaluation_discrete_dimension_type3 > |
The type of the domain for the 1D evaluation mesh along third dimension used by this class. | |
using | evaluation_domain_type = ddc::DiscreteDomain< evaluation_discrete_dimension_type1, evaluation_discrete_dimension_type2, evaluation_discrete_dimension_type3 > |
The type of the domain for the 3D evaluation mesh used by this class. | |
template<class BatchedInterpolationDDom , class = std::enable_if_t<ddc::is_discrete_domain_v<BatchedInterpolationDDom>>> | |
using | batched_evaluation_domain_type = BatchedInterpolationDDom |
The type of the whole domain representing evaluation points. | |
using | spline_domain_type1 = ddc::DiscreteDomain< bsplines_type1 > |
The type of the 1D spline domain corresponding to the first dimension of interest. | |
using | spline_domain_type2 = ddc::DiscreteDomain< bsplines_type2 > |
The type of the 1D spline domain corresponding to the second dimension of interest. | |
using | spline_domain_type3 = ddc::DiscreteDomain< bsplines_type3 > |
The type of the 1D spline domain corresponding to the third dimension of interest. | |
using | spline_domain_type = ddc::DiscreteDomain< bsplines_type1, bsplines_type2, bsplines_type3 > |
The type of the 3D spline domain corresponding to the dimensions of interest. | |
template<class BatchedInterpolationDDom , class = std::enable_if_t<ddc::is_discrete_domain_v<BatchedInterpolationDDom>>> | |
using | batch_domain_type = typename ddc::remove_dims_of_t< BatchedInterpolationDDom, evaluation_discrete_dimension_type1, evaluation_discrete_dimension_type2, evaluation_discrete_dimension_type3 > |
The type of the batch domain (obtained by removing the dimensions of interest from the whole domain). | |
template<class BatchedInterpolationDDom , class = std::enable_if_t<ddc::is_discrete_domain_v<BatchedInterpolationDDom>>> | |
using | batched_spline_domain_type = typename ddc::detail::convert_type_seq_to_discrete_domain_t< ddc::type_seq_replace_t< ddc::to_type_seq_t< BatchedInterpolationDDom >, ddc::detail::TypeSeq< evaluation_discrete_dimension_type1, evaluation_discrete_dimension_type2, evaluation_discrete_dimension_type3 >, ddc::detail::TypeSeq< bsplines_type1, bsplines_type2, bsplines_type3 > > > |
The type of the whole spline domain (cartesian product of 3D spline domain and batch domain) preserving the underlying memory layout (order of dimensions). | |
using | lower_extrapolation_rule_1_type = LowerExtrapolationRule1 |
The type of the extrapolation rule at the lower boundary along the first dimension. | |
using | upper_extrapolation_rule_1_type = UpperExtrapolationRule1 |
The type of the extrapolation rule at the upper boundary along the first dimension. | |
using | lower_extrapolation_rule_2_type = LowerExtrapolationRule2 |
The type of the extrapolation rule at the lower boundary along the second dimension. | |
using | upper_extrapolation_rule_2_type = UpperExtrapolationRule2 |
The type of the extrapolation rule at the upper boundary along the second dimension. | |
using | lower_extrapolation_rule_3_type = LowerExtrapolationRule3 |
The type of the extrapolation rule at the lower boundary along the third dimension. | |
using | upper_extrapolation_rule_3_type = UpperExtrapolationRule3 |
The type of the extrapolation rule at the upper boundary along the third dimension. | |
A class to evaluate, differentiate or integrate a 3D spline function.
A class which contains an operator () which can be used to evaluate, differentiate or integrate a 3D spline function.
ExecSpace | The Kokkos execution space on which the spline evaluation is performed. |
MemorySpace | The Kokkos memory space on which the data (spline coefficients and evaluation) is stored. |
BSplines1 | The discrete dimension representing the B-splines along the first dimension of interest. |
BSplines2 | The discrete dimension representing the B-splines along the second dimension of interest. |
BSplines3 | The discrete dimension representing the B-splines along the third dimension of interest. |
EvaluationDDim1 | The first discrete dimension on which evaluation points are defined. |
EvaluationDDim2 | The second discrete dimension on which evaluation points are defined. |
EvaluationDDim3 | The third discrete dimension on which evaluation points are defined. |
LowerExtrapolationRule1 | The lower extrapolation rule type along first dimension of interest. |
UpperExtrapolationRule1 | The upper extrapolation rule type along first dimension of interest. |
LowerExtrapolationRule2 | The lower extrapolation rule type along second dimension of interest. |
UpperExtrapolationRule2 | The upper extrapolation rule type along second dimension of interest. |
LowerExtrapolationRule3 | The lower extrapolation rule type along third dimension of interest. |
UpperExtrapolationRule3 | The upper extrapolation rule type along third dimension of interest. |
Definition at line 55 of file spline_evaluator_3d.hpp.
using ddc::SplineEvaluator3D< ExecSpace, MemorySpace, BSplines1, BSplines2, BSplines3, EvaluationDDim1, EvaluationDDim2, EvaluationDDim3, LowerExtrapolationRule1, UpperExtrapolationRule1, LowerExtrapolationRule2, UpperExtrapolationRule2, LowerExtrapolationRule3, UpperExtrapolationRule3 >::continuous_dimension_type1 = typename BSplines1::continuous_dimension_type |
The type of the first evaluation continuous dimension used by this class.
Definition at line 74 of file spline_evaluator_3d.hpp.
using ddc::SplineEvaluator3D< ExecSpace, MemorySpace, BSplines1, BSplines2, BSplines3, EvaluationDDim1, EvaluationDDim2, EvaluationDDim3, LowerExtrapolationRule1, UpperExtrapolationRule1, LowerExtrapolationRule2, UpperExtrapolationRule2, LowerExtrapolationRule3, UpperExtrapolationRule3 >::continuous_dimension_type2 = typename BSplines2::continuous_dimension_type |
The type of the second evaluation continuous dimension used by this class.
Definition at line 77 of file spline_evaluator_3d.hpp.
using ddc::SplineEvaluator3D< ExecSpace, MemorySpace, BSplines1, BSplines2, BSplines3, EvaluationDDim1, EvaluationDDim2, EvaluationDDim3, LowerExtrapolationRule1, UpperExtrapolationRule1, LowerExtrapolationRule2, UpperExtrapolationRule2, LowerExtrapolationRule3, UpperExtrapolationRule3 >::continuous_dimension_type3 = typename BSplines3::continuous_dimension_type |
The type of the third evaluation continuous dimension used by this class.
Definition at line 80 of file spline_evaluator_3d.hpp.
The type of the Kokkos execution space used by this class.
Definition at line 83 of file spline_evaluator_3d.hpp.
The type of the Kokkos memory space used by this class.
Definition at line 86 of file spline_evaluator_3d.hpp.
using ddc::SplineEvaluator3D< ExecSpace, MemorySpace, BSplines1, BSplines2, BSplines3, EvaluationDDim1, EvaluationDDim2, EvaluationDDim3, LowerExtrapolationRule1, UpperExtrapolationRule1, LowerExtrapolationRule2, UpperExtrapolationRule2, LowerExtrapolationRule3, UpperExtrapolationRule3 >::evaluation_discrete_dimension_type1 = EvaluationDDim1 |
The type of the first discrete dimension of interest used by this class.
Definition at line 89 of file spline_evaluator_3d.hpp.
using ddc::SplineEvaluator3D< ExecSpace, MemorySpace, BSplines1, BSplines2, BSplines3, EvaluationDDim1, EvaluationDDim2, EvaluationDDim3, LowerExtrapolationRule1, UpperExtrapolationRule1, LowerExtrapolationRule2, UpperExtrapolationRule2, LowerExtrapolationRule3, UpperExtrapolationRule3 >::evaluation_discrete_dimension_type2 = EvaluationDDim2 |
The type of the second discrete dimension of interest used by this class.
Definition at line 92 of file spline_evaluator_3d.hpp.
using ddc::SplineEvaluator3D< ExecSpace, MemorySpace, BSplines1, BSplines2, BSplines3, EvaluationDDim1, EvaluationDDim2, EvaluationDDim3, LowerExtrapolationRule1, UpperExtrapolationRule1, LowerExtrapolationRule2, UpperExtrapolationRule2, LowerExtrapolationRule3, UpperExtrapolationRule3 >::evaluation_discrete_dimension_type3 = EvaluationDDim3 |
The type of the third discrete dimension of interest used by this class.
Definition at line 95 of file spline_evaluator_3d.hpp.
The discrete dimension representing the B-splines along first dimension.
Definition at line 98 of file spline_evaluator_3d.hpp.
The discrete dimension representing the B-splines along second dimension.
Definition at line 101 of file spline_evaluator_3d.hpp.
The discrete dimension representing the B-splines along third dimension.
Definition at line 104 of file spline_evaluator_3d.hpp.
The type of the domain for the 1D evaluation mesh along first dimension used by this class.
Definition at line 107 of file spline_evaluator_3d.hpp.
The type of the domain for the 1D evaluation mesh along second dimension used by this class.
Definition at line 110 of file spline_evaluator_3d.hpp.
The type of the domain for the 1D evaluation mesh along third dimension used by this class.
Definition at line 113 of file spline_evaluator_3d.hpp.
The type of the domain for the 3D evaluation mesh used by this class.
Definition at line 116 of file spline_evaluator_3d.hpp.
The type of the whole domain representing evaluation points.
The | batched discrete domain on which the interpolation points are defined. |
Definition at line 129 of file spline_evaluator_3d.hpp.
The type of the 1D spline domain corresponding to the first dimension of interest.
Definition at line 132 of file spline_evaluator_3d.hpp.
The type of the 1D spline domain corresponding to the second dimension of interest.
Definition at line 135 of file spline_evaluator_3d.hpp.
The type of the 1D spline domain corresponding to the third dimension of interest.
Definition at line 138 of file spline_evaluator_3d.hpp.
The type of the 3D spline domain corresponding to the dimensions of interest.
Definition at line 141 of file spline_evaluator_3d.hpp.
The type of the batch domain (obtained by removing the dimensions of interest from the whole domain).
The | batched discrete domain on which the interpolation points are defined. |
Definition at line 152 of file spline_evaluator_3d.hpp.
using ddc::SplineEvaluator3D< ExecSpace, MemorySpace, BSplines1, BSplines2, BSplines3, EvaluationDDim1, EvaluationDDim2, EvaluationDDim3, LowerExtrapolationRule1, UpperExtrapolationRule1, LowerExtrapolationRule2, UpperExtrapolationRule2, LowerExtrapolationRule3, UpperExtrapolationRule3 >::batched_spline_domain_type = typename ddc::detail::convert_type_seq_to_discrete_domain_t<ddc::type_seq_replace_t< ddc::to_type_seq_t<BatchedInterpolationDDom>, ddc::detail::TypeSeq< evaluation_discrete_dimension_type1, evaluation_discrete_dimension_type2, evaluation_discrete_dimension_type3>, ddc::detail::TypeSeq<bsplines_type1, bsplines_type2, bsplines_type3> >> |
The type of the whole spline domain (cartesian product of 3D spline domain and batch domain) preserving the underlying memory layout (order of dimensions).
The | batched discrete domain on which the interpolation points are defined. |
Definition at line 167 of file spline_evaluator_3d.hpp.
The type of the extrapolation rule at the lower boundary along the first dimension.
Definition at line 177 of file spline_evaluator_3d.hpp.
The type of the extrapolation rule at the upper boundary along the first dimension.
Definition at line 180 of file spline_evaluator_3d.hpp.
The type of the extrapolation rule at the lower boundary along the second dimension.
Definition at line 183 of file spline_evaluator_3d.hpp.
The type of the extrapolation rule at the upper boundary along the second dimension.
Definition at line 186 of file spline_evaluator_3d.hpp.
The type of the extrapolation rule at the lower boundary along the third dimension.
Definition at line 189 of file spline_evaluator_3d.hpp.
The type of the extrapolation rule at the upper boundary along the third dimension.
Definition at line 192 of file spline_evaluator_3d.hpp.
|
inlineexplicit |
Build a SplineEvaluator3D acting on batched_spline_domain.
lower_extrap_rule1 | The extrapolation rule at the lower boundary along the first dimension. |
upper_extrap_rule1 | The extrapolation rule at the upper boundary along the first dimension. |
lower_extrap_rule2 | The extrapolation rule at the lower boundary along the second dimension. |
upper_extrap_rule2 | The extrapolation rule at the upper boundary along the second dimension. |
lower_extrap_rule3 | The extrapolation rule at the lower boundary along the third dimension. |
upper_extrap_rule3 | The extrapolation rule at the upper boundary along the third dimension. |
Definition at line 318 of file spline_evaluator_3d.hpp.
Copy-constructs.
x | A reference to another SplineEvaluator. |
|
default |
Move-constructs.
x | An rvalue to another SplineEvaluator. |
|
default |
Destructs.
|
default |
Copy-assigns.
x | A reference to another SplineEvaluator. |
|
default |
|
inline |
Get the lower extrapolation rule along the first dimension.
Extrapolation rules are functors used to define the behavior of the SplineEvaluator out of the domain where the break points of the B-splines are defined.
Definition at line 376 of file spline_evaluator_3d.hpp.
|
inline |
Get the upper extrapolation rule along the first dimension.
Extrapolation rules are functors used to define the behavior of the SplineEvaluator out of the domain where the break points of the B-splines are defined.
Definition at line 390 of file spline_evaluator_3d.hpp.
|
inline |
Get the lower extrapolation rule along the second dimension.
Extrapolation rules are functors used to define the behavior of the SplineEvaluator out of the domain where the break points of the B-splines are defined.
Definition at line 404 of file spline_evaluator_3d.hpp.
|
inline |
Get the upper extrapolation rule along the second dimension.
Extrapolation rules are functors used to define the behavior of the SplineEvaluator out of the domain where the break points of the B-splines are defined.
Definition at line 418 of file spline_evaluator_3d.hpp.
|
inline |
Get the lower extrapolation rule along the third dimension.
Extrapolation rules are functors used to define the behavior of the SplineEvaluator out of the domain where the break points of the B-splines are defined.
Definition at line 432 of file spline_evaluator_3d.hpp.
|
inline |
Get the upper extrapolation rule along the third dimension.
Extrapolation rules are functors used to define the behavior of the SplineEvaluator out of the domain where the break points of the B-splines are defined.
Definition at line 446 of file spline_evaluator_3d.hpp.
|
inline |
Evaluate 3D spline function (described by its spline coefficients) at a given coordinate.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
Remark: calling SplineBuilder3D then SplineEvaluator3D corresponds to a 3D spline interpolation.
coord_eval | The coordinate where the spline is evaluated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 464 of file spline_evaluator_3d.hpp.
|
inline |
Evaluate 3D spline function (described by its spline coefficients) on a mesh.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD evaluation. This is a batched 3D evaluation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
Remark: calling SplineBuilder3D then SplineEvaluator3D corresponds to a 3D spline interpolation.
[out] | spline_eval | The values of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is evaluated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 498 of file spline_evaluator_3d.hpp.
|
inline |
Evaluate 3D spline function (described by its spline coefficients) on a mesh.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
Remark: calling SplineBuilder3D then SplineEvaluator3D corresponds to a 3D spline interpolation.
[out] | spline_eval | The values of the 3D spline function at their coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 553 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) at a given coordinate along first dimension of interest.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
coord_eval | The coordinate where the spline is differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 606 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) at a given coordinate along second dimension of interest.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
coord_eval | The coordinate where the spline is differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 626 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) at a given coordinate along third dimension of interest.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
coord_eval | The coordinate where the spline is differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 646 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) at a given coordinate along the first and second dimensions.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
coord_eval | The coordinate where the spline is differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 666 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) at a given coordinate along the second and third dimensions.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
coord_eval | The coordinate where the spline is differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 686 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) at a given coordinate along the first and third dimensions.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
coord_eval | The coordinate where the spline is differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 706 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) at a given coordinate along the dimensions of interest.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
coord_eval | The coordinate where the spline is differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 726 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) at a given coordinate along a specified dimension of interest.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
InterestDim | Dimension along which differentiation is performed. |
coord_eval | The coordinate where the spline is differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 751 of file spline_evaluator_3d.hpp.
|
inline |
Double-differentiate 3D spline function (described by its spline coefficients) at a given coordinate along specified dimensions of interest.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
Note: double-differentiation other than cross-differentiation is not supported atm. See #440
InterestDim1 | First dimension along which differentiation is performed. |
InterestDim2 | Second dimension along which differentiation is performed. |
coord_eval | The coordinate where the spline is double-differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 795 of file spline_evaluator_3d.hpp.
|
inline |
Triple-differentiate 3D spline function (described by its spline coefficients) at a given coordinate along specified dimensions of interest.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
Note: triple-differentiation other than cross-differentiation is not supported atm. See #440
InterestDim1 | First dimension along which differentiation is performed. |
InterestDim2 | Second dimension along which differentiation is performed. |
InterestDim3 | Third dimension along which differentiation is performed. |
coord_eval | The coordinate where the spline is triple-differentiated. Note that only the components along the dimensions of interest are used. |
spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 882 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) on a mesh along first dimension of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD evaluation. This is a batched 3D differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 933 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) on a mesh along first dimension of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 988 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) on a mesh along second dimension of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD differentiation. This is a batched 3D differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1055 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) on a mesh along second dimension of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1110 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) on a mesh along third dimension of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD differentiation. This is a batched 3D differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1177 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate 3D spline function (described by its spline coefficients) on a mesh along third dimension of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1232 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) on a mesh along the first and second dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD cross-differentiation. This is a batched 3D cross-differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the cross-differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The cross-derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1299 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) on a mesh along the first and second dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The cross-derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1354 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) on a mesh along the second and third dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD cross-differentiation. This is a batched 3D cross-differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the cross-differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The cross-derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1421 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) on a mesh along the second and third dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The cross-derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1476 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) on a mesh along the first and third dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD cross-differentiation. This is a batched 3D cross-differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the cross-differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The cross-derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1543 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) on a mesh along the first and third dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The cross-derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1598 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) on a mesh along the dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD cross-differentiation. This is a batched 3D cross-differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the cross-differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The cross-derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1665 of file spline_evaluator_3d.hpp.
|
inline |
Cross-differentiate 3D spline function (described by its spline coefficients) on a mesh along the dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
[out] | spline_eval | The cross-derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1722 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate spline function (described by its spline coefficients) on a mesh along a specified dimension of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD evaluation. This is a batched 3D differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
InterestDim | Dimension along which differentiation is performed. |
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1791 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate spline function (described by its spline coefficients) on a mesh along a specified dimension of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
InterestDim | Dimension along which differentiation is performed. |
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1844 of file spline_evaluator_3d.hpp.
|
inline |
Double-differentiate 3D spline function (described by its spline coefficients) on a mesh along specified dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD evaluation. This is a batched 3D differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
Note: double-differentiation other than cross-differentiation is not supported atm. See #440
InterestDim1 | First dimension along which differentiation is performed. |
InterestDim2 | Second dimension along which differentiation is performed. |
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 1908 of file spline_evaluator_3d.hpp.
|
inline |
Double-differentiate 3D spline function (described by its spline coefficients) on a mesh along specified dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
Note: double-differentiation other than cross-differentiation is not supported atm. See #440
InterestDim1 | First dimension along which differentiation is performed. |
InterestDim2 | Second dimension along which differentiation is performed. |
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 2005 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate spline function (described by its spline coefficients) on a mesh along a specified dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD evaluation. This is a batched 3D differentiation. This means that for each slice of coordinates identified by a batch_domain_type::discrete_element_type, the differentiation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
Note: triple-differentiation other than cross-differentiation is not supported atm. See #440
InterestDim1 | First dimension along which differentiation is performed. |
InterestDim2 | Second dimension along which differentiation is performed. |
InterestDim3 | Third dimension along which differentiation is performed. |
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. For practical reasons those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. |
[in] | coords_eval | The coordinates where the spline is differentiated. Those are stored in a ChunkSpan defined on a batched_evaluation_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant (but the points themselves (DiscreteElement) are used to select the set of 3D spline coefficients retained to perform the evaluation). |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 2106 of file spline_evaluator_3d.hpp.
|
inline |
Differentiate spline function (described by its spline coefficients) on a mesh along specified dimensions of interest.
The spline coefficients represent a 3D spline function defined on a cartesian product of batch_domain and B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a multidimensional evaluation. This is a batched 3D evaluation. This means that for each slice of spline_eval the evaluation is performed with the 3D set of spline coefficients identified by the same batch_domain_type::discrete_element_type.
Note: triple-differentiation other than cross-differentiation is not supported atm. See #440
InterestDim1 | First dimension along which differentiation is performed. |
InterestDim2 | Second dimension along which differentiation is performed. |
InterestDim3 | Third dimension along which differentiation is performed. |
[out] | spline_eval | The derivatives of the 3D spline function at the desired coordinates. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 2166 of file spline_evaluator_3d.hpp.
|
inline |
Perform batched 3D integrations of a spline function (described by its spline coefficients) along the dimensions of interest and store results on a subdomain of batch_domain.
The spline coefficients represent a 3D spline function defined on a B-splines (basis splines). They can be obtained via various methods, such as using a SplineBuilder3D.
This is not a nD integration. This is a batched 3D integration. This means that for each element of integrals, the integration is performed with the 3D set of spline coefficients identified by the same DiscreteElement.
[out] | integrals | The integrals of the 3D spline function on the subdomain of batch_domain. For practical reasons those are stored in a ChunkSpan defined on a batch_domain_type. Note that the coordinates of the points represented by this domain are unused and irrelevant. |
[in] | spline_coef | A ChunkSpan storing the 3D spline coefficients. |
Definition at line 2209 of file spline_evaluator_3d.hpp.