Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
cartesian_pe_finder::cartesian_pe_finder_t Type Referenceabstract

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

Inheritance diagram for cartesian_pe_finder::cartesian_pe_finder_t:
Collaboration diagram for cartesian_pe_finder::cartesian_pe_finder_t:

Public Member Functions

procedure, pass(thisinit (this, x, y, z, nelv, xh, comm, n_boxes, padding)
 Initialize the global interpolation object on a set of coordinates.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thisfind (this, my_point, pe_candidates)
 
procedure, pass(thisfind_batch (this, points, n_points, points_at_pe, n_points_pe)
 
procedure(pe_finder_free), deferred, pass free (this)
 
procedure(pe_finder_find), deferred, pass find (this, my_point, pe_candidates)
 
procedure(pe_finder_find_batch), deferred, pass find_batch (this, points, n_points, points_at_pe, n_points_pe)
 

Public Attributes

real(kind=dp) padding
 Which communicator to find things on.
 
integer(kind=i8) glob_n_boxes
 global number of boxes
 
integer(kind=i8) n_boxes
 
integer n_boxes_per_pe
 
integer nelv
 
integer offset_el
 
real(kind=rp) max_x_global
 
real(kind=rp) max_y_global
 
real(kind=rp) max_z_global
 
real(kind=rp) min_x_global
 
real(kind=rp) min_y_global
 
real(kind=rp) min_z_global
 
real(kind=xp) res_x
 
real(kind=xp) res_y
 
real(kind=xp) res_z
 
type(i8_mpi_t), dimension(:), allocatable recv_buf
 
type(i8_mpi_t), dimension(:), allocatable send_buf
 
type(stack_i4_t), dimension(:), allocatable pe_map
 
integer pe_size
 
integer pe_rank
 
type(mpi_comm) comm
 

Detailed Description

Definition at line 74 of file cartesian_pe_finder.f90.

Member Function/Subroutine Documentation

◆ find() [1/2]

procedure, pass(this) cartesian_pe_finder::cartesian_pe_finder_t::find ( class(cartesian_pe_finder_t), intent(inout this,
type(point_t), intent(in my_point,
type(stack_i4_t), intent(inout pe_candidates 
)

Definition at line 97 of file cartesian_pe_finder.f90.

◆ find() [2/2]

procedure(pe_finder_find), deferred, pass pe_finder::pe_finder_t::find ( class(pe_finder_t), intent(inout this,
type(point_t), intent(in my_point,
type(stack_i4_t), intent(inout pe_candidates 
)
pure virtualinherited

Definition at line 51 of file pe_finder.f90.

◆ find_batch() [1/2]

procedure, pass(this) cartesian_pe_finder::cartesian_pe_finder_t::find_batch ( class(cartesian_pe_finder_t), intent(inout this,
real(kind=rp), dimension(3,n_points), intent(in points,
integer, intent(in n_points,
type(stack_i4_t), dimension(0:(this%pe_size-1)), intent(inout points_at_pe,
integer, dimension(0:(this%pe_size-1)), intent(inout n_points_pe 
)

Definition at line 98 of file cartesian_pe_finder.f90.

◆ find_batch() [2/2]

procedure(pe_finder_find_batch), deferred, pass pe_finder::pe_finder_t::find_batch ( class(pe_finder_t), intent(inout this,
real(kind=rp), dimension(3,n_points), intent(in points,
integer, intent(in n_points,
type(stack_i4_t), dimension(0:(this%pe_size-1)), intent(inout points_at_pe,
integer, dimension(0:(this%pe_size-1)), intent(inout n_points_pe 
)
pure virtualinherited

Definition at line 52 of file pe_finder.f90.

◆ free() [1/2]

procedure, pass(this) cartesian_pe_finder::cartesian_pe_finder_t::free ( class(cartesian_pe_finder_t), intent(inout this)

Definition at line 96 of file cartesian_pe_finder.f90.

◆ free() [2/2]

procedure(pe_finder_free), deferred, pass pe_finder::pe_finder_t::free ( class(pe_finder_t), intent(inout this)
pure virtualinherited

Definition at line 50 of file pe_finder.f90.

◆ init()

procedure, pass(this) cartesian_pe_finder::cartesian_pe_finder_t::init ( class(cartesian_pe_finder_t), intent(inout this,
real(kind=rp), dimension(:), intent(in), target  x,
real(kind=rp), dimension(:), intent(in), target  y,
real(kind=rp), dimension(:), intent(in), target  z,
integer, intent(in nelv,
type(space_t), intent(in), target  xh,
type(mpi_comm), intent(in), optional  comm,
integer, intent(in n_boxes,
real(kind=dp), intent(in padding 
)
Parameters
xx-coordinates.
yy-coordinates.
zz-coordinates.
gdimGeometric dimension.
nelvNumber of elements of the mesh in which to search for the points.
XhSpace on which to interpolate.
tolTolerance for Newton iterations.

Definition at line 95 of file cartesian_pe_finder.f90.

Member Data Documentation

◆ comm

type(mpi_comm) pe_finder::pe_finder_t::comm
inherited

Definition at line 48 of file pe_finder.f90.

◆ glob_n_boxes

integer(kind=i8) cartesian_pe_finder::cartesian_pe_finder_t::glob_n_boxes

Definition at line 78 of file cartesian_pe_finder.f90.

◆ max_x_global

real(kind=rp) cartesian_pe_finder::cartesian_pe_finder_t::max_x_global

Definition at line 84 of file cartesian_pe_finder.f90.

◆ max_y_global

real(kind=rp) cartesian_pe_finder::cartesian_pe_finder_t::max_y_global

Definition at line 84 of file cartesian_pe_finder.f90.

◆ max_z_global

real(kind=rp) cartesian_pe_finder::cartesian_pe_finder_t::max_z_global

Definition at line 84 of file cartesian_pe_finder.f90.

◆ min_x_global

real(kind=rp) cartesian_pe_finder::cartesian_pe_finder_t::min_x_global

Definition at line 85 of file cartesian_pe_finder.f90.

◆ min_y_global

real(kind=rp) cartesian_pe_finder::cartesian_pe_finder_t::min_y_global

Definition at line 85 of file cartesian_pe_finder.f90.

◆ min_z_global

real(kind=rp) cartesian_pe_finder::cartesian_pe_finder_t::min_z_global

Definition at line 85 of file cartesian_pe_finder.f90.

◆ n_boxes

integer(kind=i8) cartesian_pe_finder::cartesian_pe_finder_t::n_boxes

Definition at line 79 of file cartesian_pe_finder.f90.

◆ n_boxes_per_pe

integer cartesian_pe_finder::cartesian_pe_finder_t::n_boxes_per_pe

Definition at line 81 of file cartesian_pe_finder.f90.

◆ nelv

integer cartesian_pe_finder::cartesian_pe_finder_t::nelv

Definition at line 82 of file cartesian_pe_finder.f90.

◆ offset_el

integer cartesian_pe_finder::cartesian_pe_finder_t::offset_el

Definition at line 83 of file cartesian_pe_finder.f90.

◆ padding

real(kind=dp) cartesian_pe_finder::cartesian_pe_finder_t::padding

Definition at line 76 of file cartesian_pe_finder.f90.

◆ pe_map

type(stack_i4_t), dimension(:), allocatable cartesian_pe_finder::cartesian_pe_finder_t::pe_map

Definition at line 92 of file cartesian_pe_finder.f90.

◆ pe_rank

integer pe_finder::pe_finder_t::pe_rank
inherited

Definition at line 47 of file pe_finder.f90.

◆ pe_size

integer pe_finder::pe_finder_t::pe_size
inherited

Definition at line 46 of file pe_finder.f90.

◆ recv_buf

type(i8_mpi_t), dimension(:), allocatable cartesian_pe_finder::cartesian_pe_finder_t::recv_buf

Definition at line 90 of file cartesian_pe_finder.f90.

◆ res_x

real(kind=xp) cartesian_pe_finder::cartesian_pe_finder_t::res_x

Definition at line 88 of file cartesian_pe_finder.f90.

◆ res_y

real(kind=xp) cartesian_pe_finder::cartesian_pe_finder_t::res_y

Definition at line 88 of file cartesian_pe_finder.f90.

◆ res_z

real(kind=xp) cartesian_pe_finder::cartesian_pe_finder_t::res_z

Definition at line 88 of file cartesian_pe_finder.f90.

◆ send_buf

type(i8_mpi_t), dimension(:), allocatable cartesian_pe_finder::cartesian_pe_finder_t::send_buf

Definition at line 91 of file cartesian_pe_finder.f90.


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