ORB5  v4.9.4
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. More...
 
recursive subroutine deallocate_quadtree (this_quadtree)
 Deallocates an item in the quadtree recursively. More...
 
recursive subroutine quadtree_insert (this_quadtree, array, index)
 Inserts a new item in the quadtree. More...
 
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. More...
 
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. More...
 
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, intent(in)  xmin,
real, intent(in)  xmax,
real, intent(in)  ymin,
real, 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, 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, dimension(:,:)  part,
integer  npart,
real  pos1min,
real  pos1max,
real  pos2min,
real  pos2max,
real  hv,
integer  maxppc 
)
+ Here is the call graph for this function:

◆ quadtree_smoothing() [2/2]

subroutine, public quadtree_mod::quadtree_smoothing ( real, dimension(:,:)  part,
integer  npart,
real  pos1min,
real  pos1max,
real  pos2min,
real  pos2max,
real  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, dimension(:,:), intent(inout)  array,
real, 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, dimension(:,:), intent(inout)  array,
real, 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
private

◆ pos2

integer quadtree_mod::pos2 = 2
private

◆ weight1

integer quadtree_mod::weight1 = 3
private

◆ weight2

integer quadtree_mod::weight2 = 4
private