Skip to content

rpmd

Performs ab initio ring-polymer molecular dynamics simulation. This command can appear in the global context.

Subcommands

Options

all_quantized

Whether to treat all nuclei quantum mechanically as ring polymers.

  • The type is bool
  • The default is true
bead_positions_file_prefix

Specify common prefix of a series of .xyz files containing the customized ring-polymer positions. (# n_bead) positions files will be required in the the same directory as for the input file, e.g. if n_bead = 4, bead_positions_file_prefix = 'H-G42_bead' -> entos will try to find files H-G42_bead1.xyz, ..., H-G42_bead4.xyz to read positions. MUST be specified if "load_bead_positions" option is true.

  • The type is string
  • There is no default value.
bead_velocities_file_prefix

Specify common prefix of a series of .vel files containing the customized ring-polymer velocities info. (# n_bead) velocities files will be required in the the same directory as for the input file, e.g. if n_bead = 4, bead_velocities_file_prefix = 'H-G42_bead' -> entos will try to find files H-G42_bead1.vel, ..., H-G42_bead4.vel to read velocites. MUST be specified if "load_bead_velocities" option is true.

  • The type is string
  • There is no default value.
compute_heat_capacity

If true, the constant volume heat capacity will be computed at the end of RPMD simulation using primitive and virial estimators as in eq. (12) of Glaesemann and Fried (2002) JCP 117, 3020.

  • The type is bool
  • The default is false
estimators_n_moments

Specify the number of moments computed for RPMD estimators. By default, the first two moments are computed, allowing one to extract both the average and the standard deviation of a physical quantity. If compute_heat_capacity is true, this option needs to be at least 2, since second moments are required for heat capacity calculations.

  • The type is int
  • The default is 2
  • The value must be positive
free_ring_polymer_cayley

Free ring-polymer evolution using Cayley transform of the exact exponential propagator.

  • The type is bool
  • The default is true
integrator

Specify the algorithm for integrating the equations of motion.

  • The type is string
  • The default is velocity verlet
  • The value must be one of:
load_bead_positions

Specify whether to use customized positions for all the ring-polymer beads to initialize a trajectory

  • The type is bool
  • The default is false
load_bead_velocities

Specify whether to use customized velocities for all the ring-polymer beads to initialize a trajectory

  • The type is bool
  • The default is false
n_beads

Number of ring-polymer beads.

  • The type is int
  • There is no default value.
  • The value must be positive
n_steps

Specify the number of integration steps.

This option is mandatory.

  • The type is int
  • There is no default value.
  • The value must be nonnegative
name

Specify the name of a set of results.

This option is deprecated.

  • The type is string
  • There is no default value.
output_coordinates

Specify name of the xyz file containing the coordinates from snapshots of the simulation.

  • The type is string
  • The default is coordinates
output_energies

Specify name of the txt file containing the energies from snapshots of the simulation.

  • The type is string
  • The default is energies
output_forces

Specify name of the xyz file containing the forces from snapshots of the simulation.

  • The type is string
  • The default is forces
output_kinetic_energy_bead_virial

Specify name of the txt file containing the value of the centroid-virial kinetic energy estimator from snapshots of the simulation. This version uses (first) ring-polymer bead as the reference. See a short summary of the three popular choices of refenence around eqs. (6-10) of Yamamoto (2005) JCP 123, 104101.

  • The type is string
  • The default is bead_virial_kinetic_energy
output_kinetic_energy_centroid_virial

Specify name of the txt file containing the value of the centroid-virial kinetic energy estimator from snapshots of the simulation. Although it is not settled which of the three versions is better, using centroid as reference is the most popular choice.

  • The type is string
  • The default is centroid_virial_kinetic_energy
output_kinetic_energy_origin_virial

Specify name of the txt file containing the value of the origin-virial kinetic energy estimator from snapshots of the simulation. This is the original version proposed in Herman, Bruskin and Berne (1982) JCP 76, 5150). Note that origin-reference estimator gives an incorrect result for unbound systems (e.g. free particle).

  • The type is string
  • The default is origin_virial_kinetic_energy
output_kinetic_energy_primitive

Specify name of the txt file containing the value of primitive kinetic energy estimator from snapshots of the simulation.

  • The type is string
  • The default is primitive_kinetic_energy
output_metadynamics

Specify name of two metadynamics output files:

  1. with "_bias.txt" suffix, and contains collective variable and instantaneous biasing potential info,
  2. with "_free_energy.txt" suffix, and contains a series of free energy surface scans every every free_energy_scan_steps MD steps.

  • The type is string
  • The default is metadynamics
output_radius_of_gyration

Specify name of the txt file containing the information about radius of gyration of the ring polymers from snapshots of the simulation.

  • The type is string
  • The default is radius_of_gyration
output_restraint

Specify name of the xyz file containing the restraint potential and forces from snapshots of the simulation.

  • The type is string
  • The default is restraints
output_steps

Number of steps that elapse between outputting simulation information, which includes energies, coordinates, velocities, and forces, etc.

  • The type is int
  • The default is 1
  • The value must be positive
output_velocities

Specify name of the xyz file containing the velocities from snapshots of the simulation.

  • The type is string
  • The default is velocities
print_level

Print level.

  • The type is int
  • There is no default value.
  • The value must be one of:
    • -2 - No output
    • -1 - Minimum output
    • 0 - Output that doesn't scale with system size
    • 1 - Output that scales linearly with system size
    • 2 - (Debugging) output that scales quadratically with system size
    • 3 - (Debugging) output that scales cubically with system size
quantized_nuclei

Specify the indices of nuclei that will be treated as ring polymers (indexed from 1).

  • The type is [int]
  • There is no default value.
rng_seed

Seed used to initialize a pseudo-random number generator. By default, rng_seed is set to -1, which uses a pseudo random seed.

  • The type is int
  • The default is -1
save_steps

Whether to save the steps to the results.

If true, output_steps controls the number of steps that elapse between saving a step. The step information contains: energies, coordinates, velocities, and forces.

  • The type is bool
  • The default is false
save_to_file

Whether to write the simulation results to files.

  • The type is bool
  • The default is false
scale_internal_mode_friction

Multiplier of the internal ring-polymer frequency to set friction (inverse of \(\tau\)) for internal ring-polymer modes' thermostat. This parameter is introduced as \lambda in eq. 30 of Rossi et. al. JCP 140(23), 234116 (2014). Authors recommend \(\lambda=0.5\). \(\lambda=0\) turns off the thermostat, i.e. reduces to the ring-polymer-energy-conserving (NVE) RPMD.

  • The type is real
  • The default is 0.5
  • The value must be nonnegative
steps_between_sampling

The estimators are computed after this many RPMD steps. Default is set to sampling after every timestep. Consider sampling less frequently if expensive estimators are used.

  • The type is int
  • The default is 1
  • The value must be positive
temperature

Specify the temperature for sampling the ring-polymer beads.

  • The type is quantity
  • The default is 300 kelvin
  • The value must be nonnegative
thermostat_internal_modes

Specify the algorithm for thermostatting ring-polymer internal modes using Langevin equation thermostat with friction (inverse of thermostat time \tau) diagonal in normal mode coordinates and given by twice the frequency of the normal mode, as per eq. (36) of Ceriotti et.al. (2010) JCP 133, 124104.

This option allows to run standard T-RPMD calculations (with only internal modes thermostatted) using either Leimkuhler (recommended) or Bussi-Parinello placement of the thermostat. Fully thermostatted calculation (also including ring-polymer centroids and classical atoms) is possible with coupling_time of the MD command thermostat controlling the thermal coupling time. Note, that thermostat_internal_modes cannot be “Off” in this case and that Langevin equation thermostat with temperature set inside the rpmd command will be used.

time_step

Specify the time step for integration.

  • The type is quantity
  • The default is 1.0 fs
  • The value must be positive
wrap_atoms

Ensure atoms lie in domain \([0, a)\) where \(a\) is the cell length.

  • The type is bool
  • The default is true