27/6/24 bug fixes to prevent CONNECTUNC from going out of bounds when there are more cpus available than candidates. Also allowed SHORTCUT to continue when the fastest path runs out of candidates by blocking the highest transition state and rerunning Dijkstra.
27/6/22 New keyword CHECKTSFILE to check transition states listed in a file.
New keywords designed for use with OPTIM keyword DNEBPATH where the transition states and connected minima are actually unrefined DNEB images. DIJPATHPAIRS will select `minima' for connection from the Dijkstra path if they satisfy distance and barrier threshold conditions. DIJCHECKTS will check transition states on the Dijkstra fastest path. DIJCHECKMIN will check minima on the Dijkstra fastest path. DIJBARRIER will use a metric for the edge weights in the Dijkstra analysis based on the transition state height above the global minimum so that the Dijkstra path with the overall lowest barrier should be selected. The new MINMAX parameter for SHORTCUT selects pairs of minima based on the highest transition states and the local minima on either side of them on the Dijkstra path.
There is now an OPTIM interface to the xtb program. To use this option with PATHSAMPLE the atomic symbols are required for creating the necessary odata input for OPTIM. They can be read by creating a file called mass in the working directory. The element symbol and a corresponding mass (which is not otherwise used in these jobs) are read line-by-line from this file. Alternatively, the keyword READZSYM can be used to read just the element symbols from a file named ZSYM. As for Gaussian jobs, it is possible for xtb to run on multiple cores, as specified on the XTB line of the odata file. For this setup to work, both Gaussian jobs and xtb runs need to use the GCORES keyword in pathdata. Please see the GCORES description below for appropriate settings in pathdata and the slurm batch script.
The treatment of path.info files has been changed to facilitate efficient usage of CSD3. The path.info.pid files are now read directly, with a file name argument to the getallpaths routine. After processing, they are renamed with a .done ending. Hence it is possible to automatically read in results from a previous PATHSAMPLE run that did not finish cleanly, if the jobs were running in the current working directory. The keyword to do this is CHECKPATHINFO. This check is now run on setup and after every OPTIM job finishes. Hence it is now possible to communicate path.info files between PATHSAMPLE jobs running in different places.
New keywords introduced for waiting time moments and probability distribution function analysis: WAITPDF, WAITPDFSYM, WAITPDFGEN, WAITPDFTEMPS, ARNOLD, RENORMREATANT, Latest are WAITPDFRANGE, NGTKEEPLIST, DIJKSTRALIST, DIJKSTRALIST2.
All the TRIPLES keywords have been retired, i.e. TRIPLES, ADDTRIPLES, STARTTRIPLES. These should be removed from all pathdata files in the future. All path.info files produced by OPTIM are now in the triples format, whether generated by DUMPPATH or DUMPALLPATHS. This change means that the getallpaths subroutine is used to read all path.info files, and that the getnewpath routine is obsolete.
DIJINITSTART and DIJINITCONT can now have an additional argument to specify the number of entries in the sorted list of metric values that is dumped in file pairdist.
The NGT keyword has been added for a new graph transformation procedure. This routine can calculate kSS, kNSS and kKMC for both A←B and B←A, as well as committor probabilities, in one call. This is now the recommended way to calculate rate constants.
The DIJINIT keyword has been replaced by two separate keywords, namely DIJINITSTART and DIJINITCONT, to simplify the generation of initial paths.
DIJINITSTART is intended for automatic setup of the min.A, min.B, min.data, ts.data, points.ts and points.min files from initial odata.start and odata.finish files. In contrast to the previous philosophy, DIJINITSTART will overwrite database files if they already exist. Hence it is possible to wipe an existing database with this keyword.
DIJINITCONT is intended for continuation of initial path searches that have not yet completed. It can also be used to start a run if the required database entries for two end points have been created by hand. DIJINITCONT will check that the required files are present in the current working directory, and stop if they are not.
The MFPT calculation for the fastest steady-state path (ignoring recrossings) in a DIJKSTRA calculation has been changed to the graph transformation approach.[#!TrygubenkoW06!#]
The printing of rate constants at the end of a GT calculation has been changed to make it clear which values are calculated assuming that detailed balance holds. An extra summary line with the non-detailed balance rate constants is printed at the end.
After each cycle over the available CPU's PATHSAMPLE will now check to see if the file pathdata.change exists in the current working directory. If it does, then pathdata.change is copied to pathdata and all parameters are reread using keyword. This feature is designed to allow for change of parameters during a run without the need to kill and requeue a job. Attempts to change variables that affect declarations of array bounds will cause the program to crash.