(git:6a2e663)
mc_move_control Module Reference

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 More...
 
subroutine, public mc_moves_release (moves)
 deallocates all the structures and nullifies the pointer More...
 
subroutine, public move_q_reinit (moves, lbias)
 sets all qsuccess counters back to zero More...
 
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) More...
 
subroutine, public write_move_stats (moves, nnstep, unit)
 writes the number of accepted and attempted moves to a file for the various move types More...
 
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 More...
 

Detailed Description

control the handling of the move data in Monte Carlo (MC) simulations

History
none
Author
Matthew J. McGrath (10.16.2003)

Function/Subroutine Documentation

◆ init_mc_moves()

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

Parameters
movesthe move structure to update

Suitable for parallel.

Author
MJM

Definition at line 49 of file mc_move_control.F.

Here is the caller graph for this function:

◆ mc_moves_release()

subroutine, public mc_move_control::mc_moves_release ( type(mc_moves_type), pointer  moves)

deallocates all the structures and nullifies the pointer

Parameters
movesthe move structure to release

Suitable for parallel.

Author
MJM

Definition at line 96 of file mc_move_control.F.

Here is the caller graph for this function:

◆ move_q_reinit()

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

Parameters
movesthe move structure to update
lbiasare we biasing translations/rotations/conformational changes with a different potential?

Suitable for parallel.

Author
MJM

Definition at line 149 of file mc_move_control.F.

Here is the caller graph for this function:

◆ q_move_accept()

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)

Parameters
movesthe move structure to update
lbiasare we biasing non-swap particle moves with a cheaper potential

Suitable for parallel.

Author
MJM

Definition at line 199 of file mc_move_control.F.

Here is the caller graph for this function:

◆ write_move_stats()

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

Parameters
movesthe structure containing the move data
nnstepwhat step we're on
unitthe unit of the file we're writing to

Use only in serial.

Author
MJM

Definition at line 272 of file mc_move_control.F.

Here is the caller graph for this function:

◆ mc_move_update()

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

Parameters
mc_parthe mc parameters for the force env
move_updatesholds the accepted/attempted moves since the last update (or start of simulation)
molecule_type...
flagindicates which displacements to update..."volume" is for volume moves and "trans" is for everything else
nnstephow many steps the simulation has run
ionodeis this the main CPU running this job?

Suitable for parallel.

Author
MJM

Definition at line 358 of file mc_move_control.F.

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