presto

python-based reactions in explicit solvent with trajectories via ONIOM

Introduction

presto is a Python 3-based package that runs QM/QM' molecular dynamics simulations of small organic molecules in spheres of explicit solvent (50-250 solvent molecules). presto is loosely based on Singleton’s PROGDYN, as described in recent publications on the nitration of toluene and hydrochlorination of dienes.

Overview

Conventional quantum chemical calculations (such as ab initio wavefunction methods and density functional theory) can describe chemical reactivity with high accuracy, but scale poorly with increasing system size. In contrast, conventional molecular dynamics permits the study of large, explicitly solvated systems, but require parameterization and are unable to describe changes in bonding. presto seeks to combine the best of both approaches to study reactivity in explicit solvent.

Following precedent by Singleton and others, presto employs the ONIOM scheme developed by Morokuma to embed an accurate “high” system (typically modelled using DFT) inside a larger “low” system (modelled using semiempirical methods). Internally, presto repeatedly calls electronic structure programs and reads the corresponding energy and forces using cctk. Currently, presto is compatible with Gaussian 16 and Stefan Grimme’s xtb, but support for other programs can easily be added.

The speed of presto is entirely limited by the speed of the force calculations, which in turn depend on the size of the system. For medium-sized systems (10–20 heavy atoms) each individual DFT calculation takes about 30–90 seconds. The recommended timestep is 0.5 or 1.0 femtoseconds, resulting in an overall simulation speed of 1–2 picoseconds/day. If a faster simulation is desired, xtb-based methods can be used for both components of the ONIOM system: as with all computational projects, judicious benchmarking is key for determining the minimum acceptable level of theory.

How To Cite

Wagen, C. C. presto 2021, github.com/corinwagen/presto.

Acknowledgements

Issues

presto is under active development by Corin Wagen. Please use the issues page for feature requests or bug reports, and contact me if you have more substantive inquiries.

License

This project is licensed under the GNU General Public License, Version 3.0. Please see LICENSE for full terms and conditions.