![]() |
(git:5f3bc36)
|
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.