CVHD: Collective Variable-Driven Hyperdynamics¶
See also the advanced cvhd tutorial .
The CVHD implementation in Reaxff follows the algorithm described in K.M. Bal, E.C. Neyts, JCTC, 11 (2015)
Currently only the bond-breaking collective variable is implemented. The CVHD takes a cvhd.in file as the only additional input. The file describes both the hyperdynamics and the collective variables and it has the following format:
# Comments may be present, starting with a hash sign. # CVHD bias potential parameters startIter freqIter waitIter gaussHeight gaussHalfWidth [wellTemperedT] # Bond collective variable components (one per line, up to 10) type AtomName1 AtomName2 rmin rmax BOcutoff pExponent [type AtomName1 AtomName2 rmin rmax BOcutoff]
The bias potential parameters are: startIter - the first iteration at which the bias potential is deposited, freqIter - bias potential deposition rate in steps, waitIter - number of steps to wait before removing the bias after CV becomes equal to 1, gaussHeight - height of a single gaussian deposited at a time in kcal/mol, gaussHalfWidth - gaussian delta of the deposited bias, wellTemperedT - the bias temperature as defined in [PhysRevLett 100, 020603 (2008)] (optional, the full bias is applied if wellTemperedT is absent).
The bond-breaking CV parameters: type = bond, AtomName1 and AtomName2 - atom names specified in the second atom name entry (the one after the coordinates) in the BGF-type geo file, which may be different from the element name specified before the coordinates; rmin and rmax - rmin and rmax from Eq 5 in the paper above, BOcutoff - bond order cutoff, bonds with BO below this value are not considered even of the bond distance is within the (rmin,rmax) interval; pExponent - corresponds to p in Eq 3 in the paper. The same pExponent value is used for all bond types but the rmin, rmax, and BOcutoff may (and should) be different.
An example cvhd.in file that one could use to reproduce the NVT pyrolysis modeling results from this paper is given below:
# CVHD bias potential parameters # startIter freqIter waitIter gaussHeight gaussHalfWidth 10000 2000 10000 0.250 0.025 # Bond-breaking collective variable # type AtomName1 AtomName2 rmin rmax BOcutoff pExponent bond C H 1.05 1.65 0.5 6 bond C C 1.55 2.2 0.5