Pilgrim: A thermal rate constant calculator and a chemical kinetics simulator
Pilgrim is a program written in Python and designed to use direct dynamics in the calculation of thermal rate constants of chemical reactions by the variational transition state theory (VTST), based on electronic structure calculations for the potential energy surface. Pilgrim can also simulate reaction mechanisms using kinetic Monte Carlo (KMC). For reaction processes with many elementary steps, the rate constant of each of these steps can be calculated by means of conventional transition state theory (TST) or by using VTST. In the current version, Pilgrim can evaluate thermal rates using the canonical version of reaction-path VTST, which requires the calculation of the minimum energy path (MEP) associated with each elementary step or transition structure. Multi-dimensional quantum effects can be incorporated through the small-curvature tunneling (SCT) approximation. These methodologies are available both for reactions involving a single structure of the reactants and the transition state and also for reactions involving flexible molecules with multiple conformations of the reactant and/or of the transition state. For systems with many conformers, the program can evaluate each of the elementary reaction rate constants by multipath canonical VTST or multi-structural VTST. Moreover, the reactant can be unimolecular or bimolecular. Torsional anharmonicity can be incorporated through either the MSTor or the Q2DTor programs. Dual-level calculations are also available in Pilgrim: automatic high-level single-point energies can be used to correct the energy of reactants, transition states, products, and MEP points using the interpolated single-point energies (ISPE) algorithm. When the rate constants of all the chemical processes of interest are known, by means of their calculation using Pilgrim or alternatively through analytical fits to the rate constants as functions of temperature, it is possible to simulate a multistep mechanism under specified laboratory conditions using KMC. This algorithm allows performing a kinetic simulation to monitor the evolution of each chemical species with time and obtain the product yields.