version 0.6.0
Loading...
Searching...
No Matches
type_int_point_weno_1d Module Reference

The type for generic point WENO interpolation (1D) that has to be derived.

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.
 

Function/Subroutine Documentation

◆ 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]selfthe element
[in]valuesthe 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]selfthe element
[in]xthe distance (with unit spacing) to the first point of the stencil
[in]coordinatesthe nodes coordinates (with unit spacing)
[in]derivativesthe derivatives array (first index is the i^th stencil)
[out]resthe 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]selfthe element
[in]Xthe 1D position where to interpolate (should reside in coordinates)
[in]valuesthe values in the interval '1:nx'
[in]coordinatesthe 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_volumesthe 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]selfthe element
[in]Xthe position where to interpolate
[in]valuesthe values in the interval '1:nx'
[in]coordinatesthe coordinates of the center of the control volumes