Module for tensor-product 2D splines.
Here we define a 2D tensor-product spline type as an element of the linear space given by the span of 2D basis functions, which in turn are obtained as tensor-product of 1D B-splines. A 2D tensor-product B-splines type is not implemented, because an object of this type is completely described by the combination of two separate 1D B-splines objects, but this decision may be changed. Therefore, initialization of a 2D spline object requires two existing B-splines objects, to which two private (polymorphic) pointers are associated. The B-spline coefficients are stored in a 2D public allocatable array; at initialization the array is allocated to the proper shape and all values are set to zero. In most situations the B-spline coefficients are not set directly by the end user, but are computed by some other object (e.g., a Poisson solver or a spline interpolator). Various public methods allow the user to evaluate the 2D spline S(x1,x2) and its partial derivatives ∂S(x1,x2)/∂x1 and ∂S(x1,x2)/∂x2 at any position (x1,x2).
- Author
- Yaman Güçlü - IPP Garching
-
Edoardo Zoni - IPP Garching