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

Go to the source code of this file.

Data Types

type  global_interpolation::global_interpolation_t
 Implements global interpolation for arbitrary points in the domain. More...
 

Modules

module  global_interpolation
 Implements global_interpolation given a dofmap.
 

Functions/Subroutines

subroutine global_interpolation::global_interpolation_init_dof (this, dof, comm, tol, pad)
 Initialize the global interpolation object on a dofmap.
 
subroutine global_interpolation::global_interpolation_init_xyz (this, x, y, z, gdim, nelv, xh, comm, tol, pad)
 Initialize the global interpolation object on a set of coordinates.
 
subroutine global_interpolation::global_interpolation_free (this)
 Destructor.
 
subroutine global_interpolation::global_interpolation_free_points (this)
 Destructor for point arrays.
 
subroutine global_interpolation::global_interpolation_free_points_local (this)
 
subroutine global_interpolation::global_interpolation_find_common (this)
 Common routine for finding the points.
 
subroutine global_interpolation::global_interpolation_check_points (this, x, y, z)
 Check the points for validity This is used to check that the points are valid and that the interpolation is correct. It checks that the points are within the tolerance.
 
subroutine global_interpolation::global_interpolation_find_coords (this, x, y, z, n_points)
 Finds the corresponding r,s,t coordinates in the correct global element as well as which process that owns the point. After this the values at these points can be evaluated.
 
subroutine global_interpolation::global_interpolation_find_coords1d (this, x, y, z, n_points)
 Finds the corresponding r,s,t coordinates in the correct global element as well as which process that owns the point. After this the values at these points can be evaluated.
 
subroutine global_interpolation::global_interpolation_init_point_arrays (this)
 
subroutine global_interpolation::global_interpolation_find_xyz (this, xyz, n_points)
 Finds the corresponding r,s,t coordinates in the correct global element as well as which process that owns the point. After this the values at these points can be evaluated. If the locations of the points change this must be called again.
 
subroutine global_interpolation::global_interpolation_find_and_redist (this, xyz, n_points)
 Finds the corresponding r,s,t coordinates and redistributes the points to the owning rank in the correct global element as well as which process that owns the point. There will be some redundancy as for example xyz and xyz_local will have the same values After this the values at these points can be evaluated without MPI.
 
subroutine global_interpolation::global_interpolation_evaluate (this, interp_values, field, on_host)
 Evalute the interpolated value in the points given a field.
 
logical function global_interpolation::rst_cmp (rst1, rst2, res1, res2, tol)
 Compares two sets of rst coordinates and checks whether rst2 is better than rst1 given a tolerance res1 and res2 are the distances to the interpolated xyz coordinate and true xyz coord for point 1 and 2 tol specifies the range for the rst coordinate to be within: (r,s,t) in (-1+tol,1+tol)^3.
 

Variables

integer, parameter, public global_interpolation::glob_map_size = 4096