Point interpolation preparation module.
Functions/Subroutines | |
pure subroutine | interpolation_set_coefficients (data, xxi, yyi, zzi, xo, yo, zo) |
Compute interpolation coefficients. | |
subroutine | interpolation_set_coefficients_vec (data, xxi, yyi, zzi, pos) |
Compute interpolation coefficients. | |
pure subroutine | interpolation_set_coefficients_dx (data, xxi, yyi, zzi, xo, yo, zo) |
Compute x-partial derivative coefficients. | |
pure subroutine | interpolation_set_coefficients_dy (data, xxi, yyi, zzi, xo, yo, zo) |
Compute y-partial derivative coefficients. | |
pure subroutine | interpolation_set_coefficients_dz (data, xxi, yyi, zzi, xo, yo, zo) |
Compute z-partial derivative coefficients. | |
pure subroutine | interpolation_set_stencil_centered (data, xxi, yyi, zzi, xo, yo, zo) |
Set centered interpolation stencils. | |
subroutine | interpolation_set_stencil_centered_vec (data, xxi, yyi, zzi, pos) |
Set centered interpolation stencils. | |
pure subroutine | interpolation_set_stencil_oriented (data, i_pi, j_pi, k_pi, tx, ty, tz) |
Set oriented interpolation stencils. | |
pure subroutine mod_point_interpolation_prepare::interpolation_set_coefficients | ( | type(t_interpolation_data), intent(inout) | data, |
double precision, dimension(:), intent(in) | xxi, | ||
double precision, dimension(:), intent(in) | yyi, | ||
double precision, dimension(:), intent(in) | zzi, | ||
double precision, intent(in) | xo, | ||
double precision, intent(in) | yo, | ||
double precision, intent(in) | zo ) |
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | interpolation point coordinates. |
pure subroutine mod_point_interpolation_prepare::interpolation_set_coefficients_dx | ( | type(t_interpolation_data), intent(inout) | data, |
double precision, dimension(:), intent(in) | xxi, | ||
double precision, dimension(:), intent(in) | yyi, | ||
double precision, dimension(:), intent(in) | zzi, | ||
double precision, intent(in) | xo, | ||
double precision, intent(in) | yo, | ||
double precision, intent(in) | zo ) |
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | point coordinates. |
pure subroutine mod_point_interpolation_prepare::interpolation_set_coefficients_dy | ( | type(t_interpolation_data), intent(inout) | data, |
double precision, dimension(:), intent(in) | xxi, | ||
double precision, dimension(:), intent(in) | yyi, | ||
double precision, dimension(:), intent(in) | zzi, | ||
double precision, intent(in) | xo, | ||
double precision, intent(in) | yo, | ||
double precision, intent(in) | zo ) |
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | point coordinates. |
pure subroutine mod_point_interpolation_prepare::interpolation_set_coefficients_dz | ( | type(t_interpolation_data), intent(inout) | data, |
double precision, dimension(:), intent(in) | xxi, | ||
double precision, dimension(:), intent(in) | yyi, | ||
double precision, dimension(:), intent(in) | zzi, | ||
double precision, intent(in) | xo, | ||
double precision, intent(in) | yo, | ||
double precision, intent(in) | zo ) |
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | point coordinates. |
subroutine mod_point_interpolation_prepare::interpolation_set_coefficients_vec | ( | type(t_interpolation_data), intent(inout) | data, |
double precision, dimension(:), intent(in), target | xxi, | ||
double precision, dimension(:), intent(in), target | yyi, | ||
double precision, dimension(:), intent(in), target | zzi, | ||
double precision, dimension(3), intent(in) | pos ) |
Wrapper for a 3D vector.
pure subroutine mod_point_interpolation_prepare::interpolation_set_stencil_centered | ( | type(t_interpolation_data), intent(inout) | data, |
double precision, dimension(:), intent(in) | xxi, | ||
double precision, dimension(:), intent(in) | yyi, | ||
double precision, dimension(:), intent(in) | zzi, | ||
double precision, intent(in) | xo, | ||
double precision, intent(in) | yo, | ||
double precision, intent(in) | zo ) |
The present routine finds appropriate values for the members [i_pi], [j_pi], and [k_pi] of an interpolation_data instance. (These members represent the leftmost index the interpolation subdomain.) They are chosen to put the interpolation point in the middle of the interpolation subdomain as long as the subdomain remains inside the domain. See the examples below:
Grid: --|---------|------X--|---------|--- Indices: i_pi i_pi+ordx Coord: xo Grid: |------X--|---------|---------|--- Indices: i_pi=1 i_pi+ordx Coord: xo Grid: --|---------|---------|------X--| Indices: i_pi i_pi+ordx=nx Coord: xo
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | point coordinates. |
subroutine mod_point_interpolation_prepare::interpolation_set_stencil_centered_vec | ( | type(t_interpolation_data), intent(inout) | data, |
double precision, dimension(:), intent(in) | xxi, | ||
double precision, dimension(:), intent(in) | yyi, | ||
double precision, dimension(:), intent(in) | zzi, | ||
double precision, dimension(3), intent(in) | pos ) |
Wrapper for a 3D vector
pure subroutine mod_point_interpolation_prepare::interpolation_set_stencil_oriented | ( | type(t_interpolation_data), intent(inout) | data, |
integer, intent(in) | i_pi, | ||
integer, intent(in) | j_pi, | ||
integer, intent(in) | k_pi, | ||
double precision, intent(in) | tx, | ||
double precision, intent(in) | ty, | ||
double precision, intent(in) | tz ) |
The present routine finds appropriate values for the members [i_pi], [j_pi], and [k_pi] of an interpolation_data instance. (These members represent the leftmost index the interpolation subdomain.) In this routine, you provide a subdomain boudary with i_pi
, and the subdomain is extended in the direction given by tx
.
tx
is positive: Grid: --|------X--|---------|---------|--- Indices: i_pi i_pi+ordx Coord: xo
tx
is strictly negative: Grid: --|--------|---------|-------X--|--- Indices: i_pi i_pi+ordx Coord: xo
data | [interpolation_data] instance. | |
[in] | i_pi,j_pi,k_pi | subdomain pivot. |
[in] | tx,ty,tz | extension direction. |