Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
point_interpolator.f90 File Reference

Go to the source code of this file.

Data Types

type  point_interpolator::point_interpolator_t
 Field interpolator to arbitrary points within an element. Tailored for experimentation, and convenience, not performance Does all interpolation on the CPU. Only considers one element If performant interpolation on many elements is required Look at local_interpolator_t, similar but with less functionality. More...
 

Modules

module  point_interpolator
 Routines to interpolate fields on a given element on a point in that element with given r,s,t coordinates.
 

Functions/Subroutines

subroutine point_interpolator::point_interpolator_init (this, xh)
 Initialization of point interpolation.
 
subroutine point_interpolator::point_interpolator_free (this)
 Free pointers.
 
subroutine point_interpolator::point_interpolator_compute_weights (this, r, s, t, wr, ws, wt)
 Computes interpolation weights \( w_r, w_s, w_t \) for a list of points.
 
real(kind=rp) function, dimension(:), allocatable point_interpolator::point_interpolator_interpolate_scalar (this, rst, x)
 Interpolates a scalar field \( X \) on a set of \( N \) points \( \mathbf{r}_i , i\in[1,N]\). Returns a vector of N coordinates \( [x_i(\mathbf{r}_i)], i\in[1,N]\).
 
type(point_t) function, dimension(:), allocatable point_interpolator::point_interpolator_interpolate_vector (this, rst, x, y, z)
 Interpolates a vector field \( \vec f = (X,Y,Z) \) on a set of \( N \) points \( \mathbf{r}_i \). Returns an array of N points \( [x(\mathbf{r}_i), y(\mathbf{r}_i), z(\mathbf{r}_i)], i\in[1,N]\).
 
type(point_t) function point_interpolator::point_interpolator_interpolate_vector_jacobian (this, jac, rst, x, y, z)
 Interpolates a vector field \( \vec f = (X,Y,Z) \) and constructs the Jacobian at a point \( (r,s,t) \). Returns a vector \( [x(\mathbf{r}_i), y(\mathbf{r}_i), z(\mathbf{r}_i)], i\in[1,N]\).
 
real(kind=rp) function, dimension(3, 3) point_interpolator::point_interpolator_interpolate_jacobian (this, rst, x, y, z)
 Constructs the Jacobian, returns a 3-by-3 array where \( [J(\mathbf{r}]_{ij} = \frac{d\mathbf{x}_i}{d\mathbf{r}_j}\).