A class for creating a 2D spline approximation of a function. More...
A class for creating a 2D spline approximation of a function.
A class which contains an operator () which can be used to build a 2D spline approximation of a function. A 2D spline approximation uses a cross-product between two 1D spline builder.
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::exec_space = ExecSpace |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::memory_space = MemorySpace |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::builder_type1 |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::builder_type2 |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::builder_deriv_type1 |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::bsplines_type1 = typename builder_type1::bsplines_type |
The type of the BSplines in the first dimension which are compatible with this class.
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::bsplines_type2 = typename builder_type2::bsplines_type |
The type of the BSplines in the second dimension which are compatible with this class.
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::deriv_type1 = typename builder_type1::deriv_type |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::deriv_type2 = typename builder_type2::deriv_type |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::interpolation_mesh_type1 = typename builder_type1::interpolation_mesh_type |
The type of the interpolation mesh in the first dimension used by this class.
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::interpolation_mesh_type2 = typename builder_type2::interpolation_mesh_type |
The type of the interpolation mesh in the second dimension used by this class.
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::interpolation_domain_type1 = typename builder_type1::interpolation_mesh_type |
The type of the domain for the interpolation mesh is the first dimension used by this class.
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::interpolation_domain_type2 = typename builder_type2::interpolation_mesh_type |
The type of the domain for the interpolation mesh is the second dimension used by this class.
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::interpolation_domain_type = ddc::DiscreteDomain<interpolation_mesh_type1, interpolation_mesh_type2> |
The type of the domain for the interpolation mesh is the 2D dimension used by this class.
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::batched_interpolation_domain_type = ddc::DiscreteDomain<IDimX...> |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::batch_domain_type |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::batched_spline_domain_type |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::batched_derivs_domain_type1 = typename builder_type1::batched_derivs_domain_type |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::batched_derivs_domain_type2 |
using ddc::SplineBuilder2D< ExecSpace, MemorySpace, BSpline1, BSpline2, IDimI1, IDimI2, BcXmin1, BcXmax1, BcXmin2, BcXmax2, Solver, IDimX >::batched_derivs_domain_type |
|
inlineexplicit |
Create a new SplineBuilder2D.
batched_interpolation_domain | The 2D domain on which points will be provided in order to create the 2D spline approximation. |
cols_per_chunk | The number of columns in the rhs passed to the underlying linear solver. |
preconditionner_max_block_size | The block size of in the block Jacobi preconditioner. |
|
delete |
Create a new SplineBuilder2D by copy.
x | The SplineBuilder2D being copied. |
|
default |
Create a new SplineBuilder2D by copy.
x | The temporary SplineBuilder2D being copied. |
|
default |
|
delete |
|
default |
Copy a SplineBuilder2D.
x | The temporary SplineBuilder2D being copied. |
|
inlinenoexcept |
|
inlinenoexcept |
Get the 2D dimension domain from which the approximation is defined.
Get the 2D dimension domain on which values of the function must be provided in order to build a spline approximation of the function.
|
inlinenoexcept |
|
inlinenoexcept |
Get the 2D domain on which the approximation is defined.
Get the 2D domain of the basis-splines for which the coefficients of the spline approximation must be calculated.
|
inlinenoexcept |
Build a 2D spline approximation of a function.
Use the values of a function at known grid points (as specified by SplineBuilder2D::interpolation_domain_type) and the derivatives of the function at the boundaries (if necessary for the chosen boundary conditions) to calculate a 2D spline approximation of a function.
The spline approximation is stored as a ChunkSpan of coefficients associated with basis-splines.
[out] | spline | The coefficients of the spline calculated by the function. |
[in] | vals | The values of the function at the grid points. |
[in] | derivs_min1 | The values of the derivatives at the lower boundary in the first dimension. |
[in] | derivs_max1 | The values of the derivatives at the upper boundary in the first dimension. |
[in] | derivs_min2 | The values of the derivatives at the lower boundary in the second dimension. |
[in] | derivs_max2 | The values of the derivatives at the upper boundary in the second dimension. |
[in] | mixed_derivs_min1_min2 | The values of the the cross-derivatives at the lower boundary in the first dimension and the lower boundary in the second dimension. |
[in] | mixed_derivs_max1_min2 | The values of the the cross-derivatives at the upper boundary in the first dimension and the lower boundary in the second dimension. |
[in] | mixed_derivs_min1_max2 | The values of the the cross-derivatives at the lower boundary in the first dimension and the upper boundary in the second dimension. |
[in] | mixed_derivs_max1_max2 | The values of the the cross-derivatives at the upper boundary in the first dimension and the upper boundary in the second dimension. |