Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
aabb_pe_finder Module Reference

Implements aabb_pe_finder given a dofmap.

Data Types

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

Functions/Subroutines

subroutine aabb_pe_finder_init (this, x, y, z, nelv, xh, comm, padding)
 Initialize the global interpolation object on a set of coordinates.
 
subroutine aabb_pe_finder_free (this)
 Destructor.
 
subroutine aabb_pe_finder_find_candidates (this, my_point, pe_candidates)
 Find pe candidates.
 
subroutine aabb_pe_finder_find_candidates_batch (this, points, n_points, points_at_pe, n_points_pe)
 

Variables

integer, parameter, public glob_map_size = 4096
 Minimum number of total boxes in the aabb tree.
 

Function/Subroutine Documentation

◆ aabb_pe_finder_find_candidates()

subroutine aabb_pe_finder::aabb_pe_finder_find_candidates ( class(aabb_pe_finder_t), intent(inout this,
type(point_t), intent(in my_point,
type(stack_i4_t), intent(inout pe_candidates 
)
private
Parameters
my_pointPoint to find candidates for.
pe_candidatesCandidates for the point.

Definition at line 238 of file aabb_pe_finder.f90.

◆ aabb_pe_finder_find_candidates_batch()

subroutine aabb_pe_finder::aabb_pe_finder_find_candidates_batch ( class(aabb_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 
)
private

Check which ranks might have this point

Definition at line 253 of file aabb_pe_finder.f90.

◆ aabb_pe_finder_free()

subroutine aabb_pe_finder::aabb_pe_finder_free ( class(aabb_pe_finder_t), intent(inout this)
private

Definition at line 226 of file aabb_pe_finder.f90.

◆ aabb_pe_finder_init()

subroutine aabb_pe_finder::aabb_pe_finder_init ( class(aabb_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,
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.

At least 2 boxes

Traverse the local tree and find ther top boxes

Set the boxes to be empty

Get boxes from all ranks

Create global tree for each rank

Definition at line 92 of file aabb_pe_finder.f90.

Variable Documentation

◆ glob_map_size

integer, parameter, public aabb_pe_finder::glob_map_size = 4096

Definition at line 59 of file aabb_pe_finder.f90.