Routines to obtain interpolated values on a set of points with known rst coordinates in elements local to this process.
|
| type | local_interpolator_t |
| | Interpolation on a set of points with known rst coordinates in elements local to this process. Similar to point_interpolator, but prioritizes performance Only works with arrays of coordinates Performs interpolation with the configured NEKO_BCKND. More...
|
| |
|
| subroutine | local_interpolator_init (this, xh, r, s, t, n_points) |
| | Initialization of point interpolation.
|
| |
| subroutine | local_interpolator_free (this) |
| | Free pointers.
|
| |
| subroutine | local_interpolator_compute_weights (this, r, s, t) |
| | Computes interpolation weights \( w_r, w_s, w_t \) for a list of points.
|
| |
| subroutine | local_interpolator_evaluate (this, interp_values, el_list, field, nel) |
| | Interpolates a list of fields based on a set of element ids.
|
| |
◆ local_interpolator_compute_weights()
| subroutine local_interpolation::local_interpolator_compute_weights |
( |
class(local_interpolator_t), intent(inout) |
this, |
|
|
real(kind=rp), dimension(:), intent(in) |
r, |
|
|
real(kind=rp), dimension(:), intent(in) |
s, |
|
|
real(kind=rp), dimension(:), intent(in) |
t |
|
) |
| |
- Parameters
-
| r | local r-coordinates. |
| s | local s-coordinates. |
| t | local t-coordinates. |
| wr | Weights in the r-direction. |
| ws | Weights in the s-direction. |
| wt | Weights in the t-direction. |
- Note
wr, ws and wt must be arrays of dimensions (lx, N) where N is the number of points (size of the r,s,t arrays).
Definition at line 147 of file local_interpolation.f90.
◆ local_interpolator_evaluate()
| subroutine local_interpolation::local_interpolator_evaluate |
( |
class(local_interpolator_t), intent(inout) |
this, |
|
|
real(kind=rp), dimension(this%n_points), intent(inout) |
interp_values, |
|
|
integer, dimension(this%n_points), intent(in) |
el_list, |
|
|
real(kind=rp), dimension(this%xh%lxyz, nel), intent(inout) |
field, |
|
|
integer, intent(in) |
nel |
|
) |
| |
- Parameters
-
| rst | r,s,t coordinates. |
| el_owners | Array of element ids that "own" a given point i. |
| sampled_fields_list | A list of fields to interpolate. |
| wr | Weights in the r-direction of shape (lx, N) where N is the number of points to interpolate. |
| ws | Weights in the s-direction of shape (lx, N) where N is the number of points to interpolate. |
| wt | Weights in the t-direction of shape (lx, N) where N is the number of points to interpolate. |
- Note
- The weights can be generated with the subroutine
compute_weights. Assumes weights have been computed for these points.
Definition at line 175 of file local_interpolation.f90.
◆ local_interpolator_free()
◆ local_interpolator_init()
| subroutine local_interpolation::local_interpolator_init |
( |
class(local_interpolator_t), intent(inout), target |
this, |
|
|
type(space_t), intent(in), target |
xh, |
|
|
real(kind=rp), dimension(n_points) |
r, |
|
|
real(kind=rp), dimension(n_points) |
s, |
|
|
real(kind=rp), dimension(n_points) |
t, |
|
|
integer, intent(in) |
n_points |
|
) |
| |