Neko
0.8.1
A portable framework for high-order spectral element flow simulations
|
Routines to obtain interpolated values on a set of points with known rst coordinates in elements local to this process. More...
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. More... | |
subroutine | local_interpolator_free (this) |
Free pointers. More... | |
subroutine | local_interpolator_compute_weights (this, r, s, t) |
Computes interpolation weights \( w_r, w_s, w_t \) for a list of points. More... | |
subroutine | local_interpolator_evaluate (this, interp_values, el_list, field, nel) |
Interpolates a list of fields based on a set of element ids. More... | |
Routines to obtain interpolated values on a set of points with known rst coordinates in elements local to this process.
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 | ||
) |
Computes interpolation weights \( w_r, w_s, w_t \) for a list of points.
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. |
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.
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 | ||
) |
Interpolates a list of fields based on a set of element ids.
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. |
compute_weights
. Assumes weights have been computed for these points. Definition at line 175 of file local_interpolation.f90.
subroutine local_interpolation::local_interpolator_free | ( | class(local_interpolator_t), intent(inout) | this | ) |
Free pointers.
Definition at line 118 of file local_interpolation.f90.
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 | ||
) |
Initialization of point interpolation.
xh | Function space. |
Definition at line 83 of file local_interpolation.f90.