![]() |
(git:b77b4be)
|
the various moves in Monte Carlo (MC) simulations, including change of internal conformation, translation of a molecule, rotation of a molecule, and changing the size of the simulation box More...
Functions/Subroutines | |
subroutine, public | mc_conformation_change (mc_par, force_env, bias_env, moves, move_updates, start_atom, molecule_type, box_number, bias_energy, move_type, lreject, rng_stream) |
performs either a bond or angle change move for a given molecule | |
subroutine, public | mc_molecule_translation (mc_par, force_env, bias_env, moves, move_updates, start_atom, box_number, bias_energy, molecule_type, lreject, rng_stream) |
translates the given molecule randomly in either the x,y, or z direction | |
subroutine, public | mc_molecule_rotation (mc_par, force_env, bias_env, moves, move_updates, box_number, start_atom, molecule_type, bias_energy, lreject, rng_stream) |
rotates the given molecule randomly around the x,y, or z axis... only works for water at the moment | |
subroutine, public | mc_volume_move (mc_par, force_env, moves, move_updates, old_energy, box_number, energy_check, r_old, iw, discrete_array, rng_stream) |
performs a Monte Carlo move that alters the volume of the simulation box | |
subroutine, public | mc_avbmc_move (mc_par, force_env, bias_env, moves, energy_check, r_old, old_energy, start_atom_swap, target_atom, molecule_type, box_number, bias_energy_old, last_bias_energy, move_type, rng_stream) |
performs either a bond or angle change move for a given molecule | |
subroutine, public | mc_hmc_move (mc_par, force_env, globenv, moves, move_updates, old_energy, box_number, energy_check, r_old, rng_stream) |
performs a hybrid Monte Carlo move that runs a short MD sequence | |
subroutine, public | mc_cluster_translation (mc_par, force_env, bias_env, moves, move_updates, box_number, bias_energy, lreject, rng_stream) |
translates the cluster randomly in either the x,y, or z direction | |
the various moves in Monte Carlo (MC) simulations, including change of internal conformation, translation of a molecule, rotation of a molecule, and changing the size of the simulation box
subroutine, public mc_moves::mc_conformation_change | ( | type(mc_simpar_type), pointer | mc_par, |
type(force_env_type), pointer | force_env, | ||
type(force_env_type), pointer | bias_env, | ||
type(mc_moves_type), pointer | moves, | ||
type(mc_moves_type), pointer | move_updates, | ||
integer, intent(in) | start_atom, | ||
integer, intent(in) | molecule_type, | ||
integer, intent(in) | box_number, | ||
real(kind=dp), intent(inout) | bias_energy, | ||
character(len=*), intent(in) | move_type, | ||
logical, intent(out) | lreject, | ||
type(rng_stream_type), intent(inout) | rng_stream | ||
) |
performs either a bond or angle change move for a given molecule
mc_par | the mc parameters for the force env |
force_env | the force environment used in the move |
bias_env | the force environment used to bias the move, if any (it may be null if lbias=.false. in mc_par) |
moves | the structure that keeps track of how many moves have been accepted/rejected |
move_updates | the structure that keeps track of how many moves have been accepted/rejected since the last time the displacements were updated |
start_atom | the number of the molecule's first atom, assuming the rest of the atoms follow sequentially |
molecule_type | the type of the molecule we're moving |
box_number | the box the molecule is in |
bias_energy | the biased energy of the system before the move |
move_type | dictates what kind of conformational change we do |
lreject | set to .true. if there is an overlap |
rng_stream | the random number stream that we draw from |
Definition at line 136 of file mc_moves.F.
subroutine, public mc_moves::mc_molecule_translation | ( | type(mc_simpar_type), pointer | mc_par, |
type(force_env_type), pointer | force_env, | ||
type(force_env_type), pointer | bias_env, | ||
type(mc_moves_type), pointer | moves, | ||
type(mc_moves_type), pointer | move_updates, | ||
integer, intent(in) | start_atom, | ||
integer, intent(in) | box_number, | ||
real(kind=dp), intent(inout) | bias_energy, | ||
integer, intent(in) | molecule_type, | ||
logical, intent(out) | lreject, | ||
type(rng_stream_type), intent(inout) | rng_stream | ||
) |
translates the given molecule randomly in either the x,y, or z direction
mc_par | the mc parameters for the force env |
force_env | the force environment used in the move |
bias_env | the force environment used to bias the move, if any (it may be null if lbias=.false. in mc_par) |
moves | the structure that keeps track of how many moves have been accepted/rejected |
move_updates | the structure that keeps track of how many moves have been accepted/rejected since the last time the displacements were updated |
start_atom | the number of the molecule's first atom, assuming the rest of the atoms follow sequentially |
box_number | the box the molecule is in |
bias_energy | the biased energy of the system before the move |
molecule_type | the type of molecule we're moving |
lreject | set to .true. if there is an overlap |
rng_stream | the random number stream that we draw from |
Definition at line 432 of file mc_moves.F.
subroutine, public mc_moves::mc_molecule_rotation | ( | type(mc_simpar_type), pointer | mc_par, |
type(force_env_type), pointer | force_env, | ||
type(force_env_type), pointer | bias_env, | ||
type(mc_moves_type), pointer | moves, | ||
type(mc_moves_type), pointer | move_updates, | ||
integer, intent(in) | box_number, | ||
integer, intent(in) | start_atom, | ||
integer, intent(in) | molecule_type, | ||
real(kind=dp), intent(inout) | bias_energy, | ||
logical, intent(out) | lreject, | ||
type(rng_stream_type), intent(inout) | rng_stream | ||
) |
rotates the given molecule randomly around the x,y, or z axis... only works for water at the moment
mc_par | the mc parameters for the force env |
force_env | the force environment used in the move |
bias_env | the force environment used to bias the move, if any (it may be null if lbias=.false. in mc_par) |
moves | the structure that keeps track of how many moves have been accepted/rejected |
move_updates | the structure that keeps track of how many moves have been accepted/rejected since the last time the displacements were updated |
box_number | the box the molecule is in |
start_atom | the number of the molecule's first atom, assuming the rest of the atoms follow sequentially |
molecule_type | the type of molecule we're moving |
bias_energy | the biased energy of the system before the move |
lreject | set to .true. if there is an overlap |
rng_stream | the random number stream that we draw from |
Definition at line 656 of file mc_moves.F.
subroutine, public mc_moves::mc_volume_move | ( | type(mc_simpar_type), pointer | mc_par, |
type(force_env_type), pointer | force_env, | ||
type(mc_moves_type), pointer | moves, | ||
type(mc_moves_type), pointer | move_updates, | ||
real(kind=dp), intent(inout) | old_energy, | ||
integer, intent(in) | box_number, | ||
real(kind=dp), intent(inout) | energy_check, | ||
real(kind=dp), dimension(:, :), intent(inout) | r_old, | ||
integer, intent(in) | iw, | ||
integer, dimension(1:3, 1:2), intent(inout) | discrete_array, | ||
type(rng_stream_type), intent(inout) | rng_stream | ||
) |
performs a Monte Carlo move that alters the volume of the simulation box
mc_par | the mc parameters for the force env |
force_env | the force environment whose cell we're changing |
moves | the structure that keeps track of how many moves have been accepted/rejected |
move_updates | the structure that keeps track of how many moves have been accepted/rejected since the last time the displacements were updated |
old_energy | the energy of the last accepted move involving an unbiased calculation |
box_number | the box we're changing the volume of |
energy_check | the running total of how much the energy has changed since the initial configuration |
r_old | the coordinates of the last accepted move involving an unbiased calculation |
iw | the unit number that writes to the screen |
discrete_array | tells use which volumes we can do for the discrete case |
rng_stream | the random number stream that we draw from |
Definition at line 959 of file mc_moves.F.
subroutine, public mc_moves::mc_avbmc_move | ( | type(mc_simpar_type), pointer | mc_par, |
type(force_env_type), pointer | force_env, | ||
type(force_env_type), pointer | bias_env, | ||
type(mc_moves_type), pointer | moves, | ||
real(kind=dp), intent(inout) | energy_check, | ||
real(kind=dp), dimension(:, :), intent(inout) | r_old, | ||
real(kind=dp), intent(inout) | old_energy, | ||
integer, intent(in) | start_atom_swap, | ||
integer, intent(in) | target_atom, | ||
integer, intent(in) | molecule_type, | ||
integer, intent(in) | box_number, | ||
real(kind=dp), intent(inout) | bias_energy_old, | ||
real(kind=dp), intent(inout) | last_bias_energy, | ||
character(len=*), intent(in) | move_type, | ||
type(rng_stream_type), intent(inout) | rng_stream | ||
) |
performs either a bond or angle change move for a given molecule
mc_par | the mc parameters for the force env |
force_env | the force environment used in the move |
bias_env | the force environment used to bias the move, if any (it may be null if lbias=.false. in mc_par) |
moves | the structure that keeps track of how many moves have been accepted/rejected |
energy_check | the running energy difference between now and the initial energy |
r_old | the coordinates of force_env before the move |
old_energy | the energy of the force_env before the move |
start_atom_swap | the number of the swap molecule's first atom, assuming the rest of the atoms follow sequentially |
target_atom | the number of the target atom for swapping |
molecule_type | the molecule type for the atom we're swapping |
box_number | the number of the box we're doing this move in |
bias_energy_old | the biased energy of the system before the move |
last_bias_energy | the last biased energy of the system |
move_type | dictates if we're moving to an "in" or "out" region |
rng_stream | the random number stream that we draw from |
Definition at line 1945 of file mc_moves.F.
subroutine, public mc_moves::mc_hmc_move | ( | type(mc_simpar_type), pointer | mc_par, |
type(force_env_type), pointer | force_env, | ||
type(global_environment_type), pointer | globenv, | ||
type(mc_moves_type), pointer | moves, | ||
type(mc_moves_type), pointer | move_updates, | ||
real(kind=dp), intent(inout) | old_energy, | ||
integer, intent(in) | box_number, | ||
real(kind=dp), intent(inout) | energy_check, | ||
real(kind=dp), dimension(:, :), intent(inout) | r_old, | ||
type(rng_stream_type), intent(inout) | rng_stream | ||
) |
performs a hybrid Monte Carlo move that runs a short MD sequence
mc_par | the mc parameters for the force env |
force_env | the force environment whose cell we're changing |
globenv | ... |
moves | the structure that keeps track of how many moves have been accepted/rejected |
move_updates | the structure that keeps track of how many moves have been accepted/rejected since the last time the displacements were updated |
old_energy | the energy of the last accepted move involving an unbiased calculation |
box_number | the box we're changing the volume of |
energy_check | the running total of how much the energy has changed since the initial configuration |
r_old | the coordinates of the last accepted move involving an unbiased calculation |
rng_stream | the random number stream that we draw from |
Definition at line 2346 of file mc_moves.F.
subroutine, public mc_moves::mc_cluster_translation | ( | type(mc_simpar_type), pointer | mc_par, |
type(force_env_type), pointer | force_env, | ||
type(force_env_type), pointer | bias_env, | ||
type(mc_moves_type), pointer | moves, | ||
type(mc_moves_type), pointer | move_updates, | ||
integer, intent(in) | box_number, | ||
real(kind=dp), intent(inout) | bias_energy, | ||
logical, intent(out) | lreject, | ||
type(rng_stream_type), intent(inout) | rng_stream | ||
) |
translates the cluster randomly in either the x,y, or z direction
mc_par | the mc parameters for the force env |
force_env | the force environment used in the move |
bias_env | the force environment used to bias the move, if any (it may be null if lbias=.false. in mc_par) |
moves | the structure that keeps track of how many moves have been accepted/rejected |
move_updates | the structure that keeps track of how many moves have been accepted/rejected since the last time the displacements were updated |
box_number | ... |
bias_energy | the biased energy of the system before the move |
lreject | set to .true. if there is an overlap |
rng_stream | the random number stream that we draw from |
Definition at line 2485 of file mc_moves.F.