NQCDynamics.jl: A Julia package for nonadiabatic quantum classical molecular dynamics in the condensed phase - Gardner, James; Douglas-Gallardo, Oscar A; Stark, Wojciech G; Westermayr, Julia; Janke, Svenja M; Habershon, Scott; Maurer, Reinhard J (The Journal of chemical physics, 2022)
Accurate and efficient methods to simulate nonadiabatic and quantum nuclear effects in high-dimensional and dissipative systems are crucial for the prediction of chemical dynamics in the condensed phase. To facilitate effective development, code sharing, and uptake of newly developed dynamics methods, it is important that software implementations can be easily accessed and built upon. Using the Julia programming language, we have developed the NQCDynamics.jl package, which provides a framework for established and emerging methods for performing semiclassical and mixed quantum-classical dynamics in the condensed phase. The code provides several interfaces to existing atomistic simulation frameworks, electronic structure codes, and machine learning representations. In addition to the existing methods, the package provides infrastructure for developing and deploying new dynamics methods, which we hope will benefit reproducibility and code sharing in the field of condensed phase quantum dynamics. Herein, we present our code design choices and the specific Julia programming features from which they benefit. We further demonstrate the capabilities of the package on two examples of chemical dynamics in the condensed phase: the population dynamics of the spin-boson model as described by a wide variety of semiclassical and mixed quantum-classical nonadiabatic methods and the reactive scattering of H on Ag(111) using the molecular dynamics with electronic friction method. Together, they exemplify the broad scope of the package to study effective model Hamiltonians and realistic atomistic systems.