Neko  0.8.1
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

Implements global interpolation for arbitrary points in the domain.

Definition at line 53 of file global_interpolation.F90.

Member Function/Subroutine Documentation

◆ evaluate()

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

Evaluate the value of the field in each point.

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

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.

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

Destructor.

Definition at line 93 of file global_interpolation.F90.

◆ free_points()

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

Destructor for arrays related to evaluation points.

Definition at line 95 of file global_interpolation.F90.

◆ init()

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

Initialize the global interpolation object on a dofmap.

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.

If all points are local on this PE.

Definition at line 63 of file global_interpolation.F90.

◆ dist2

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

Distance squared between original and interpolated point (in xyz space) (according to gslib)

Definition at line 84 of file global_interpolation.F90.

◆ dof

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

Dofmap from which we interpolate the points.

Definition at line 55 of file global_interpolation.F90.

◆ el_owner

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

List of owning elements.

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

Error code for each point, needed for gslib.

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

Interpolator for local points.

Definition at line 61 of file global_interpolation.F90.

◆ mesh

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

Mesh on which we interpolate.

Definition at line 57 of file global_interpolation.F90.

◆ n_points

integer global_interpolation::global_interpolation_t::n_points

Components related to the points we want to evalute Number of points we want to evaluate.

Definition at line 70 of file global_interpolation.F90.

◆ proc_owner

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

List of owning processes.

Definition at line 75 of file global_interpolation.F90.

◆ rst

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

r,s,t coordinates findpts format

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

Tolerance for distance squared between original and interpolated point.

Definition at line 88 of file global_interpolation.F90.

◆ xh

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

Space.

Definition at line 59 of file global_interpolation.F90.

◆ xyz

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

x,y,z coordinates, findpts format

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: