![]() |
(git:b77b4be)
|
control the handling of the move data in Monte Carlo (MC) simulations More...
Functions/Subroutines | |
subroutine, public | init_mc_moves (moves) |
allocates and initializes the structure to record all move attempts/successes | |
subroutine, public | mc_moves_release (moves) |
deallocates all the structures and nullifies the pointer | |
subroutine, public | move_q_reinit (moves, lbias) |
sets all qsuccess counters back to zero | |
subroutine, public | q_move_accept (moves, lbias) |
updates accepted moves in the given structure...assumes you've been recording all successful moves in "qsuccesses"...this was done to compensate for doing multiple inner moves between Quickstep moves (which determine ultimate acceptance of moves) | |
subroutine, public | write_move_stats (moves, nnstep, unit) |
writes the number of accepted and attempted moves to a file for the various move types | |
subroutine, public | mc_move_update (mc_par, move_updates, molecule_type, flag, nnstep, ionode) |
updates the maximum displacements of a Monte Carlo simulation, based on the ratio of successful moves to attempts...tries to hit a target of 0.5 acceptance ratio | |
control the handling of the move data in Monte Carlo (MC) simulations
subroutine, public mc_move_control::init_mc_moves | ( | type(mc_moves_type), pointer | moves | ) |
allocates and initializes the structure to record all move attempts/successes
moves | the move structure to update |
Suitable for parallel.
Definition at line 49 of file mc_move_control.F.
subroutine, public mc_move_control::mc_moves_release | ( | type(mc_moves_type), pointer | moves | ) |
deallocates all the structures and nullifies the pointer
moves | the move structure to release |
Suitable for parallel.
Definition at line 96 of file mc_move_control.F.
subroutine, public mc_move_control::move_q_reinit | ( | type(mc_moves_type), pointer | moves, |
logical, intent(in) | lbias | ||
) |
sets all qsuccess counters back to zero
moves | the move structure to update |
lbias | are we biasing translations/rotations/conformational changes with a different potential? |
Suitable for parallel.
Definition at line 149 of file mc_move_control.F.
subroutine, public mc_move_control::q_move_accept | ( | type(mc_moves_type), pointer | moves, |
logical, intent(in) | lbias | ||
) |
updates accepted moves in the given structure...assumes you've been recording all successful moves in "qsuccesses"...this was done to compensate for doing multiple inner moves between Quickstep moves (which determine ultimate acceptance of moves)
moves | the move structure to update |
lbias | are we biasing non-swap particle moves with a cheaper potential |
Suitable for parallel.
Definition at line 199 of file mc_move_control.F.
subroutine, public mc_move_control::write_move_stats | ( | type(mc_moves_type), pointer | moves, |
integer, intent(in) | nnstep, | ||
integer, intent(in) | unit | ||
) |
writes the number of accepted and attempted moves to a file for the various move types
moves | the structure containing the move data |
nnstep | what step we're on |
unit | the unit of the file we're writing to |
Use only in serial.
Definition at line 272 of file mc_move_control.F.
subroutine, public mc_move_control::mc_move_update | ( | type(mc_simpar_type), pointer | mc_par, |
type(mc_moves_type), pointer | move_updates, | ||
integer, intent(in) | molecule_type, | ||
character(len=*), intent(in) | flag, | ||
integer, intent(in) | nnstep, | ||
logical, intent(in) | ionode | ||
) |
updates the maximum displacements of a Monte Carlo simulation, based on the ratio of successful moves to attempts...tries to hit a target of 0.5 acceptance ratio
mc_par | the mc parameters for the force env |
move_updates | holds the accepted/attempted moves since the last update (or start of simulation) |
molecule_type | ... |
flag | indicates which displacements to update..."volume" is for volume moves and "trans" is for everything else |
nnstep | how many steps the simulation has run |
ionode | is this the main CPU running this job? |
Suitable for parallel.
Definition at line 358 of file mc_move_control.F.