(git:6a2e663)
tmc_move_handle Module Reference

acceptance ratio handling of the different Monte Carlo Moves types For each move type and each temperature average acceptance is determined. For each move is a weight (mv_weight) defined, which defines the probability to perform the move. We distinguish between moves performed on the exact potential (move on the master, energy on the energy worker) and NMC moves, which are performed on the worker using the approximate potential. The energies are calculated as usual on the energy worker with the exact potential. The move probabilities to perform a NMC is stored in the NMC move. The probilities of the single move types (performed with the approximate potential) are only compared within the NMC move More...

Functions/Subroutines

subroutine, public read_init_move_types (tmc_params, tmc_section)
 initialization of the different moves, with sizes and probabilities More...
 
subroutine, public check_moves (tmc_params, move_types, mol_array)
 checks if the moves are possible More...
 
subroutine, public finalize_mv_types (tmc_params)
 deallocating the module variables More...
 
subroutine, public print_move_types (init, file_io, tmc_params)
 routine pronts out the probabilities and sized for each type and temperature the output is divided into two parts the init, which is printed out at the beginning of the programm and .NOT.init which are the probabilites and counter printed out every print cycle More...
 
subroutine, public prob_update (move_types, pt_el, elem, acc, subbox, prob_opt)
 adaptation of acceptance probability of every kind of change/move and the overall acc prob, using the acceptance and rejectance information More...
 
subroutine, public add_mv_prob (move_types, prob_opt, mv_counter, acc_counter, subbox_counter, subbox_acc_counter)
 add the actual moves to the average probabilities More...
 
subroutine, public clear_move_probs (move_types)
 clear the statistics of accepting/rejection moves because worker statistics will be add separately on masters counters More...
 
integer function, public select_random_move_type (move_types, rnd)
 selects a move type related to the weighings and the entered rnd nr More...
 

Detailed Description

acceptance ratio handling of the different Monte Carlo Moves types For each move type and each temperature average acceptance is determined. For each move is a weight (mv_weight) defined, which defines the probability to perform the move. We distinguish between moves performed on the exact potential (move on the master, energy on the energy worker) and NMC moves, which are performed on the worker using the approximate potential. The energies are calculated as usual on the energy worker with the exact potential. The move probabilities to perform a NMC is stored in the NMC move. The probilities of the single move types (performed with the approximate potential) are only compared within the NMC move

History
11.2012 created [Mandes Schoenherr]
Author
Mandes

Function/Subroutine Documentation

◆ read_init_move_types()

subroutine, public tmc_move_handle::read_init_move_types ( type(tmc_param_type), pointer  tmc_params,
type(section_vals_type), pointer  tmc_section 
)

initialization of the different moves, with sizes and probabilities

Parameters
tmc_params...
tmc_section...
Author
Mandes 10.2013

Definition at line 72 of file tmc_move_handle.F.

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

◆ check_moves()

subroutine, public tmc_move_handle::check_moves ( type(tmc_param_type), pointer  tmc_params,
type(tmc_move_type), pointer  move_types,
integer, dimension(:), pointer  mol_array 
)

checks if the moves are possible

Parameters
tmc_params...
move_types...
mol_array...
Author
Mandes 10.2013

Definition at line 328 of file tmc_move_handle.F.

Here is the caller graph for this function:

◆ finalize_mv_types()

subroutine, public tmc_move_handle::finalize_mv_types ( type(tmc_param_type), pointer  tmc_params)

deallocating the module variables

Parameters
tmc_params...
Author
Mandes 11.2012
Note
deallocating the module variables

Definition at line 406 of file tmc_move_handle.F.

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

◆ print_move_types()

subroutine, public tmc_move_handle::print_move_types ( logical  init,
integer  file_io,
type(tmc_param_type), pointer  tmc_params 
)

routine pronts out the probabilities and sized for each type and temperature the output is divided into two parts the init, which is printed out at the beginning of the programm and .NOT.init which are the probabilites and counter printed out every print cycle

Parameters
init...
file_io...
tmc_params...
Author
Mandes 11.2012

Definition at line 426 of file tmc_move_handle.F.

Here is the caller graph for this function:

◆ prob_update()

subroutine, public tmc_move_handle::prob_update ( type(tmc_move_type), pointer  move_types,
type(global_tree_type), optional, pointer  pt_el,
type(tree_type), optional, pointer  elem,
logical, intent(in), optional  acc,
logical, intent(in), optional  subbox,
logical, intent(in)  prob_opt 
)

adaptation of acceptance probability of every kind of change/move and the overall acc prob, using the acceptance and rejectance information

Parameters
move_typesstructure for storing sizes and probabilities of moves
pt_elglobal tree element
elemsub tree element
accinput if the element is accepted
subboxlogical if move was with respect to the sub box
prob_optif the average probability should be adapted
Author
Mandes 12.2012

Definition at line 704 of file tmc_move_handle.F.

Here is the caller graph for this function:

◆ add_mv_prob()

subroutine, public tmc_move_handle::add_mv_prob ( type(tmc_move_type), pointer  move_types,
logical  prob_opt,
integer, dimension(:, :), optional  mv_counter,
integer, dimension(:, :), optional  acc_counter,
integer, dimension(:, :), optional  subbox_counter,
integer, dimension(:, :), optional  subbox_acc_counter 
)

add the actual moves to the average probabilities

Parameters
move_typesstructure with move counters and probabilities
prob_opt...
mv_countermove counter for actual performed moves of certain types
acc_countercounters of acceptance for these moves
subbox_countersame for sub box moves
subbox_acc_countersame for sub box moves
Author
Mandes 12.2012

Definition at line 814 of file tmc_move_handle.F.

Here is the caller graph for this function:

◆ clear_move_probs()

subroutine, public tmc_move_handle::clear_move_probs ( type(tmc_move_type), pointer  move_types)

clear the statistics of accepting/rejection moves because worker statistics will be add separately on masters counters

Parameters
move_typescounters for acceptance/rejection
Author
Mandes 02.2013

Definition at line 847 of file tmc_move_handle.F.

Here is the caller graph for this function:

◆ select_random_move_type()

integer function, public tmc_move_handle::select_random_move_type ( type(tmc_move_type), pointer  move_types,
real(kind=dp)  rnd 
)

selects a move type related to the weighings and the entered rnd nr

Parameters
move_typesstructure for storing sizes and probabilities of moves
rndrandom number
Returns
(result) move type
Author
Mandes 12.2012
Note
function returns a possible move type without the PT swap moves
(are selected in global tree, this routine is for sub tree elements)

Definition at line 868 of file tmc_move_handle.F.

Here is the caller graph for this function: