version 0.6.0
type_int_point_weno_3d Module Reference

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

Functions/Subroutines

subroutine int_point_weno_3d_construct (self, index_start, index_end, nstencils, spatial_dimension)
 Initialize a 2D point interpolant.
 
double precision function int_point_weno_3d_apply (self, values)
 
subroutine int_point_weno_3d_compute_stencil (self, coordinates_x, coordinates_y, coordinates_z, derivatives, cv_x, cv_y, cv_z)
 
double precision function int_point_weno_3d_interpolate (self, X, coordinates_x, coordinates_y, coordinates_z, values, derivatives, cv_x, cv_y, cv_z)
 Directly compute the interpolation at the given position. The result is the interpolation value. More...
 
subroutine int_point_weno_3d_compute_smoothness_indicators (self, x, steps, coordinates, values, nstencils, res)
 Compute the SI for all the stencils. More...
 
class(t_int_point_3d) function, pointer select_lagrange_interpolant_3d (Npoints)
 

Function/Subroutine Documentation

◆ int_point_weno_3d_compute_smoothness_indicators()

subroutine type_int_point_weno_3d::int_point_weno_3d_compute_smoothness_indicators ( class(t_int_point_weno_3d), intent(in)  self,
double precision, dimension(:), intent(in)  x,
double precision, dimension(:,:), intent(in)  steps,
double precision, dimension(:,:), intent(in)  coordinates,
double precision, dimension(:,:,:), intent(in)  values,
integer, dimension(3), intent(in)  nstencils,
double precision, dimension(:,:,:), intent(inout)  res 
)
Parameters
[in]selfthe element
[in]xthe distances (with unit spacing) to the first point of the stencil; index: (ndims)
[in]stepsthe steps between nodes; index: (npoints-1,ndims)
[in]coordinatesthe nodes coordinates (with unit spacing); index: (npoints,ndims)
[in]valuesthe values of the field; index: (npoints,npoints,npoints)
[in]nstencilsthe number of stencils in each dimension; index: (3)
[out]resthe resulting smoothness_indicator array associated to the stencils; index: (si,sj,sk)

◆ int_point_weno_3d_interpolate()

double precision function type_int_point_weno_3d::int_point_weno_3d_interpolate ( class(t_int_point_weno_3d), intent(inout)  self,
double precision, dimension(3), intent(in)  X,
double precision, dimension(:), intent(in)  coordinates_x,
double precision, dimension(:), intent(in)  coordinates_y,
double precision, dimension(:), intent(in)  coordinates_z,
double precision, dimension(:,:,:), intent(in)  values,
integer, dimension(:), intent(in), optional  derivatives,
double precision, dimension(:), intent(in), optional  cv_x,
double precision, dimension(:), intent(in), optional  cv_y,
double precision, dimension(:), intent(in), optional  cv_z 
)
Parameters
[in,out]selfthe element
[in]Xthe 3D position where to interpolate (should reside in coordinates_{x,y,z})
[in]valuesthe values in the interval '1:nx,1:ny,1:nz'
[in]coordinates_xthe x coordinates of the center of the control volumes; in '1:nx'
[in]coordinates_ythe y coordinates of the center of the control volumes; in '1:ny'
[in]coordinates_zthe z coordinates of the center of the control volumes; in '1:nz'
[in]cv_xthe width of the control volumes in the x direction
[in]cv_ythe width of the control volumes in the y direction
[in]cv_zthe width of the control volumes in the y direction
Todo:
MCO: deal with reconstruction schemes for 3D