The type for generic 2D point interpolation that has to be derived.
|
subroutine | int_point_fast_2d_construct (self, index_start, index_end) |
| Initialize a 2D point interpolant.
|
|
subroutine | int_point_fast_2d_place (self, x, coordinates_x, coordinates_y, cv_x, cv_y) |
| Place (position) the interpolant to the corresponding 'index' given the coordinate 'X' of the point and the discrete nodes. The resulting index corresponds to the node that is just before (less than or equal) the point.
|
|
double precision function | int_point_fast_2d_apply (self, values) |
| Apply the stencil of the interpolant after it has been placed, given the array of discrete node values. The result is the interpolation.
|
|
double precision function | int_point_fast_2d_interpolate (self, preweights_3d, x, coordinates_x, coordinates_y, values, derivatives, cv_x, cv_y) |
| Directly compute the interpolation at the given position. The result is the interpolation value.
|
|
subroutine | int_point_fast_2d_compute_stencil (self, preweights_3d, coordinates_x, coordinates_y, derivatives, cv_x, cv_y) |
| Compute (fill) the stencil with the X and Y interpolants.
|
|
◆ int_point_fast_2d_apply()
double precision function type_int_point_fast_2d::int_point_fast_2d_apply |
( |
class(t_int_point_fast_2d), intent(in) | self, |
|
|
double precision, dimension(:,:), intent(in) | values ) |
- Parameters
-
[in] | self | the element |
[in] | values | the values in the interval '1:nx,1:ny' |
- Precondition
- - the subroutine 'place' has been previously called
-
- the subroutine 'compute_stencil' have been previously called
◆ int_point_fast_2d_compute_stencil()
subroutine type_int_point_fast_2d::int_point_fast_2d_compute_stencil |
( |
class(t_int_point_fast_2d), intent(inout) | self, |
|
|
class(t_int_grid_preweights_array_3d), intent(in) | preweights_3d, |
|
|
double precision, dimension(:), intent(in) | coordinates_x, |
|
|
double precision, dimension(:), intent(in) | coordinates_y, |
|
|
integer, dimension(:), intent(in), optional | derivatives, |
|
|
double precision, dimension(:), intent(in), optional | cv_x, |
|
|
double precision, dimension(:), intent(in), optional | cv_y ) |
- Precondition
- the subroutine 'place' has been previously called
◆ int_point_fast_2d_place()
subroutine type_int_point_fast_2d::int_point_fast_2d_place |
( |
class(t_int_point_fast_2d), intent(inout) | self, |
|
|
double precision, dimension(2), intent(in) | x, |
|
|
double precision, dimension(:), intent(in) | coordinates_x, |
|
|
double precision, dimension(:), intent(in) | coordinates_y, |
|
|
double precision, dimension(:), intent(in), optional | cv_x, |
|
|
double precision, dimension(:), intent(in), optional | cv_y ) |
- Warning
- if 'X' is less than 'coordinates(1)', then 'index' is set to '1'.
-
if 'X' is greater than 'coordinates(nx)', then 'index' is set to 'nx'.
- Note
- the index search algorithm is dichotomic
- Precondition
- coordinates is ordered and is at least of size 2