  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 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 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 condensed
phase: the population dynamics of the spin-boson model as described by a wide
variety of semi-classical and mixed quantum-classical nonadiabatic methods and
the reactive scattering of H2 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.
