version 0.6.0
Loading...
Searching...
No Matches

The type for generic 2D point interpolation that has to be derived.

Data Types

interface  int_point_2d_init
 Abstract interfaces. More...
 

Functions/Subroutines

subroutine int_point_2d_construct (self, index_start, index_end)
 Initialize a 2D point interpolant.
 
subroutine int_point_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_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_2d_interpolate (self, 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_2d_compute_stencil (self, coordinates_x, coordinates_y, derivatives, cv_x, cv_y)
 Compute (fill) the stencil with the X and Y interpolants.
 

Function/Subroutine Documentation

◆ int_point_2d_apply()

double precision function type_int_point_2d::int_point_2d_apply ( class(t_int_point_2d), intent(in) self,
double precision, dimension(:,:), intent(in) values )
Parameters
[in]selfthe element
[in]valuesthe 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_2d_compute_stencil()

subroutine type_int_point_2d::int_point_2d_compute_stencil ( class(t_int_point_2d), intent(inout) self,
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_2d_place()

subroutine type_int_point_2d::int_point_2d_place ( class(t_int_point_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