The type for generic point WENO interpolation (1D) that has to be derived.
|
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.
|
|
◆ int_point_weno_1d_apply()
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 ) |
- Parameters
-
[in] | self | the element |
[in] | values | the values in the interval '1:nx' |
- Precondition
- - the subroutine 'place' has been previously called
-
- the subroutine 'compute_stencil' have been previously called
◆ int_point_weno_1d_compute_smoothness_indicators()
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 ) |
- Parameters
-
[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 |
◆ int_point_weno_1d_interpolate()
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 ) |
- Parameters
-
[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 |
◆ int_point_weno_1d_interpolate_d1()
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 ) |
- Parameters
-
[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 |