The type for generic point WENO interpolation (3D) that has to be derived. More...
Data Types | |
| type | t_int_point_weno_3d |
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) |
The type for generic point WENO interpolation (3D) that has to be derived.
| double precision function type_int_point_weno_3d::int_point_weno_3d_apply | ( | class(t_int_point_weno_3d), intent(in) | self, |
| double precision, dimension(:,:,:), intent(in) | values ) |
| 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 ) |
Compute the SI for all the stencils.
| [in] | self | the element |
| [in] | x | the distances (with unit spacing) to the first point of the stencil; index: (ndims) |
| [in] | steps | the steps between nodes; index: (npoints-1,ndims) |
| [in] | coordinates | the nodes coordinates (with unit spacing); index: (npoints,ndims) |
| [in] | values | the values of the field; index: (npoints,npoints,npoints) |
| [in] | nstencils | the number of stencils in each dimension; index: (3) |
| [out] | res | the resulting smoothness_indicator array associated to the stencils; index: (si,sj,sk) |
| subroutine type_int_point_weno_3d::int_point_weno_3d_compute_stencil | ( | class(t_int_point_weno_3d), intent(inout) | self, |
| double precision, dimension(:), intent(in) | coordinates_x, | ||
| double precision, dimension(:), intent(in) | coordinates_y, | ||
| double precision, dimension(:), intent(in) | coordinates_z, | ||
| 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 ) |
| subroutine type_int_point_weno_3d::int_point_weno_3d_construct | ( | class(t_int_point_weno_3d), intent(inout) | self, |
| integer, intent(in) | index_start, | ||
| integer, intent(in) | index_end, | ||
| integer, intent(in) | nstencils, | ||
| integer, intent(in) | spatial_dimension ) |
Initialize a 2D point interpolant.
| 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 ) |
Directly compute the interpolation at the given position. The result is the interpolation value.
| [in,out] | self | the element |
| [in] | X | the 3D position where to interpolate (should reside in coordinates_{x,y,z}) |
| [in] | values | the values in the interval '1:nx,1:ny,1:nz' |
| [in] | coordinates_x | the x coordinates of the center of the control volumes; in '1:nx' |
| [in] | coordinates_y | the y coordinates of the center of the control volumes; in '1:ny' |
| [in] | coordinates_z | the 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_x | the width of the control volumes in the x direction |
| [in] | cv_y | the width of the control volumes in the y direction |
| [in] | cv_z | the width of the control volumes in the y direction |
| class(t_int_point_3d) function, pointer type_int_point_weno_3d::select_lagrange_interpolant_3d | ( | integer, intent(in) | npoints | ) |