|
| 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, private | evaluate_pi (i_pi, nx, ordx, xxi, xo) |
| |
Point interpolation preparation module.
| 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
- 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.
| 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.
- Parameters
-
| data | [interpolation_data] instance. |
| [in] | i_pi,j_pi,k_pi | subdomain pivot. |
| [in] | tx,ty,tz | extension direction. |
- Todo
- : Treat domain boundaries.