ORB5  4.00
Loading...
Searching...
No Matches
quadtree_mod Module Reference

Data Types

type  quadtree_box

Functions/Subroutines

subroutine initialise_quadtree (this_quadtree, parent, xmin, xmax, ymin, ymax, max_num_el)
 Initialize quadtree_box.
recursive subroutine deallocate_quadtree (this_quadtree)
 Deallocates an item in the quadtree recursively.
recursive subroutine quadtree_insert (this_quadtree, array, index)
 Inserts a new item in the quadtree.
recursive subroutine quadtree_traversal (this_quadtree, array, sigma, do_2w)
 Apply function on all elements if at lowest level. Else go to the four children.
subroutine, public quadtree_smoothing (part, npart, pos1min, pos1max, pos2min, pos2max, sigma, maxppc, do_2w, diagnose, diagnose_array)
recursive subroutine quadtree_diagnose (this_quadtree, max_depth, num_leaves)
recursive subroutine quadtree_traversal (this_quadtree, array, sigma)
 Apply function on all elements if at lowest level. Else go to the four children.
subroutine, public quadtree_smoothing (part, npart, pos1min, pos1max, pos2min, pos2max, hv, maxppc)

Variables

integer pos1 = 1
integer pos2 = 2
integer weight1 = 3
integer weight2 = 4

Function/Subroutine Documentation

◆ deallocate_quadtree()

recursive subroutine quadtree_mod::deallocate_quadtree ( type (quadtree_box), pointer this_quadtree)
private

Deallocates an item in the quadtree recursively.

Parameters
[in]this_quadtreeQuadtree which is to be deallocated
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialise_quadtree()

subroutine quadtree_mod::initialise_quadtree ( type(quadtree_box), pointer this_quadtree,
type(quadtree_box), pointer parent,
real(kind=r8), intent(in) xmin,
real(kind=r8), intent(in) xmax,
real(kind=r8), intent(in) ymin,
real(kind=r8), intent(in) ymax,
integer max_num_el )
private

Initialize quadtree_box.

Parameters
[in]xminMinimum x coordinate of box
[in]xmaxMaximum x coordinate of box
[in]yminMinimum y coordinate of box
[in]ymaxMaximum y coordinate of box
[in]max_num_elMaximum number of elements in the box
[out]this_quadtreeRoot quadtree box with no elements inside
Here is the call graph for this function:
Here is the caller graph for this function:

◆ quadtree_diagnose()

recursive subroutine quadtree_mod::quadtree_diagnose ( type(quadtree_box), pointer this_quadtree,
integer, intent(inout) max_depth,
integer, intent(inout) num_leaves )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ quadtree_insert()

recursive subroutine quadtree_mod::quadtree_insert ( type (quadtree_box), pointer this_quadtree,
real(kind=r8), dimension(:,:) array,
integer, intent(in) index )
private

Inserts a new item in the quadtree.

Parameters
[in]this_quadtreeQuadtree in which item is to be insterted
[in]arrayArray containing elements to be insterted
[in]indexInteger giving access to the array describing element to be inserted
Here is the call graph for this function:
Here is the caller graph for this function:

◆ quadtree_smoothing() [1/2]

subroutine, public quadtree_mod::quadtree_smoothing ( real(kind=r8), dimension(:,:) part,
integer npart,
real(kind=r8) pos1min,
real(kind=r8) pos1max,
real(kind=r8) pos2min,
real(kind=r8) pos2max,
real(kind=r8) hv,
integer maxppc )
Here is the call graph for this function:

◆ quadtree_smoothing() [2/2]

subroutine, public quadtree_mod::quadtree_smoothing ( real(kind=r8), dimension(:,:) part,
integer npart,
real(kind=r8) pos1min,
real(kind=r8) pos1max,
real(kind=r8) pos2min,
real(kind=r8) pos2max,
real(kind=r8) sigma,
integer maxppc,
logical, intent(in) do_2w,
logical, intent(in) diagnose,
integer, dimension(4), intent(inout) diagnose_array )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ quadtree_traversal() [1/2]

recursive subroutine quadtree_mod::quadtree_traversal ( type(quadtree_box), pointer this_quadtree,
real(kind=r8), dimension(:,:), intent(inout) array,
real(kind=r8), intent(in) sigma )
private

Apply function on all elements if at lowest level. Else go to the four children.

Parameters
[in]this_quadtreequadtree_box which is being traversed
[in]arrayArray which will be operated on during quadtree traversal.
[in]sigmaDecay factor for smoothing of the order of a velocity cell
Here is the call graph for this function:

◆ quadtree_traversal() [2/2]

recursive subroutine quadtree_mod::quadtree_traversal ( type(quadtree_box), pointer this_quadtree,
real(kind=r8), dimension(:,:), intent(inout) array,
real(kind=r8), intent(in) sigma,
logical, intent(in) do_2w )
private

Apply function on all elements if at lowest level. Else go to the four children.

Parameters
[in]this_quadtreequadtree_box which is being traversed
[in]arrayArray which will be operated on during quadtree traversal.
[in]sigmaDecay factor for smoothing of the order of a velocity cell
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ pos1

integer quadtree_mod::pos1 = 1

◆ pos2

integer quadtree_mod::pos2 = 2
private

◆ weight1

integer quadtree_mod::weight1 = 3
private

◆ weight2

integer quadtree_mod::weight2 = 4
private