![]() |
(git:b77b4be)
|
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 | |
subroutine, public | check_moves (tmc_params, move_types, mol_array) |
checks if the moves are possible | |
subroutine, public | finalize_mv_types (tmc_params) |
deallocating the module variables | |
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 | |
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 | |
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 | |
subroutine, public | clear_move_probs (move_types) |
clear the statistics of accepting/rejection moves because worker statistics will be add separately on masters counters | |
integer function, public | select_random_move_type (move_types, rnd) |
selects a move type related to the weighings and the entered rnd nr | |
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
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
tmc_params | ... |
tmc_section | ... |
Definition at line 72 of file tmc_move_handle.F.
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
tmc_params | ... |
move_types | ... |
mol_array | ... |
Definition at line 328 of file tmc_move_handle.F.
subroutine, public tmc_move_handle::finalize_mv_types | ( | type(tmc_param_type), pointer | tmc_params | ) |
deallocating the module variables
tmc_params | ... |
Definition at line 406 of file tmc_move_handle.F.
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
init | ... |
file_io | ... |
tmc_params | ... |
Definition at line 426 of file tmc_move_handle.F.
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
move_types | structure for storing sizes and probabilities of moves |
pt_el | global tree element |
elem | sub tree element |
acc | input if the element is accepted |
subbox | logical if move was with respect to the sub box |
prob_opt | if the average probability should be adapted |
Definition at line 704 of file tmc_move_handle.F.
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
move_types | structure with move counters and probabilities |
prob_opt | ... |
mv_counter | move counter for actual performed moves of certain types |
acc_counter | counters of acceptance for these moves |
subbox_counter | same for sub box moves |
subbox_acc_counter | same for sub box moves |
Definition at line 814 of file tmc_move_handle.F.
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
move_types | counters for acceptance/rejection |
Definition at line 847 of file tmc_move_handle.F.
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
move_types | structure for storing sizes and probabilities of moves |
rnd | random number |
Definition at line 868 of file tmc_move_handle.F.