rpmd
Performs ab initio ring-polymer molecular dynamics simulation. This command can appear in the global context.
Subcommands
- dc_dft
- dft
- emft
- extrapolation
- gradient
- hf
- isotope_log_rpfr
- mm
- oniom
- simulated_annealing
- structure
- velocities
- xtb
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:
- with "_bias.txt" suffix, and contains collective variable and instantaneous biasing potential info,
- 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 output0
- Output that doesn't scale with system size1
- Output that scales linearly with system size2
- (Debugging) output that scales quadratically with system size3
- (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.
- The type is string
- The default is off
- The value must be one of:
off
- Do not thermostat internal modes.leimkuhler
- Thermostat is in the middle of the velocity-verlet integration step, as described in Leimkuhler and Matthews (2013) AMREX, 34–56. This choice together with cayley = 'true' will result in the BCOCB integration scheme, found to perform best in Korol, Rosa-Raices, Miller (2020) JCP 152, 104102bussi
- Placing thermostat at the edges of velocity-verlet integration step, as originally proposed by Bussi and Parinello in Bussi and Parrinello (2007) PRE, 75, 056707.
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