Neko  0.9.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_xyz => global_interpolation_init_xyz
 Initialize the global interpolation object on a dofmap. More...
 
procedure, pass(this) init_dof => global_interpolation_init_dof
 
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...
 
generic init => init_dof, init_xyz
 Generic constructor. More...
 

Public Attributes

type(array_ptr_tx
 X coordinates from which to interpolate. More...
 
type(array_ptr_ty
 Y coordinates from which to interpolate. More...
 
type(array_ptr_tz
 Z coordinates from which to interpolate. More...
 
integer gdim
 Geometric dimension of the simulation. More...
 
integer nelv
 Number of elements. 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 = 5d-13
 Tolerance for distance squared between original and interpolated point. More...
 

Detailed Description

Definition at line 54 of file global_interpolation.F90.

Member Function/Subroutine Documentation

◆ evaluate()

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

Definition at line 114 of file global_interpolation.F90.

◆ find_points()

generic global_interpolation::global_interpolation_t::find_points

Definition at line 112 of file global_interpolation.F90.

◆ find_points_and_redist()

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

Definition at line 104 of file global_interpolation.F90.

◆ find_points_coords()

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

Definition at line 109 of file global_interpolation.F90.

◆ find_points_xyz()

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

Definition at line 111 of file global_interpolation.F90.

◆ free()

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

Definition at line 101 of file global_interpolation.F90.

◆ free_points()

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

Definition at line 103 of file global_interpolation.F90.

◆ init()

generic global_interpolation::global_interpolation_t::init

Definition at line 117 of file global_interpolation.F90.

◆ init_dof()

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

Definition at line 99 of file global_interpolation.F90.

◆ init_xyz()

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

Definition at line 98 of file global_interpolation.F90.

Member Data Documentation

◆ all_points_local

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

Definition at line 70 of file global_interpolation.F90.

◆ dist2

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

Definition at line 91 of file global_interpolation.F90.

◆ el_owner

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

Definition at line 84 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 85 of file global_interpolation.F90.

◆ error_code

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

Definition at line 93 of file global_interpolation.F90.

◆ gdim

integer global_interpolation::global_interpolation_t::gdim

Definition at line 62 of file global_interpolation.F90.

◆ gs_handle

integer global_interpolation::global_interpolation_t::gs_handle

Definition at line 73 of file global_interpolation.F90.

◆ gs_init

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

Definition at line 74 of file global_interpolation.F90.

◆ local_interp

type(local_interpolator_t) global_interpolation::global_interpolation_t::local_interp

Definition at line 68 of file global_interpolation.F90.

◆ n_points

integer global_interpolation::global_interpolation_t::n_points

Definition at line 77 of file global_interpolation.F90.

◆ nelv

integer global_interpolation::global_interpolation_t::nelv

Definition at line 64 of file global_interpolation.F90.

◆ proc_owner

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

Definition at line 82 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 88 of file global_interpolation.F90.

◆ tol

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

Definition at line 95 of file global_interpolation.F90.

◆ x

type(array_ptr_t) global_interpolation::global_interpolation_t::x

Definition at line 56 of file global_interpolation.F90.

◆ xh

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

Definition at line 66 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 80 of file global_interpolation.F90.

◆ y

type(array_ptr_t) global_interpolation::global_interpolation_t::y

Definition at line 58 of file global_interpolation.F90.

◆ z

type(array_ptr_t) global_interpolation::global_interpolation_t::z

Definition at line 60 of file global_interpolation.F90.


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