Neko  0.9.0
A portable framework for high-order spectral element flow simulations
octree Module Reference

Implements an Octree. More...

Data Types

type  oct_ptr_t
 
type  oct_t
 Defines an octree octant. More...
 
type  octree_t
 Defines an octree. More...
 

Functions/Subroutines

subroutine octree_init (t, width)
 Initialize an octree. More...
 
subroutine octree_free (t)
 Destroy an octree. More...
 
subroutine octree_insert (t, p)
 Insert a point p into the octree. More...
 
logical function octree_find (t, p)
 Find a point p in an octree. More...
 
recursive subroutine octree_oct_insert (o, p)
 Insert a point p into the octree rooted at o. More...
 
recursive integer function octree_oct_find (o, p)
 Find the octant containing a point p. More...
 
subroutine octree_oct_init (o, origin, width, level)
 Initialize an octant width a given width, origin and level. More...
 
recursive subroutine octree_free_oct (o)
 Deallocate an oct in an octree. More...
 
pure integer function octree_oct (oct, point)
 Return the octant for a given point. More...
 
pure logical function octree_oct_inside (oct, point)
 Return if a point is inside an octant. More...
 

Detailed Description

Fast search/lookup of points

Function/Subroutine Documentation

◆ octree_find()

logical function octree::octree_find ( class(octree_t), intent(in)  t,
type(point_t), intent(in)  p 
)
private

Definition at line 100 of file octree.f90.

Here is the call graph for this function:

◆ octree_free()

subroutine octree::octree_free ( class(octree_t), intent(inout)  t)
private

Definition at line 83 of file octree.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ octree_free_oct()

recursive subroutine octree::octree_free_oct ( type(oct_t), intent(inout), pointer  o)
private

Definition at line 196 of file octree.f90.

Here is the caller graph for this function:

◆ octree_init()

subroutine octree::octree_init ( class(octree_t), intent(inout)  t,
real(kind=dp), intent(in)  width 
)

Definition at line 69 of file octree.f90.

Here is the call graph for this function:

◆ octree_insert()

subroutine octree::octree_insert ( class(octree_t), intent(inout)  t,
type(point_t), intent(in)  p 
)
private

Definition at line 91 of file octree.f90.

Here is the call graph for this function:

◆ octree_oct()

pure integer function octree::octree_oct ( type(oct_t), intent(in), pointer  oct,
type(point_t), intent(in)  point 
)
private

Definition at line 218 of file octree.f90.

Here is the caller graph for this function:

◆ octree_oct_find()

recursive integer function octree::octree_oct_find ( type(oct_t), intent(in), pointer  o,
type(point_t), intent(in)  p 
)
private

Definition at line 151 of file octree.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ octree_oct_init()

subroutine octree::octree_oct_init ( type(oct_t), intent(inout), pointer  o,
type(point_t), intent(in)  origin,
real(kind=dp), intent(in)  width,
integer, intent(in)  level 
)
private

Definition at line 172 of file octree.f90.

Here is the caller graph for this function:

◆ octree_oct_insert()

recursive subroutine octree::octree_oct_insert ( type(oct_t), intent(inout), pointer  o,
type(point_t), intent(in)  p 
)
private

Definition at line 111 of file octree.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ octree_oct_inside()

pure logical function octree::octree_oct_inside ( type(oct_t), intent(in), pointer  oct,
type(point_t), intent(in)  point 
)
private

Definition at line 232 of file octree.f90.

Here is the caller graph for this function: