(git:6a2e663)
mc_ge_moves Module Reference

contains the Monte Carlo moves that can handle more than one box, including the Quickstep move, a volume swap between boxes, and a particle swap between boxes More...

Functions/Subroutines

subroutine, public mc_quickstep_move (mc_par, force_env, bias_env, moves, lreject, move_updates, energy_check, r_old, nnstep, old_energy, bias_energy_new, last_bias_energy, nboxes, box_flag, subsys, particles, rng_stream, unit_conv)
 computes the acceptance of a series of biased or unbiased moves (translation, rotation, conformational changes) More...
 
subroutine, public mc_ge_swap_move (mc_par, force_env, bias_env, moves, energy_check, r_old, old_energy, input_declaration, para_env, bias_energy_old, last_bias_energy, rng_stream)
 attempts a swap move between two simulation boxes More...
 
subroutine, public mc_ge_volume_move (mc_par, force_env, moves, move_updates, nnstep, old_energy, energy_check, r_old, rng_stream)
 performs a Monte Carlo move that alters the volume of the simulation boxes, keeping the total volume of the two boxes the same More...
 

Detailed Description

contains the Monte Carlo moves that can handle more than one box, including the Quickstep move, a volume swap between boxes, and a particle swap between boxes

History
MJM (07.28.2005): make the Quickstep move general, and changed the swap and volume moves to work with the CP2K classical routines
Author
Matthew J. McGrath (01.25.2004)

Function/Subroutine Documentation

◆ mc_quickstep_move()

subroutine, public mc_ge_moves::mc_quickstep_move ( type(mc_simulation_parameters_p_type), dimension(:), pointer  mc_par,
type(force_env_p_type), dimension(:), pointer  force_env,
type(force_env_p_type), dimension(:), pointer  bias_env,
type(mc_moves_p_type), dimension(:, :), pointer  moves,
logical, intent(in)  lreject,
type(mc_moves_p_type), dimension(:, :), pointer  move_updates,
real(kind=dp), dimension(:), intent(inout)  energy_check,
real(kind=dp), dimension(:, :, :), intent(inout)  r_old,
integer, intent(in)  nnstep,
real(kind=dp), dimension(:), intent(inout)  old_energy,
real(kind=dp), dimension(:), intent(inout)  bias_energy_new,
real(kind=dp), dimension(:), intent(inout)  last_bias_energy,
integer, intent(in)  nboxes,
integer, dimension(:), intent(in)  box_flag,
type(cp_subsys_p_type), dimension(:), pointer  subsys,
type(particle_list_p_type), dimension(:), pointer  particles,
type(rng_stream_type), intent(inout)  rng_stream,
real(kind=dp), intent(in)  unit_conv 
)

computes the acceptance of a series of biased or unbiased moves (translation, rotation, conformational changes)

Parameters
mc_parthe mc parameters for the force envs of the boxes
force_envthe force environments for the boxes
bias_envthe force environments with the biasing potential for the boxes
movesthe structure that keeps track of how many moves have been accepted/rejected for both boxes
lrejectautomatically rejects the move (used when an overlap occurs in the sequence of moves)
move_updatesthe structure that keeps track of how many moves have been accepted/rejected since the last time the displacements were updated for both boxes
energy_checkthe running total of how much the energy has changed since the initial configuration
r_oldthe coordinates of the last accepted move before the sequence whose acceptance is determined by this call
nnstepthe Monte Carlo step we're on
old_energythe energy of the last accepted move involving the full potential
bias_energy_newthe energy of the current configuration involving the bias potential
last_bias_energy...
nboxesthe number of boxes (force environments) in the system
box_flagindicates if a move has been tried in a given box..if not, we don't recompute the energy
subsysthe pointers for the particle subsystems of both boxes
particlesthe pointers for the particle sets
rng_streamthe stream we pull random numbers from
unit_conv...
Author
MJM

Definition at line 100 of file mc_ge_moves.F.

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

◆ mc_ge_swap_move()

subroutine, public mc_ge_moves::mc_ge_swap_move ( type(mc_simulation_parameters_p_type), dimension(:), pointer  mc_par,
type(force_env_p_type), dimension(:), pointer  force_env,
type(force_env_p_type), dimension(:), pointer  bias_env,
type(mc_moves_p_type), dimension(:, :), pointer  moves,
real(kind=dp), dimension(1:2), intent(inout)  energy_check,
real(kind=dp), dimension(:, :, :), intent(inout)  r_old,
real(kind=dp), dimension(1:2), intent(inout)  old_energy,
type(section_type), pointer  input_declaration,
type(mp_para_env_type), pointer  para_env,
real(kind=dp), dimension(1:2), intent(inout)  bias_energy_old,
real(kind=dp), dimension(1:2), intent(inout)  last_bias_energy,
type(rng_stream_type), intent(inout)  rng_stream 
)

attempts a swap move between two simulation boxes

Parameters
mc_parthe mc parameters for the force envs of the boxes
force_envthe force environments for the boxes
bias_envthe force environments used to bias moves for the boxes
movesthe structure that keeps track of how many moves have been accepted/rejected for both boxes
energy_checkthe running total of how much the energy has changed since the initial configuration
r_oldthe coordinates of the last accepted move involving a full potential calculation for both boxes
old_energythe energy of the last accepted move involving a a full potential calculation
input_declaration...
para_envthe parallel environment for this simulation
bias_energy_oldthe energies of both boxes computed using the biasing potential
last_bias_energythe energy for the biased simulations
rng_streamthe stream we pull random numbers from
Author
MJM

Definition at line 424 of file mc_ge_moves.F.

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

◆ mc_ge_volume_move()

subroutine, public mc_ge_moves::mc_ge_volume_move ( type(mc_simulation_parameters_p_type), dimension(:), pointer  mc_par,
type(force_env_p_type), dimension(:), pointer  force_env,
type(mc_moves_p_type), dimension(:, :), pointer  moves,
type(mc_moves_p_type), dimension(:, :), pointer  move_updates,
integer, intent(in)  nnstep,
real(kind=dp), dimension(:), intent(inout)  old_energy,
real(kind=dp), dimension(:), intent(inout)  energy_check,
real(kind=dp), dimension(:, :, :), intent(inout)  r_old,
type(rng_stream_type), intent(inout)  rng_stream 
)

performs a Monte Carlo move that alters the volume of the simulation boxes, keeping the total volume of the two boxes the same

Parameters
mc_parthe mc parameters for the force env
force_envthe force environments used in the move
movesthe structure that keeps track of how many moves have been accepted/rejected
move_updatesthe structure that keeps track of how many moves have been accepted/rejected since the last time the displacements were updated
nnstepthe total number of Monte Carlo moves already performed
old_energythe energy of the last accepted move involving an unbiased potential calculation
energy_checkthe running total of how much the energy has changed since the initial configuration
r_oldthe coordinates of the last accepted move involving a Quickstep calculation
rng_streamthe stream we pull random numbers from
Author
MJM

Definition at line 1132 of file mc_ge_moves.F.

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