The type for generic point WENO interpolation (1D) that has to be derived. More...
Data Types | |
interface | int_point_weno_1d_compute_coefficients |
Abstract interfaces. More... | |
Functions/Subroutines | |
subroutine | int_point_weno_1d_construct (self, index_start, index_end, nstencils) |
Initialize a 1D point interpolant. | |
double precision function | int_point_weno_1d_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. | |
subroutine | int_point_weno_1d_compute_stencil (self, coordinates, derivative, control_volumes) |
double precision function | int_point_weno_1d_interpolate (self, x, coordinates, values, derivative, control_volumes) |
Directly compute the interpolation at the given position. The result is the interpolation value. | |
double precision function | int_point_weno_1d_interpolate_d1 (self, x, coordinates, values) |
Directly compute the interpolation's derivative at the given position. The result is the interpolation value of the derivative. | |
subroutine | int_point_weno_1d_compute_smoothness_indicators (self, x, coordinates, derivatives, res) |
Compute the SI for all the stencils. | |
The type for generic point WENO interpolation (1D) that has to be derived.
double precision function type_int_point_weno_1d::int_point_weno_1d_apply | ( | class(t_int_point_weno_1d), intent(in) | self, |
double precision, dimension(:), intent(in) | values ) |
Apply the stencil of the interpolant after it has been placed, given the array of discrete node values. The result is the interpolation.
[in] | self | the element |
[in] | values | the values in the interval '1:nx' |
subroutine type_int_point_weno_1d::int_point_weno_1d_compute_smoothness_indicators | ( | class(t_int_point_weno_1d), intent(in) | self, |
double precision, intent(in) | x, | ||
double precision, dimension(:), intent(in) | coordinates, | ||
double precision, dimension(:,:), intent(in) | derivatives, | ||
double precision, dimension(:), intent(inout) | res ) |
Compute the SI for all the stencils.
[in] | self | the element |
[in] | x | the distance (with unit spacing) to the first point of the stencil |
[in] | coordinates | the nodes coordinates (with unit spacing) |
[in] | derivatives | the derivatives array (first index is the i^th stencil) |
[out] | res | the resulting smoothness_indicator array associated to the stencils |
double precision function type_int_point_weno_1d::int_point_weno_1d_interpolate | ( | class(t_int_point_weno_1d), intent(inout) | self, |
double precision, intent(in) | x, | ||
double precision, dimension(:), intent(in) | coordinates, | ||
double precision, dimension(:), intent(in) | values, | ||
integer, intent(in), optional | derivative, | ||
double precision, dimension(:), intent(in), optional | control_volumes ) |
Directly compute the interpolation at the given position. The result is the interpolation value.
[in,out] | self | the element |
[in] | X | the 1D position where to interpolate (should reside in coordinates ) |
[in] | values | the values in the interval '1:nx' |
[in] | coordinates | the coordinates of the center of the control volumes |
[in] | derivative | (optional) the derivative number: 0 (default) for value interpolation, 1 for first derivative, etc. |
[in] | control_volumes | the width of the control volumes |
double precision function type_int_point_weno_1d::int_point_weno_1d_interpolate_d1 | ( | class(t_int_point_weno_1d), intent(inout) | self, |
double precision, intent(in) | x, | ||
double precision, dimension(:), intent(in) | coordinates, | ||
double precision, dimension(:), intent(in) | values ) |
Directly compute the interpolation's derivative at the given position. The result is the interpolation value of the derivative.
[in] | self | the element |
[in] | X | the position where to interpolate |
[in] | values | the values in the interval '1:nx' |
[in] | coordinates | the coordinates of the center of the control volumes |