Computer for evaluating Interpolation Schemes. More...
Functions/Subroutines | |
double precision function | int_weno_compute_from_values (scheme, int_step, steps, values) |
Compute the WENO interpolation via the scheme by giving the associated field values. More... | |
double precision function | int_compute_from_values (scheme, int_step, steps, values) |
Compute the interpolation via the scheme by giving the associated field values. More... | |
double precision function | int_compute_from_array (scheme, int_step, step_array, array, index) |
Compute the interpolation via the scheme by giving the associated array, the step array (see below), the (reference) index where to compute the interpolation. | |
double precision function | int_weno_compute_from_array (scheme, int_step, step_array, array, index, FV) |
Compute the interpolation via the scheme by giving the associated array, the step array (see below), the index where to compute the FD. More... | |
double precision function | int_weno_compute_from_field (scheme, int_step, x_step_array, y_step_array, z_step_array, field, i, j, k, axis, FV) |
Compute the WENO interpolation via the scheme by giving the associated field, the step arrays for each dimension, the indices (position) and the direction (x,y or z). More... | |
double precision function | int_compute_from_field (scheme, int_step, x_step_array, y_step_array, z_step_array, field, i, j, k, axis, FV) |
Compute the interpolation via the scheme by giving the associated field, the step arrays for each dimension, the indices (position) and the direction (x,y or z). More... | |
double precision function | int_compute_from_field_shift (scheme, int_step, x_step_array, y_step_array, z_step_array, field, i, j, k, axis, FV, shift) |
Compute the interpolation via the scheme by giving the associated field, the step arrays for each dimension, the indices (position) and the direction (x,y or z). Apply a shift to the *_step_array (useful when the steps' indices are not aligned with the field's indices). More... | |
double precision function | int_weno_compute_point_from_field (scheme, x_pos_array, y_pos_array, z_pos_array, x_step_array, y_step_array, z_step_array, field, x, y, z, FV) |
Compute the WENO cross interpolation via the scheme by giving the associated field, the step arrays for each dimension, the position and the direction (x,y or z). More... | |
double precision function | int_weno_dcompute_point_from_field (schemeD, scheme, x_pos_array, y_pos_array, z_pos_array, x_step_array, y_step_array, z_step_array, field, x, y, z, axis, FV) |
Compute the WENO cross interpolation of the derivative via the scheme by giving the associated field, the step arrays for each dimension, the position and the direction (x,y or z). More... | |
double precision function | rec_compute_from_field (scheme, step, x_cv_array, y_cv_array, z_cv_array, field, i, j, k, axis) |
Compute the reconstruction via the scheme by giving the associated field, the step arrays for each dimension, the indices (position) and the direction (x,y or z). More... | |
integer function | compute_nearest_point_index (NX, x_pos, x) |
All the methods defined here are used to effectively compute/evaluate interpolation at grid nodes.
double precision function mod_interpolation_computer::int_compute_from_field | ( | class(t_int_scheme) | scheme, |
double precision, intent(in) | int_step, | ||
double precision, dimension(:), intent(in) | x_step_array, | ||
double precision, dimension(:), intent(in) | y_step_array, | ||
double precision, dimension(:), intent(in) | z_step_array, | ||
double precision, dimension(:,:,:), intent(in) | field, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j, | ||
integer, intent(in) | k, | ||
integer, intent(in) | axis, | ||
integer, intent(in) | FV | ||
) |
[in] | scheme | the interpolation scheme |
[in] | int_step | the distance (from the reference node) where to interpolate |
[in] | x_step_array | the discretization step array in the x direction (see "from_array" for specificity of FV method) |
[in] | y_step_array | the discretization step array in the y direction |
[in] | z_step_array | the discretization step array in the z direction |
[in] | field | the field \(\phi(i,j,k)\) to which apply the scheme at the given indices. |
[in] | i,j,k | the indices where to compute the interpolation |
[in] | axis | the axis (direction) \(axis={1,2,3}\) for \({x,y,z}\) |
[in] | FV | \({0,1}\) is 0 for Point and 1 for Reconstruction |
i,j,k
loop, because it switches for each direction! double precision function mod_interpolation_computer::int_compute_from_field_shift | ( | class(t_int_scheme) | scheme, |
double precision, intent(in) | int_step, | ||
double precision, dimension(:), intent(in) | x_step_array, | ||
double precision, dimension(:), intent(in) | y_step_array, | ||
double precision, dimension(:), intent(in) | z_step_array, | ||
double precision, dimension(:,:,:), intent(in) | field, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j, | ||
integer, intent(in) | k, | ||
integer, intent(in) | axis, | ||
integer, intent(in) | FV, | ||
integer, intent(in) | shift | ||
) |
[in] | scheme | the interpolation scheme |
[in] | int_step | the distance (from the reference node) where to interpolate |
[in] | x_step_array | the discretization step array in the x direction (see "from_array" for specificity of FV method) |
[in] | y_step_array | the discretization step array in the y direction |
[in] | z_step_array | the discretization step array in the z direction |
[in] | field | the field \(\phi(i,j,k)\) to which apply the scheme at the given indices. |
[in] | i,j,k | the indices where to compute the interpolation |
[in] | axis | the axis (direction) \(axis={1,2,3}\) for \({x,y,z}\) |
[in] | FV | \({0,1}\) is 0 for Point and 1 for Reconstruction |
[in] | shift | The shift for the steps array |
i,j,k
loop, because it switches for each direction! double precision function mod_interpolation_computer::int_compute_from_values | ( | class(t_int_scheme) | scheme, |
double precision, intent(in) | int_step, | ||
double precision, dimension(:), intent(in) | steps, | ||
double precision, dimension(:), intent(in) | values | ||
) |
[in] | scheme | the interpolation scheme |
[in] | int_step | the distance (from the reference node) where to interpolate |
[in] | steps | the discretization steps, with size(steps)==size(values)-1 |
[in] | values | the field values to which to apply the scheme. They must be of the same dimension as the scheme |
double precision function mod_interpolation_computer::int_weno_compute_from_array | ( | class(t_int_weno_scheme) | scheme, |
double precision, intent(in) | int_step, | ||
double precision, dimension(:), intent(in) | step_array, | ||
double precision, dimension(:), intent(in) | array, | ||
integer, intent(in) | index, | ||
integer, intent(in) | FV | ||
) |
[in] | scheme | the interpolation scheme |
[in] | int_step | the distance (from the reference node) where to interpolate |
[in] | step_array | the discretization step array where (if FV=0) step_array(i) is the step between array(i) and array(i+1) (or if FV=1) step_array(i) is the size of the \(i^th\) interval |
[in] | array | the array \(\phi(i)\) to which apply the scheme at the given indices. |
[in] | index | the index where to compute the FD |
[in] | FV | \({0,1}\) is 0 for Finite Differences and 1 for Finite Volumes |
double precision function mod_interpolation_computer::int_weno_compute_from_field | ( | class(t_int_weno_scheme) | scheme, |
double precision, intent(in) | int_step, | ||
double precision, dimension(:), intent(in) | x_step_array, | ||
double precision, dimension(:), intent(in) | y_step_array, | ||
double precision, dimension(:), intent(in) | z_step_array, | ||
double precision, dimension(:,:,:), intent(in) | field, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j, | ||
integer, intent(in) | k, | ||
integer, intent(in) | axis, | ||
integer, intent(in) | FV | ||
) |
[in] | scheme | the interpolation scheme |
[in] | int_step | the distance (from the reference node) where to interpolate |
[in] | x_step_array | the discretization step array in the x direction (see "from_array" for specificity of FV method) |
[in] | y_step_array | the discretization step array in the y direction |
[in] | z_step_array | the discretization step array in the z direction |
[in] | field | the field \(\phi(i,j,k)\) to which apply the scheme at the given indices. |
[in] | i,j,k | the indices where to compute the interpolation |
[in] | axis | the axis (direction) \(axis={1,2,3}\) for \({x,y,z}\) |
[in] | FV | \({0,1}\) is 0 for Point and 1 for Reconstruction |
i,j,k
loop, because it switches for each direction! double precision function mod_interpolation_computer::int_weno_compute_from_values | ( | class(t_int_weno_scheme) | scheme, |
double precision, intent(in) | int_step, | ||
double precision, dimension(:), intent(in) | steps, | ||
double precision, dimension(:), intent(in) | values | ||
) |
[in] | scheme | the WENO interpolation scheme |
[in] | int_step | the distance (from the reference node) where to interpolate |
[in] | int_step | the distance (from the reference node) where to interpolate |
[in] | steps | the discretization steps, with size(steps)==size(values)-1 |
[in] | values | the field values to which to apply the scheme. They must be of the same dimension as the scheme |
double precision function mod_interpolation_computer::int_weno_compute_point_from_field | ( | class(t_int_weno_scheme) | scheme, |
double precision, dimension(:), intent(in) | x_pos_array, | ||
double precision, dimension(:), intent(in) | y_pos_array, | ||
double precision, dimension(:), intent(in) | z_pos_array, | ||
double precision, dimension(:), intent(in) | x_step_array, | ||
double precision, dimension(:), intent(in) | y_step_array, | ||
double precision, dimension(:), intent(in) | z_step_array, | ||
double precision, dimension(:,:,:), intent(in) | field, | ||
double precision, intent(in) | x, | ||
double precision, intent(in) | y, | ||
double precision, intent(in) | z, | ||
integer, intent(in) | FV | ||
) |
[in] | scheme | the interpolation scheme |
[in] | x_pos_array | the position of the nodes in the x direction |
[in] | y_pos_array | the position of the nodes in the y direction |
[in] | z_pos_array | the position of the nodes in the z direction |
[in] | x_step_array | the discretization step array in the x direction (see "from_array" for specificity of FV method) |
[in] | y_step_array | the discretization step array in the y direction |
[in] | z_step_array | the discretization step array in the z direction |
[in] | field | the field \(\phi(i,j,k)\) to which apply the scheme at the given indices. |
[in] | x,y,z | the position where to compute the interpolation |
[in] | FV | \({0,1}\) is 0 for Point and 1 for Reconstruction |
i,j,k
loop, because it switches for each direction! double precision function mod_interpolation_computer::int_weno_dcompute_point_from_field | ( | class(t_int_weno_scheme) | schemeD, |
class(t_int_weno_scheme) | scheme, | ||
double precision, dimension(:), intent(in) | x_pos_array, | ||
double precision, dimension(:), intent(in) | y_pos_array, | ||
double precision, dimension(:), intent(in) | z_pos_array, | ||
double precision, dimension(:), intent(in) | x_step_array, | ||
double precision, dimension(:), intent(in) | y_step_array, | ||
double precision, dimension(:), intent(in) | z_step_array, | ||
double precision, dimension(:,:,:), intent(in) | field, | ||
double precision, intent(in) | x, | ||
double precision, intent(in) | y, | ||
double precision, intent(in) | z, | ||
integer, intent(in) | axis, | ||
integer, intent(in) | FV | ||
) |
[in] | scheme | the interpolation scheme |
[in] | schemeD | the interpolation derivative scheme |
[in] | x_pos_array | the position of the nodes in the x direction |
[in] | y_pos_array | the position of the nodes in the y direction |
[in] | z_pos_array | the position of the nodes in the z direction |
[in] | x_step_array | the discretization step array in the x direction (see "from_array" for specificity of FV method) |
[in] | y_step_array | the discretization step array in the y direction |
[in] | z_step_array | the discretization step array in the z direction |
[in] | field | the field \(\phi(i,j,k)\) to which apply the scheme at the given indices. |
[in] | x,y,z | the position where to compute the interpolation |
[in] | axis | the axis along which to interpolate (1, 2 or 3) |
[in] | FV | \({0,1}\) is 0 for Point and 1 for Reconstruction |
i,j,k
loop, because it switches for each direction! double precision function mod_interpolation_computer::rec_compute_from_field | ( | class(t_rec_scheme) | scheme, |
double precision, intent(in) | step, | ||
double precision, dimension(:), intent(in) | x_cv_array, | ||
double precision, dimension(:), intent(in) | y_cv_array, | ||
double precision, dimension(:), intent(in) | z_cv_array, | ||
double precision, dimension(:,:,:), intent(in) | field, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j, | ||
integer, intent(in) | k, | ||
integer, intent(in) | axis | ||
) |
[in] | scheme | the reconstruction scheme |
[in] | step | the distance (from the reference node) where to reconstruct |
[in] | x_cv_array | the control volume array in the x direction |
[in] | y_cv_array | the control volume array in the y direction |
[in] | z_cv_array | the control volume array in the z direction |
[in] | field | the field \(\phi(i,j,k)\) to which apply the scheme at the given indices. |
[in] | i,j,k | the indices where to compute the reconstruction |
[in] | axis | the axis (direction) \(axis={1,2,3}\) for \({x,y,z}\) |
i,j,k
loop, because it switches for each direction!