Point interpolation preparation module. More...
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. | |
Point interpolation preparation module.
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 ) |
Compute interpolation coefficients.
[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 ) |
Compute x-partial derivative coefficients.
[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 ) |
Compute y-partial derivative coefficients.
[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 ) |
Compute z-partial derivative coefficients.
[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 ) |
Compute interpolation coefficients.
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 ) |
Set centered interpolation stencils.
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 ) |
Set centered interpolation stencils.
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 ) |
Set oriented interpolation stencils.
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. |