Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
local_interpolation Module Reference

Routines to obtain interpolated values on a set of points with known rst coordinates in elements local to this process.

Data Types

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

Functions/Subroutines

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.
 

Function/Subroutine Documentation

◆ 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
rlocal r-coordinates.
slocal s-coordinates.
tlocal t-coordinates.
wrWeights in the r-direction.
wsWeights in the s-direction.
wtWeights 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.

Here is the call graph for this function:

◆ 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
rstr,s,t coordinates.
el_ownersArray of element ids that "own" a given point i.
sampled_fields_listA list of fields to interpolate.
wrWeights in the r-direction of shape (lx, N) where N is the number of points to interpolate.
wsWeights in the s-direction of shape (lx, N) where N is the number of points to interpolate.
wtWeights 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.

Here is the call graph for this function:

◆ local_interpolator_free()

subroutine local_interpolation::local_interpolator_free ( class(local_interpolator_t), intent(inout this)

Definition at line 118 of file local_interpolation.f90.

Here is the call graph for this function:

◆ 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 
)
Parameters
xhFunction space.

Definition at line 83 of file local_interpolation.f90.