Point interpolation preparation module.
|
pure subroutine | interpolation_set_coefficients (data, xxi, yyi, zzi, xo, yo, zo) |
| Compute interpolation coefficients. More...
|
|
subroutine | interpolation_set_coefficients_vec (data, xxi, yyi, zzi, pos) |
| Compute interpolation coefficients. More...
|
|
pure subroutine | interpolation_set_coefficients_dx (data, xxi, yyi, zzi, xo, yo, zo) |
| Compute x-partial derivative coefficients. More...
|
|
pure subroutine | interpolation_set_coefficients_dy (data, xxi, yyi, zzi, xo, yo, zo) |
| Compute y-partial derivative coefficients. More...
|
|
pure subroutine | interpolation_set_coefficients_dz (data, xxi, yyi, zzi, xo, yo, zo) |
| Compute z-partial derivative coefficients. More...
|
|
pure subroutine | interpolation_set_stencil_centered (data, xxi, yyi, zzi, xo, yo, zo) |
| Set centered interpolation stencils. More...
|
|
subroutine | interpolation_set_stencil_centered_vec (data, xxi, yyi, zzi, pos) |
| Set centered interpolation stencils. More...
|
|
pure subroutine | interpolation_set_stencil_oriented (data, i_pi, j_pi, k_pi, tx, ty, tz) |
| Set oriented interpolation stencils. More...
|
|
◆ interpolation_set_coefficients()
pure subroutine mod_point_interpolation_prepare::interpolation_set_coefficients |
( |
type(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 |
|
) |
| |
- Parameters
-
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | interpolation point coordinates. |
◆ interpolation_set_coefficients_dx()
pure subroutine mod_point_interpolation_prepare::interpolation_set_coefficients_dx |
( |
type(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 |
|
) |
| |
- Parameters
-
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | point coordinates. |
◆ interpolation_set_coefficients_dy()
pure subroutine mod_point_interpolation_prepare::interpolation_set_coefficients_dy |
( |
type(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 |
|
) |
| |
- Parameters
-
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | point coordinates. |
◆ interpolation_set_coefficients_dz()
pure subroutine mod_point_interpolation_prepare::interpolation_set_coefficients_dz |
( |
type(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 |
|
) |
| |
- Parameters
-
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | point coordinates. |
◆ interpolation_set_coefficients_vec()
subroutine mod_point_interpolation_prepare::interpolation_set_coefficients_vec |
( |
type(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 |
|
) |
| |
◆ interpolation_set_stencil_centered()
pure subroutine mod_point_interpolation_prepare::interpolation_set_stencil_centered |
( |
type(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
- Parameters
-
[in,out] | data | interpolation data. |
[in] | xxi,yyi,zzi | Cartesian mesh coordinates. |
[in] | xo,yo,zo | point coordinates. |
- Todo:
- : Print a graceful exit message when nx == 1. Currently, it should produce an array overflow.
◆ interpolation_set_stencil_centered_vec()
subroutine mod_point_interpolation_prepare::interpolation_set_stencil_centered_vec |
( |
type(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 |
|
) |
| |
◆ interpolation_set_stencil_oriented()
pure subroutine mod_point_interpolation_prepare::interpolation_set_stencil_oriented |
( |
type(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
.
- Todo:
- : Treat domain boundaries.