version 0.6.0
Loading...
Searching...
No Matches
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.
 
subroutine int_point_weno_3d_compute_smoothness_indicators (self, x, steps, coordinates, values, nstencils, res)
 Compute the SI for all the stencils.
 
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]derivatives*(optional)* the derivatives number: 0 (default) for value interpolation, 1 for first derivative, etc.
[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