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_3arrays (this, xh, r, s, t, n_points) | 
|   | Initialization of point interpolation.  
  | 
|   | 
| subroutine  | local_interpolator_init_1array (this, xh, rst, 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, on_host) | 
|   | Interpolates a list of fields based on a set of element ids.  
  | 
|   | 
| subroutine  | jacobian (jac, rst, x, y, z, n_pts, xh) | 
|   | Constructs the Jacobian, returns a 3-by-3 times number of points where \( [J(\mathbf{r}]_{ij} = \frac{d\mathbf{x}_i}{d\mathbf{r}_j}\).  
  | 
|   | 
| subroutine  | jacobian_inverse (jacinv, rst, x, y, z, n_pts, xh) | 
|   | 
◆ jacobian()
  
  
      
        
          | subroutine local_interpolation::jacobian  | 
          ( | 
          real(kind=rp), dimension(3,3, n_pts), intent(out)  | 
          jac,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(3, n_pts), intent(inout)  | 
          rst,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, n_pts), intent(inout)  | 
          x,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, n_pts), intent(inout)  | 
          y,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, n_pts), intent(inout)  | 
          z,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          n_pts,  | 
         
        
           | 
           | 
          type(space_t), intent(inout)  | 
          xh  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
- Parameters
 - 
  
    | rst | r,s,t coordinates.  | 
    | X | Values of the field \( X \) at points.  | 
    | Y | Values of the field \( Y \) at points.  | 
    | Z | Values of the field \( Z \) at points.  | 
  
   
Definition at line 242 of file local_interpolation.f90.
 
 
◆ jacobian_inverse()
  
  
      
        
          | subroutine local_interpolation::jacobian_inverse  | 
          ( | 
          real(kind=rp), dimension(3,3, n_pts), intent(out)  | 
          jacinv,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(3, n_pts), intent(inout)  | 
          rst,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, n_pts), intent(inout)  | 
          x,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, n_pts), intent(inout)  | 
          y,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, n_pts), intent(inout)  | 
          z,  | 
         
        
           | 
           | 
          integer  | 
          n_pts,  | 
         
        
           | 
           | 
          type(space_t), intent(inout)  | 
          xh  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ 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  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
- 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 184 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,  | 
         
        
           | 
           | 
          logical, intent(in)  | 
          on_host  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
- 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 221 of file local_interpolation.f90.
 
 
◆ local_interpolator_free()
◆ local_interpolator_init_1array()
  
  
      
        
          | subroutine local_interpolation::local_interpolator_init_1array  | 
          ( | 
          class(local_interpolator_t), intent(inout), target  | 
          this,  | 
         
        
           | 
           | 
          type(space_t), intent(in), target  | 
          xh,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(3,n_points), intent(in)  | 
          rst,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          n_points  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ local_interpolator_init_3arrays()
      
        
          | subroutine local_interpolation::local_interpolator_init_3arrays  | 
          ( | 
          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  | 
        
        
           | 
          ) | 
           |  |