Neko  0.8.99
A portable framework for high-order spectral element flow simulations
global_interpolation::global_interpolation_t Type Reference

Implements global interpolation for arbitrary points in the domain. More...

Collaboration diagram for global_interpolation::global_interpolation_t:

Public Member Functions

procedure, pass(this) init => global_interpolation_init
 Initialize the global interpolation object on a dofmap. More...
 
procedure, pass(this) free => global_interpolation_free
 Destructor. More...
 
procedure, pass(this) free_points => global_interpolation_free_points
 Destructor for arrays related to evaluation points. More...
 
procedure, pass(this) find_points_and_redist => global_interpolation_find_and_redist
 
procedure, pass(this) find_points_coords => global_interpolation_find_coords
 Finds the process owner, global element number, and local rst coordinates for each point. Sets up correct values to be able to evalute the points. More...
 
procedure, pass(this) find_points_xyz => global_interpolation_find_xyz
 
generic find_points => find_points_xyz, find_points_coords
 
procedure, pass(this) evaluate => global_interpolation_evaluate
 Evaluate the value of the field in each point. More...
 

Public Attributes

type(dofmap_t), pointer dof
 Dofmap from which we interpolate the points. More...
 
type(mesh_t), pointer mesh
 Mesh on which we interpolate. More...
 
type(space_t), pointer xh
 Space. More...
 
type(local_interpolator_tlocal_interp
 Interpolator for local points. More...
 
logical all_points_local = .false.
 If all points are local on this PE. More...
 
integer gs_handle
 
logical gs_init = .false.
 
integer n_points
 Components related to the points we want to evalute Number of points we want to evaluate. More...
 
real(kind=rp), dimension(:,:), allocatable xyz
 x,y,z coordinates, findpts format More...
 
integer, dimension(:), allocatable proc_owner
 List of owning processes. More...
 
integer, dimension(:), allocatable el_owner
 List of owning elements. More...
 
type(c_ptr) el_owner_d = c_null_ptr
 
real(kind=rp), dimension(:,:), allocatable rst
 r,s,t coordinates findpts format More...
 
real(kind=rp), dimension(:), allocatable dist2
 Distance squared between original and interpolated point (in xyz space) (according to gslib) More...
 
integer, dimension(:), allocatable error_code
 Error code for each point, needed for gslib. More...
 
real(kind=rp) tol = 5e-13
 Tolerance for distance squared between original and interpolated point. More...
 

Detailed Description

Definition at line 53 of file global_interpolation.F90.

Member Function/Subroutine Documentation

◆ evaluate()

procedure, pass(this) global_interpolation::global_interpolation_t::evaluate

Definition at line 105 of file global_interpolation.F90.

◆ find_points()

generic global_interpolation::global_interpolation_t::find_points

Definition at line 103 of file global_interpolation.F90.

◆ find_points_and_redist()

procedure, pass(this) global_interpolation::global_interpolation_t::find_points_and_redist

Definition at line 96 of file global_interpolation.F90.

◆ find_points_coords()

procedure, pass(this) global_interpolation::global_interpolation_t::find_points_coords

Definition at line 101 of file global_interpolation.F90.

◆ find_points_xyz()

procedure, pass(this) global_interpolation::global_interpolation_t::find_points_xyz

Definition at line 102 of file global_interpolation.F90.

◆ free()

procedure, pass(this) global_interpolation::global_interpolation_t::free

Definition at line 93 of file global_interpolation.F90.

◆ free_points()

procedure, pass(this) global_interpolation::global_interpolation_t::free_points

Definition at line 95 of file global_interpolation.F90.

◆ init()

procedure, pass(this) global_interpolation::global_interpolation_t::init

Definition at line 91 of file global_interpolation.F90.

Member Data Documentation

◆ all_points_local

logical global_interpolation::global_interpolation_t::all_points_local = .false.

Definition at line 63 of file global_interpolation.F90.

◆ dist2

real(kind=rp), dimension(:), allocatable global_interpolation::global_interpolation_t::dist2

Definition at line 84 of file global_interpolation.F90.

◆ dof

type(dofmap_t), pointer global_interpolation::global_interpolation_t::dof

Definition at line 55 of file global_interpolation.F90.

◆ el_owner

integer, dimension(:), allocatable global_interpolation::global_interpolation_t::el_owner

Definition at line 77 of file global_interpolation.F90.

◆ el_owner_d

type(c_ptr) global_interpolation::global_interpolation_t::el_owner_d = c_null_ptr

Definition at line 78 of file global_interpolation.F90.

◆ error_code

integer, dimension(:), allocatable global_interpolation::global_interpolation_t::error_code

Definition at line 86 of file global_interpolation.F90.

◆ gs_handle

integer global_interpolation::global_interpolation_t::gs_handle

Definition at line 66 of file global_interpolation.F90.

◆ gs_init

logical global_interpolation::global_interpolation_t::gs_init = .false.

Definition at line 67 of file global_interpolation.F90.

◆ local_interp

type(local_interpolator_t) global_interpolation::global_interpolation_t::local_interp

Definition at line 61 of file global_interpolation.F90.

◆ mesh

type(mesh_t), pointer global_interpolation::global_interpolation_t::mesh

Definition at line 57 of file global_interpolation.F90.

◆ n_points

integer global_interpolation::global_interpolation_t::n_points

Definition at line 70 of file global_interpolation.F90.

◆ proc_owner

integer, dimension(:), allocatable global_interpolation::global_interpolation_t::proc_owner

Definition at line 75 of file global_interpolation.F90.

◆ rst

real(kind=rp), dimension(:,:), allocatable global_interpolation::global_interpolation_t::rst
Note
: When replacing gs we can change format

Definition at line 81 of file global_interpolation.F90.

◆ tol

real(kind=rp) global_interpolation::global_interpolation_t::tol = 5e-13

Definition at line 88 of file global_interpolation.F90.

◆ xh

type(space_t), pointer global_interpolation::global_interpolation_t::xh

Definition at line 59 of file global_interpolation.F90.

◆ xyz

real(kind=rp), dimension(:,:), allocatable global_interpolation::global_interpolation_t::xyz
Note
: When replacing gs we can change format

Definition at line 73 of file global_interpolation.F90.


The documentation for this type was generated from the following file: