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 |
|
) |
| |