(git:6a2e663)
tmc_tree_build Module Reference

tree nodes creation, deallocation, references etc. More...

Functions/Subroutines

subroutine, public allocate_new_sub_tree_node (tmc_params, next_el, nr_dim)
 allocates an elements of the subtree element structure More...
 
subroutine, public deallocate_sub_tree_node (tree_elem)
 deallocates an elements of the subtree element structure More...
 
subroutine, public init_tree_mod (start_elem, tmc_env, job_counts, worker_timings)
 routine initiate the global and subtrees with the first elements More...
 
subroutine, public finalize_init (gt_tree_ptr, tmc_env)
 distributes the initial energy to all subtree (if no restart) and call analysis for this element (write trajectory...) More...
 
subroutine, public create_new_gt_tree_node (tmc_env, stat, new_elem, reactivation_cc_count)
 creates new global tree element and if needed new subtree element More...
 
recursive subroutine, public remove_unused_g_tree (begin_ptr, end_ptr, removed, tmc_env)
 deletes the no more used global tree nodes beside the result nodes from begin_ptr to end_ptr More...
 
subroutine, public remove_all_trees (working_elem_list, tmc_env)
 deallocates the no more used tree nodes beside the result nodes from begin_ptr to end_ptr in global and subtrees More...
 
subroutine, public finalize_trees (tmc_env)
 deallocating every tree node of every trees (clean up) More...
 

Detailed Description

tree nodes creation, deallocation, references etc.

  • we distinguish two kinds of tree nodes: global and sub tree nodes (because we also are able to do parallel tempering)
  • global tree nodes consists of pointers to sub tree nodes
  • sub tree nodes consists of position arrays, potential energy, etc.
  • furthermore the sub tree elements have references the all global tree elements referring to them
  • for tree element details see tree_types.F
  • for creating we always start with the global tree element (if not already exist)
  • for each new global tree element (depending on the move type):
    • two sub tree elements are swapped (Parallel Tempering) (in global tree element creation)
    • the volume of a subtree element is changed (directly in sub tree element creation)
    • positions in one subtree element changes (in sub tree elem creation or NMC)
    • ...
  • sub tree elements will be deleted only if no reference to any global tree element exist anymore
    History
    11.2012 created [Mandes Schoenherr]
    Author
    Mandes

Function/Subroutine Documentation

◆ allocate_new_sub_tree_node()

subroutine, public tmc_tree_build::allocate_new_sub_tree_node ( type(tmc_param_type), pointer  tmc_params,
type(tree_type), pointer  next_el,
integer  nr_dim 
)

allocates an elements of the subtree element structure

Parameters
tmc_paramsstructure for storing all (global) parameters
next_el...
nr_dim...
Author
Mandes 11.2012

Definition at line 159 of file tmc_tree_build.F.

Here is the caller graph for this function:

◆ deallocate_sub_tree_node()

subroutine, public tmc_tree_build::deallocate_sub_tree_node ( type(tree_type), pointer  tree_elem)

deallocates an elements of the subtree element structure

Parameters
tree_elem...
Author
Mandes 11.2012

Definition at line 219 of file tmc_tree_build.F.

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

◆ init_tree_mod()

subroutine, public tmc_tree_build::init_tree_mod ( type(tree_type), pointer  start_elem,
type(tmc_env_type), pointer  tmc_env,
integer, dimension(:)  job_counts,
real(kind=dp), dimension(4)  worker_timings 
)

routine initiate the global and subtrees with the first elements

Parameters
start_elem...
tmc_envstructure for storing all (global) parameters
job_counts...
worker_timings...
Author
Mandes 11.2012

Definition at line 262 of file tmc_tree_build.F.

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

◆ finalize_init()

subroutine, public tmc_tree_build::finalize_init ( type(global_tree_type), pointer  gt_tree_ptr,
type(tmc_env_type), pointer  tmc_env 
)

distributes the initial energy to all subtree (if no restart) and call analysis for this element (write trajectory...)

Parameters
gt_tree_ptrglobal tree head (initial configuration)
tmc_envmaster environment for restart (if restart the subtree heads are not equal), result counts and lists
Author
Mandes 12.2012

Definition at line 422 of file tmc_tree_build.F.

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

◆ create_new_gt_tree_node()

subroutine, public tmc_tree_build::create_new_gt_tree_node ( type(tmc_env_type), pointer  tmc_env,
integer, intent(out)  stat,
type(global_tree_type), intent(out), pointer  new_elem,
integer  reactivation_cc_count 
)

creates new global tree element and if needed new subtree element

Parameters
tmc_envTMC environment with parameters and pointers to gt element
statreturn status value
new_elemreturn gt element
reactivation_cc_countcounting the reactivation of subtree elements
Author
Mandes 12.2012

Definition at line 486 of file tmc_tree_build.F.

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

◆ remove_unused_g_tree()

recursive subroutine, public tmc_tree_build::remove_unused_g_tree ( type(global_tree_type), pointer  begin_ptr,
type(global_tree_type), pointer  end_ptr,
logical  removed,
type(tmc_env_type), pointer  tmc_env 
)

deletes the no more used global tree nodes beside the result nodes from begin_ptr to end_ptr

Parameters
begin_ptrstart of the tree region to be cleaned
end_ptrend of the tree region to be cleaned
removedretun value if brance is clean
tmc_envtmc environment
Author
Mandes 12.2012

Definition at line 1128 of file tmc_tree_build.F.

Here is the caller graph for this function:

◆ remove_all_trees()

subroutine, public tmc_tree_build::remove_all_trees ( type(elem_array_type), dimension(:), pointer  working_elem_list,
type(tmc_env_type), pointer  tmc_env 
)

deallocates the no more used tree nodes beside the result nodes from begin_ptr to end_ptr in global and subtrees

Parameters
working_elem_listlist of actual calculating elements for canceling
tmc_envTMC environment
Author
Mandes 12.2012

Definition at line 1410 of file tmc_tree_build.F.

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

◆ finalize_trees()

subroutine, public tmc_tree_build::finalize_trees ( type(tmc_env_type), pointer  tmc_env)

deallocating every tree node of every trees (clean up)

Parameters
tmc_envTMC environment structure
Author
Mandes 01.2013

Definition at line 1582 of file tmc_tree_build.F.

Here is the caller graph for this function: