Documentation for module tmc_tree_types

module handels definition of the tree nodes for the global and the subtrees binary tree parent element / !> accepted (acc) / \ not accepted (nacc) / !> child child / \ / !> tree creation assuming acceptance (acc) AND rejectance (nacc) of configuration if configuration is accepted: new configuration (child on acc) on basis of last configuration (one level up) if configuration is rejected: child on nacc on basis of last accepted element (last element which is on acc brach of its parent element) The global tree handles all configurations of different subtrees. The structure element "conf" is an array related to the temperature (sorted) and points to the subtree elements.

source: tmc_tree_types.F
Loading...

public Types:

elem_array_type
...
global_tree_type
...
gt_elem_list_type
...
tree_type
...
elem_list_type
...

public Subroutines/Functions:

SUBROUTINE
add_to_list (elem, list, temp_ind, nr)
add a certain element to the specified element list at the beginning
SUBROUTINE
clean_list (list)
clean a certain element element list
reads the TMC sub tree structure element unformated in file
prints out the TMC sub tree structure element unformated in file

Parameters:

INTEGER
:: status_accepted = 122
INTEGER
:: status_accepted_result = 123
INTEGER
:: status_calculated = 113
INTEGER
:: status_calculate_energy = 101
INTEGER
:: status_calculate_md = 112
INTEGER
:: status_calculate_nmc_steps = 111
INTEGER
:: status_calc_approx_ener = 102
INTEGER
:: status_canceled_ener = 130
INTEGER
:: status_canceled_nmc = 131
INTEGER
:: status_cancel_ener = 132
INTEGER
:: status_cancel_nmc = 133
INTEGER
:: status_created = 100
INTEGER
:: status_deleted = 140
INTEGER
:: status_deleted_result = 141
INTEGER
:: status_frozen = -1
INTEGER
:: status_ok = 42
INTEGER
:: status_proton_disorder = 1
INTEGER
:: status_rejected = 121
INTEGER
:: status_rejected_result = 120

public Types:

TYPE :: elem_array_type

...


TYPE(tree_type),
POINTER :: elem => NULL() ...
LOGICAL
:: busy = .FALSE. ...
LOGICAL
:: canceled = .FALSE. ...
REAL(dp)
:: start_time ...

TYPE :: elem_list_type

...


TYPE(tree_type),
POINTER :: elem => NULL() ...
POINTER :: next => NULL() ...
INTEGER
:: temp_ind ...
INTEGER
:: nr ...

TYPE :: global_tree_type

...


POINTER :: parent => NULL() ...
POINTER :: acc => NULL() ...
POINTER :: nacc => NULL() ...
INTEGER
:: stat = -99 ...
LOGICAL
:: swaped ...
INTEGER
:: mv_conf = -54321 ...
INTEGER
:: mv_next_conf = -2345 ...
DIMENSION(:), ALLOCATABLE :: conf ...
LOGICAL,
DIMENSION(:), ALLOCATABLE :: conf_n_acc ...
INTEGER
:: nr ...
REAL(dp),
DIMENSION(3,2,3) :: rng_seed ...
REAL(dp)
:: rnd_nr ...
REAL(dp)
:: prob_acc ...
REAL(dp)
:: temp ...

TYPE :: gt_elem_list_type

...


POINTER :: gt_elem => NULL() ...
POINTER :: next => NULL() ...

TYPE :: tree_type

...


TYPE(tree_type),
POINTER :: parent => NULL() ...
TYPE(tree_type),
POINTER :: acc => NULL() ...
TYPE(tree_type),
POINTER :: nacc => NULL() ...
INTEGER
:: move_type ...
INTEGER
:: stat = STATUS_CREATED ...
REAL(dp),
DIMENSION(:), POINTER :: subbox_center ...
REAL(dp),
DIMENSION(:), POINTER :: pos ...
INTEGER,
DIMENSION(:), POINTER :: mol ...
REAL(dp),
DIMENSION(:), POINTER :: vel ...
REAL(dp),
DIMENSION(:), POINTER :: frc ...
REAL(dp),
DIMENSION(:), POINTER :: dipole ...
INTEGER,
DIMENSION(:), POINTER :: elem_stat ...
INTEGER
:: nr ...
REAL(dp),
DIMENSION(3,2,3) :: rng_seed ...
INTEGER
:: sub_tree_nr ...
INTEGER
:: temp_created = 0 ...
INTEGER,
POINTER :: next_elem_nr ...
REAL(dp),
DIMENSION(:), POINTER :: box_scale ...
REAL(dp)
:: potential ...
REAL(dp)
:: e_pot_approx = 0.0_DP ...
REAL(dp)
:: ekin ...
REAL(dp)
:: ekin_before_md ...
REAL(dp),
DIMENSION(4) :: scf_energies ...
INTEGER
:: scf_energies_count ...
POINTER :: gt_nodes_references => NULL() ...

SUBROUTINEadd_to_list(elem, list, temp_ind, nr)

add a certain element to the specified element list at the beginning

Arguments:
TYPE(tree_type),
POINTER
:: elem the sub tree element, to be added
POINTER
:: list ...
INTEGER,
OPTIONAL
:: temp_ind ...
INTEGER,
OPTIONAL
:: nr ...

SUBROUTINEclean_list(list)

clean a certain element element list

Arguments:
POINTER
:: list ...

SUBROUTINEread_subtree_elem_unformated(elem, io_unit)

reads the TMC sub tree structure element unformated in file

Arguments:
TYPE(tree_type),
POINTER
:: elem ...
INTEGER
:: io_unit ...

SUBROUTINEwrite_subtree_elem_unformated(elem, io_unit)

prints out the TMC sub tree structure element unformated in file

Arguments:
TYPE(tree_type),
POINTER
:: elem ...
INTEGER
:: io_unit ...