Abstract
We present a novel, flexible framework for electronic structure interfaces designed for nonadiabatic dynamics simulations, implemented in Python 3 using concepts of object-oriented programming. This framework streamlines the development of new interfaces by providing a reusable and extendable code base. It supports the computation of energies, gradients, various couplingslike spin–orbit couplings, nonadiabatic couplings, and transition dipole momentsand other properties for an arbitrary number of states with any multiplicities and charges. A key innovation within this framework is the introduction of hybrid interfaces, which can use other interfaces in a general hierarchical manner. Hybrid interfaces are capable of using one or more child interfaces to implement multiscale approaches, such as quantum mechanics/molecular mechanics where different child interfaces are assigned to different regions of a system. The concept of hybrid interfaces can be extended through nesting, where hybrid parent interfaces use hybrid child interfaces to easily setup complex workflows without the need for additional coding. We demonstrate the versatility of hybrid interfaces with two examples: one at the method level and one at the workflow level. The first example showcases the numerical differentiation of wave function overlaps, implemented as a hybrid interface and used to optimize a minimum-energy conical intersection with numerical nonadiabatic couplings. The second example presents an adaptive learning workflow, where nested hybrid interfaces are used to iteratively refine a machine learning model. This work lays the groundwork for more modular, flexible, and scalable software design in excited-state dynamics.
1. Introduction
Nonadiabatic molecular dynamics simulations are essential for elucidating the photophysical and photochemical behavior of molecular systems. , This need has driven the development of many nuclear dynamics techniques, − ranging from fully quantum dynamics approachessuch as multiconfigurational time-dependent Hartree (MCTDH)to hybrid quantum-classical methods, such as ab initio multiple spawning (AIMS) and its variants, as well as the widely employed trajectory surface hopping (TSH) method. , Many of these methods follow the “direct dynamics” or “on-the-fly” approach, ,,, where the electronic energies, forces, and couplings are computed locally at each time step along the nuclear/electronic propagation. For most dedicated nonadiabatic dynamics packages, the computation of electronic quantities at every time step is performed externally by another software, e.g., an electronic structure code. Examples of dedicated nonadiabatic dynamics packages are Quantics, PySpawn, Newton-X, NEXMD, JADE, Libra, PYXAID, as well as the SHARC (surface hopping including arbitrary couplings) package developed in our group. ,
An efficient communication between the electronic structure provider and the nonadiabatic dynamics package is thus a critical component of any direct dynamics simulation. To that purpose, most nonadiabatic dynamics packages include a set of interfaces that receive the current nuclear coordinates from the dynamics driver, communicate with the external electronic structure code, and return the obtained results in a well-defined format to the dynamics driver. ,− In this approach, it is principally possible to exchange the interface in order to use different electronic structure providers with the same dynamics code. Historically, our and other nonadiabatic dynamics packages , used interfaces that communicate with the dynamics driver via file I/O and that reinitialize the electronic structure calculation in each time step. For fast electronic structure methods (e.g., semiempirical methods, time-dependent density tight binding, vibronic coupling models, or machine learning models), the repeated file I/O and reinitializing constitutes a massive computation overhead in the dynamics. For this reason, recent developments in nonadiabatic dynamics packages have focused on improving the efficient communication between the driver and the interface. − A pioneering example of these implementations is PySHARC, which links the SHARC dynamics code via C code to the Python-based interfaces. This technique allows for extremely efficient TSH simulations when combined with fast methods such as linear vibronic coupling (LVC) or machine learning potentials, exhibiting computational costs of few CPUh per picosecond, even for large transition metal complexes with tens of electronic states, and nanosecond simulation times.
While computational efficiency is one very important factor when developing interfaces, three other critical aspects are the maintainability, extensibility, and reusability of the code, as well as the flexibility that users have when using the interfaces. The first aspect is related to the fact that for particular problems in nonadiabatic dynamics, specific electronic structure methods might be needed. Hence, it should be desirable to develop new interfaces or to extend existing ones in an straightforward manner. This is also related to recent thrusts in the community toward more reusable and standardized code , that improves interoperability. The flexibility aspect becomes particular important when dealing with large systems or slow dynamics. For example, simulating large multichromophoric chemical systems is particularly challenging due to their size and complexity, and fragment-based (”divide and conquer”) methods offer a promising strategy to reduce computational costs and improve scalability. − Such a setting requires code that allow users to divide the system into fragments as needed, apply the most suitable electronic structure methods to each fragment, and then seamlessly combine them into the full systemcapabilities that go beyond what typical interfaces can provide. Another setting where straightforward nonadiabatic dynamics simulations are not sufficient are cases involving slow dynamics due to long-lived excited states. In these situations, accelerated dynamics techniques or sampling the crossing seam space , can provide more insight than brute-force time propagation. Also the increasing integration of machine learning methods into nonadiabatic dynamics − requires efficient means of obtaining well-sampled training data. These scenarios underscore the critical need of flexible and adaptable workflows within nonadiabatic dynamics simulations.
In response to these challenges, here we introduce a novel interface framework for nonadiabatic dynamics simulations. The three primary features of this framework are (i) efficient communication with a dynamics driver, (ii) ease of code maintenance, reuse, and extendability, and (iii) hierarchical communication among interfaces. In addition to these primary objectives, the framework is designedunlike comparable implementations − to support an arbitrary number of states with arbitrary multiplicities and charges, as well as simultaneous computation of multiple properties, such as more than one gradient, nonadiabatic couplings, and transition moments. The interface framework is implemented in Python and advances previous SHARC and PySHARC interfaces, , which already fulfill goal (i). Although the interface framework is an integral part of SHARC (code and extensive documentation are available in the SHARC 4 release under the GNU General Public License), it is designed as a modular part of the code, making it easily adaptable for integration into other nonadiabatic dynamics packages. The implementation makes heavy use of object orientation with inheritance, allowing to reuse a large fraction of code in multiple interfaces, simplifying maintenance, and cutting down the development time for new interfaces (goal (ii)). While object-oriented programming was employed in several ground state dynamics implementations, , so far it has not obtained much attention in nonadiabatic dynamics simulations. However, the most innovative part of the new interface framework is the introduction of hybrid interfaces, which can call other interfaces in a nested interface call tree. This design allows for organically delegate tasks, enabling multiscale simulations and highly customizable workflows tailored to the user’s need without the need for user-implemented code (goal (iii)). None of the nonadiabatic dynamics packages mentioned above − , provide such a nestable, user-level interface concept; to the best of our knowledge, the only package with a comparable concept is Cuby, which, however, lacks excited-state capabilities.
The flexibility of our interface framework has been implicitly exploited in recent quantum mechanics/molecular mechanics (QM/MM) simulations using preparameterized potentials, and excitonic configuration interaction (ECI) computations. However, it will be explicitly showcased here with the optimization of a minimum-energy conical intersection using numerical nonadiabatic coupling vectors with time-dependent density functional theory (TDDFT), and a fully automatized workflow for active learning simulations.
2. Methodology
This section provides first a brief overview over the necessary communication in nonadiabatic dynamics simulations for contextualization. Next, it describes the new data classes that handle all data processed in the interfaces in a standardized and structured way, followed by the main specifications of the new interface base classes. The two data classes and the four base classes constitute the scaffold for the new interface framework, from which all actual interfaces are derived. We note that here we focus on the general design principles of the new interface framework rather than the code itself or finer implementation details. The documentation of the SHARC 4 package provides user manuals for all existing interfaces as well as a developers guide and skeleton code to aid the development of new interfaces.
2.1. Overview
As stated above, many nonadiabatic dynamics codes are divided into a dynamics driver (the code that handles the propagation of electronic and nuclear degrees of freedom) and the interface code. How they communicate depends primarily on the kind of information that needs to be exchanged. Here, we exemplarily describe the case for the TSH method as implemented in the SHARC package; however, other methods and packages handle very similar information.
The evolution of the electronic wave function depends on the total electronic Hamiltonian matrix, containing the electronic energies and all relevant coupling terms (e.g., spin–orbit couplings or electric dipole–electric field interactions). The solution of the electronic equation of motion further requires (with exceptions) either nonadiabatic coupling vectors or wave function overlaps, ideally including full phase information. Additionally, to solve the nuclear equation of motion, in TSH one requires the gradients of some or all of the electronic states. Lastly, often it is convenient to compute additional arbitrary data that does not affect the dynamics but is stored for subsequent analyses (e.g., wave function descriptors or ionization probabilities).
Within SHARC, this large set of electronic structure data is provided to the dynamics driver by the interfaces in response to an “interface call” (thus, the driver is referred to as a “caller” below in some instances). In such a call, the driver-provided input consists of the molecule (elements, coordinates, number of states per multiplicity, total charge per multiplicity) and the set of requests that tells the interface which electronic quantities are needed. Other input (e.g., basis set, active space, or density functional) is interface-specific and hidden from the driver. This strict separation between the data known by the driver and by the interface is an important design feature of the interfaces presented in this work, as separation facilitates modularity and interoperability.
The new interface framework is written in Python 3 in an object-oriented fashion. We use the concept of inheritance, which allows classes to reuse and extend code from base classes. Through inheritance, a derived class automatically gains the attributes and methods of its base class. This ensures consistent behavior across related classes. Additionally, a derived class can modify or add methods to implement specialized behavior while preserving the overall structure of the base class. Inheritance minimizes the amount of repeated code and facilitates efficient code maintenance. Two data classesone for all input information and one for the electronic quantities to be returnedare the foundation of the implementation. A general interface base class lays out the strict rules to which all interfaces have to adhere, as described in detail below. Three derived base classes expand the general base class and add code that is useful for certain types of interfaces. Compared to the interfaces that were used in SHARC in the past, the new framework imposes a relatively strict structure to the code. While this somewhat limits the freedom of the developer of an interface, it also simplifies creating a new interface because many required routines are already present and only the interface-specific code needs to be written.
Besides simplifying the development, the strict interface specifications also facilitate that each interface can be directly called from within Python. This makes new interfaces directly usable in a file-I/O-free fashion for improved performance. Furthermore, and perhaps most interesting, the new interface framework makes it possible that a “parent” interface (another example of a “caller”) calls other “child” interfaces, a concept that we shall denote as a hybrid interface. This name is chosen because hybrid interfaces facilitate hybrid methods (e.g., hybrid QM/MM) that use different child interfaces for different regions of the system. However, the concept is even more versatile because child interfaces can also be hybrid interfaces and possess their own children. Such nesting of interfaces enables to setup complex workflows with little or no effort of actually modifying the source code, as we will detail below.
2.2. Data Classes
Here the new structures used for handling data in the interfaces are discussed. Figure provides an overview over the most important information pertinent to each class.
1.
Overview over the organization and data content of the code classes of the SHARC interface framework. (a) The QMin class collects all input information needed into several subdictionaries. (b) The QMout class contains the basic dimensions of the system, the results of any requests (e.g., the Hamiltonian matrix, the array of dipole moment matrices), and methods for the initialization of the object and reading from/writing the data to a file. (c) The SHARC interface base class defines the most important routines of all interfaces for initialization, for all operations carried out at each time step (i.e., at runtime), and for setting up the interface-specific input files. (d) From the base class, three families of interfaces are derived. Fast interfaces have code that allows storage of data that would normally written to files in each time step. Ab initio interfaces possess code for running external programs in subprocesses (possibly in parallel) and for running auxiliary code like wfoverlaps or TheoDORE. Hybrid interfaces contain code to initialize and run a set of child interfaces. Code for functionality mentioned in (c–d) is automatically inherited by all interfaces derived from the respective base class.
2.2.1. QMin Data Class
The QMin object stores all the information required by a SHARC interface to perform its tasks. The data values can be accessed by various keys in a hierarchical manner (as a dictionary of dictionaries in Python jargon) with built-in type checking and automatic casting functionalities. Most subdictionaries in the QMin object are automatically populated by the base classes, reducing the programmer’s workload and removing the need for detailed knowledge of SHARC internals. Another advantage of the fixed structure of the QMin object is that it formalizes the input in a consistent way for all interfaces, which simplifies the interaction between interfaces in hybrid interface schemes. The QMin dataclass contains subdictionaries with the following information sets: molecule, coords, requests, save, template, resources, maps, scheduling, and control. Here, the first four are very strictly regulated, as they only contain information that comes directly from the driver or another caller and are essential for frictionless communication. The template and resources dictionaries contain all interface-specific settings, e.g., basis set, functional, active space, or relativistic effects, and are freely usable by the interfaces. The maps, scheduling, and control dictionaries are optional and only employed by some interfaces, mostly to prepare and schedule calls to quantum chemistry programs.
2.2.2. QMout Data Class
The QMout object is a data class that collects all the requested electronic structure results after they were obtained by the interface, be it from models or from external programs. This data class additionally possesses code (i.e., object methods) to initialize all requested results for the given number of atoms and states, to read/write the results from/to a file, or to print the data for inspection. Further, it is used to return the requested data to the dynamics driver or a parent interface.
The QMout object (and any optional file created from it) is intended to be as self-descriptive as possible. It retains all relevant dimensions of the system, e.g., the number of states per multiplicity, molecular charge per multiplicity, number of atoms, or number of point charges. Within SHARC, the total number of states includes all sublevels of all multipletsfor example, a simulation with 4 singlets and 3 triplets considers a total of 4 + (3 × 3) = 13 states. Therefore, the interface framework also considers explicitly all sublevels, duplicating spin-independent information wherever necessary. The data class is explicitly designed to always cover all possible matrix elements and vectors for all states and their sublevels.
Most attributes of a QMout object hold some resulting electronic data. The Hamiltonian matrix with matrix elements H ij contains the electronic energies H ii = E i and the spin–orbit couplings if pertinent, so that it is an n total × n total array. The wave function overlaps matrix (i.e., S ij = ⟨Ψ i (t 0)|Ψ j (t)⟩) is of the same dimension, whereas the dipole moment tensor (D ijp = ⟨Ψ i |μ p |Ψ j ⟩ with p = {x, y, z}) consists of three such matrices. In the specific case of SHARC, four different derivative tensors are currently handled: the list of gradients (size n total × n atom × 3), the tensor containing the nonadiabatic coupling vectors (n total × n atom × 3), the derivatives of the spin–orbit couplings (n total × n atom × 3), and the derivatives of the dipole moment tensor (3 × n total × n atom × 3). If the system is embedded with point charges, then four additional tensors contain the respective derivatives with respect to the point charge coordinates.
To enable more sophisticated postprocessing as well as fragment-based electronic structure calculations, the interfaces can also communicate information on the electronic densities through the QMout object. To this end, a separate entry contains the information on the atomic basis set (following PySCF conventions), and a second entry can contain the full tensor of all nonzero electron and spin density matrices in the atomic orbital basis. Alternatively, several SHARC interfaces can – rather than passing the electron densities to the caller– obtain an atom-centered distributed multipole expansion by means of a restrained electrostatic potential fit; the latter represents the Coulombic potential of each state and transition density by a relatively small number of parameters.
Additionally, the QMout object can hold arbitrary electronic structure data that is not intended to directly affect the nonadiabatic dynamics but only computed along the trajectory and stored for a posteriori analyses. Such data can include different contributions to the total energy (e.g., the energy of the MM subsystem in an QM/MM calculation), wave function descriptors of all states from the TheoDORE package, or Dyson norms between all pairs of states to describe ionization probabilities, to name few examples. Within SHARC, these data are called zero-, one-, and two-dimensional properties, because, for a single time step, these are scalar numbers, vectors (with one entry per state), or matrices (with one element per state pair). Finally, QMout can store arbitrary meta-data that the interfaces are free to append, e.g., information on convergence, iteration count, wave function diagnostics, or computation times.
2.3. Interface Base Class
In this and the following sections, we describe the general structure of the new interface code. At the top of the inheritance hierarchy is a base class, from which three derived base classes have been created. Each of the actual, usable interfaces is then built on top of one of the three derived base classes, depending on the type of desired interface.
All new interfaces are derived from the interface base class. This base class defines all essential functionalities of an interface, like creation of the QMin and QMout objects, basic reading of template and resource files, processing of the requests, and a routine that is called if the interface is called as a standalone Python script. Furthermore, the base class defines several abstract methods of an interface object. Abstract methods are routines that are declared to exist in the base class without being actually implemented; these routines must be implemented for each individual interface by the developer. The abstract methods include the interface-specific postprocessing of the requests and template options, scheduling of multiple quantum-chemistry calculations, generating folders with input files, or parsing output files, as well as routines that assist the user in setting up the interface’s own input files. Thus, the base class serves as a guideline for all other interfaces.
An important part of our interface framework is the new concept of a feature set that each interface possesses. By returning its feature set, an interface can communicate which electronic structure properties it can provide and which modes of operation it supports. In this way, e.g., the trajectory setup tool of SHARC can cross-check which dynamics options are possible with a chosen interface, e.g., whether nonadiabatic coupling vectors or wave function overlaps can be used to propagate the electronic wave function, how the velocities will be rescaled, or whether spin–orbit couplings are available. The declaration of feature sets is also critically important to facilitate hybrid interfaces, which require the feature sets of their children to dynamically determine their own feature set and adjust their behavior. For example, in a QM/MM calculation, the MM child needs to return the partial charges of all MM atoms, and the QM child needs to consider these point charges in its calculation. As another example, a numerical differentiation interface can easily check which derivatives a given child can return and which derivatives need to be obtained numerically.
In the spirit of object orientation, we have also revised how the input files for each interface are prepared. In previous SHARC versions, there existed several setup scripts for various tasks, e.g., setting up vertical excitation calculations to obtain initial conditions, setting up trajectories, or setting up calculations to parametrize an LVC model. , Each of these setup scripts contains thousands of lines of code to take care of interface-specific setup tasks, such as checking and writing template files, preparing parallel computations, or copying initial orbital guesses. Within our new interface framework, this step is much simplified, as the setup scripts do not contain any such code anymore. Rather, they rely on the special functions of each interface class that can be called during the setup process. Each interface provides three routines, one to return its feature set, one to query the user for any needed interface-specific input, and one to prepare a folder with all relevant interface-specific input files. In this way, every interface is responsible for ensuring the consistency of its input files, simplifying the maintenance of the setup scripts, and ultimately, making it easier to add new interfaces. Furthermore, this approach enables the setup of hybrid interfacessomething that was not possible with the previous code because static setup logic struggles to handle flexible, hierarchical interface calls. In the new interface framework, each hybrid interface is responsible for its own input and also for recursively calling the setup routines of its children, until the input for the entire call tree is prepared.
The new interfaces can be invoked in several different wayseither they are executed as standalone scripts by means of its main function, or they are initialized and executed from a dynamics driver or a parent hybrid interface. In any case, each interface first goes through several steps of initializationsee Figure cto collect the input that is static. In this way, laborious initialization tasks are carried out only once, rather than at every time step. The first initialization step defines the molecule section of the QMin object (see Figure a), i.e., number of atoms, elements, number of states, multiplicities, charges, and point charges (but no coordinates, as those change during runtime). In the next step, the template file is read, providing interface-specific input ranging from basis set, density functional, or active space, to the definition of analytical or machine learning models. Subsequently, the resource file is read, providing necessary paths, environment options, available CPU cores and memory, and options for auxiliary code (e.g., wave function overlaps code or TheoDORE). The distinction between template and resources is historically grown, but generally follows the rule that all trajectories of a project share the same template file but might use different resource files without affecting the results. The last step of the interface initialization performs various forms of checks of the input; in this phase, hybrid interfaces instantiate their set of child interfaces, leading them recursively through the same initialization steps.
Once an interface is fully initialized, it can be used to carry out any number of electronic structure calculations. In each time step, the dynamics driver will first set the current coordinates and provide a list of requests and some additional information (like the index of the current time step). Subsequently, once the run routine of the interface is called, the actual calculation will start. The interface might, e.g., create directories in the scratch area, generate input files, call external programs, and call auxiliary programs to obtain wave function overlaps or wave function descriptors. In the last step during runtime, all obtained results are read, parsed, and collected in the QMout object (see Figure b). Hybrid interfaces will instead call the run routines of their children, obtain QMout objects from each, and then then assemble their own QMout object. If the interface was called as a standalone script, then as a last step the resulting QMout object is written to a file; alternatively, the QMout object is simply returned to the caller.
In addition to these basic routines for running an interface, the base class provides code concerned with the management of a save directory. Each interface maintains a save directory, where interface-specific data is stored between time steps. This includes files for molecular orbital guesses, files for configuration interaction coefficients to compute wave function overlaps, or coordinates of previous time steps. In the new interface framework, the save directory management from previous SHARC versions has been overhauled, so that at every point in time each file is clearly assigned to a particular time step. The most recent successful time step is stored in a step file for reference. In this way, the interface can dynamically decidebased on the current step requested by the callerwhether the current calculation corresponds to a new time step or a repeated calculation at a previous time step, and whether the previous invocation of the interface was successful. This represents a considerable improvement over earlier SHARC versions, where files were either labeled “old” or “current”, a scheme prone to inconsistency if a computation fails. With the new framework, the timestamp mechanism allows data from previous steps to be retained for later analysis, or to automatically delete them when no longer needed (a form of garbage collection).
One last functionality that is provided by the interface base class is a new logging system. In previous SHARC versions, interfaces are simply providing progress and error information to standard output. With the introduction of the hybrid interfaces, this approach is no longer viable, as multiple interfaces (parent, children, and possibly further descendants) would write concurrently to the same output. The new logging system makes it possible to redirect the output of each interface within the interface tree to separate targets (standard out, files, sockets, etc.), such that output can be clearly assigned to the interface that produced it. Additionally, the logging system provides different verbosity levels to better control the amount of output for debugging, testing, and production runs.
2.4. Derived Base Classes
The base interface class described above is kept very general, only including methods that are necessary or useful for the majority of interfaces. Further generic code that is useful only to certain types of interfaces is placed in three derived base classes, that we label as fast interfaces, ab initio interfaces, and hybrid interfaces. These derived base classes inherit all attributes and methods from the base interface class and complement them with additional functionality that is summarized in Figure d. Like the base interface class, the derived base classes are abstract classes and cannot be instantiated. The actual ready-to-use interfaces are then derived from any of these three derived base classes. For example, the SHARC–LVC interface follows the inheritance relationship: interface base class → derived base class for fast interfaces → LVC interface. In this way, the LVC interface inherits all code for setup, initialization, run time, and persistance, as given in Figure c–d.
2.4.1. Base Class for Fast Interfaces
The base class for fast interfaces provides code for methods that neither rely on file I/O nor on calls to external software. This includes interfaces that deal with preparameterized potential energy surfaces (PES), such as analytical ones, those derived from vibronic coupling models, , or PES obtained from machine learning. , All of these methods provide electronic quantities at very low computational cost, and therefore it is important that trajectories using these interfaces suffer as little computational overhead as possible. Therefore, the fast interface base class provides code to manage the save directory content efficiently, i.e., such that all data that would normally be written to the save directory is instead stored in memory. The code otherwise mimics the normal save directory behavior, e.g., assigning each data to a time step, storing the last successful time step, etc. Additionally, the full set of saved data is written to the save directory during the last time step of a run and is fully read in when a trajectory is restarted.
2.4.2. Base Class for Ab Initio Interfaces
The base class for ab initio interfaces contains functionality to launch external programs and to utilize the auxiliary programs wfoverlap and TheoDORE. Additionally, it provides logic to schedule multiple calls of the same quantum chemistry program, either for parallelization purposes, or because some quantum chemistry codes cannot provide all required data in one single run (e.g., some packages can only compute one excited-state gradient at a time). Third, the base class provides generic code to generate and handle various density matrices and to perform electrostatic potential fits of electron densities.
2.4.3. Base Class for Hybrid Interfaces
While the base classes for fast and ab initio interfaces to some extent unify and refactor functionality that was already present in previous SHARC versions, the base class for hybrid interfaces provides entirely new functionalities. This base class provides functionality to streamline the instantiation and execution of a set of child interfaces, including code aiding in tracing errors in any of the child interfaces. Furthermore, there are separate queue implementations for fast children (with minimized overhead) and for ab initio children (with support for parallelization and large density matrix tensors).
2.5. Example use Cases for Hybrid Interfaces
In the following, we describe few examples of calculation setups that are ideally suited to be performed within hybrid interfaces, which in turn can be derived from the base class for hybrid interfaces (Section ). These examples are illustrated as call trees in Figure . Call trees describe the communication between the parent interface on top and the child interface(s) on the bottom. Incoming input information (described by the QMin data class) is distributed from top to bottom, whereas outgoing electronic structure results (encapsulated by the QMout data class) are retrieved from bottom to top.
2.
Examples of call trees for different hybrid interface schemes. (a) QM/MM using the hybrid interface labeled “QMMM” with LVC as the QM interface and OpenMM as the MM interface in a subtractive scheme (MML = MM of the entire “large” system; MMS = MM of the “small” QM region). (b) Excitonic configuration interaction using the ECI interface. Each fragment is handled by its own child interface. (c) Numerical differentiation using the NUMDIFF interface. It has a reference child interface (ORCA ref) and 3N atom copies of that child interface for every displacement. (d) An example call tree for an adaptive sampling simulation using two SPaiNN machine learning models. If the two models produce disagreeing results on some time step, the ORCA interface is called to add data to an ASE database for further training.
2.5.1. QM/MM with Electrostatic Embedding
The availability of hybrid interfaces has made it possible to completely redesign the implementation of QM/MM simulations with electrostatic embedding in a more convenient and flexible manner, see ref . In previous versions of SHARC, selected existing ab initio interfaces needed to be individually adapted to perform the MM and QM–MM interaction steps, in addition to the QM calculations. In contrast, the use of hybrid interfaces enables a dedicated, general QM/MM interface that is modular and largely agnostic to the programs used for the QM and MM regions. To run QM/MM simulations with electrostatic embedding, the QM/MM interface requires only two components: an MM interface capable of providing energies, gradients, and point charges for all atoms; and a QM interface that can accept these point charges, account for their influence on energies and wave functions, and return gradients (and possibly nonadiabatic couplings) with respect to the point charge positions. Any MM and QM interfaces meeting these requirements can be paired by means of the QM/MM interface. An example of a QM/MM call tree, using the linear vibronic coupling interface as QM interface, and OpenMM as the MM interface is sketched in Figure a.
Several other generic QM/MM implementations for nonadiabatic dynamics simulations were published in recent years, making a comparison with our framework expedient. Examples of such QM/MM implementations include a Gaussian/Tinker-based polarizable scheme in Newton-X, an Amber interface to NEXMD, the modularly designed, I/O-free INAQS scheme, a modular, file-based implementation in JADE, a modular high-performance implementation in ChemShell, another modular implementation in Cuby, and a flexible, file-based implementation in COBRAMM. Most of these QM/MM schemes were implemented in a file-I/O-based manner, ,,, due to a focus on ab initio electronic structure packages for the QM region. Other schemes have limited nonadiabatic capabilities , and focus more on adiabatic dynamics. In terms of modularity and communication philosophy, the INAQS scheme and Cuby are closest to our implementation. However, our presented interface framework is the only scheme that combines nonadiabatic dynamics, I/O-free communication, multiple choices for the QM and MM interfaces (including fast analytical, vibronic coupling, and machine learning models models), integrated support for simulation setup, and the possibility to integrate QM/MM computations with other functionality like machine learning data acquisition or excitonic models.
2.5.2. Excitonic Configuration Interaction (ECI)
ECI is a fragment-based electronic structure method designed to calculate energies of multichromophoric systems. It constructs an effective Hamiltonian from separate calculations for each monomer. This approach, and many related excitonic models, − enables a description of excited states of extended systems with linear to quadratic scaling, which is much more efficient than any electronic structure calculation for the entire system. The ECI method was previously used to compute a Mg2+ coordinating guanine quadruplex, a chain of up to 32 boron-dipyrromethene (BODIPY) molecules, and a two-dimensional layer of up to 100 nitrogen-doped peri-xanthenoxanthene molecules with a total of 43,600 basis functions.
The ECI method is agnostic to the specific electronic structure method used for each of the monomers, requiring only their energies and density matrices in terms of an atomic orbital basis set, which makes it highly flexible. Due to the modularity and flexibility of the ECI method, it is ideally suited to be implemented in the framework of an hybrid interface, allowing for seamless integration of different electronic structure calculations coming from different methods and softwares. An example of a interface call tree for ECI is shown in Figure b, where monomer 1 is computed using TD-DFT in GAUSSIAN, monomer 2 by CASSCF using OpenMOLCAS, and additional monomers through any other chosen interfaces. The only requirement of the child interfaces is to be capable of returning energies and density matrices.
2.5.3. Numerical Differentiation
Using an hybrid interface it is possible to perform numerical differentiation in a flexible manner. Figure c shows a call tree for a newly developed numerical differentiation interface. Using Cartesian displacements of all atoms, this interface can compute gradients, nonadiabatic coupling vectors, and derivatives of spin–orbit coupling and dipole moment matrices. The interface can compute these derivatives in two different ways. In the simpler approach, adiabatic quantities are directly differentiated. Alternatively, the interface can use wave function overlaps to define diabatic states (that coincide with the adiabatic states at the reference geometry), which are then differentiated.
The Hamiltonian matrix at a displaced geometry is defined as H(R⃗ ± δR⃗ ad ) = H ±ad , where R⃗ is the current geometry and R⃗ad is a unit displacement vector for atom a and direction d. This matrix is diagonal and contains the adiabatic energies. Likewise, S(R⃗, R⃗ ± δR⃗ad ) = S ±ad contains the wave function overlaps S ij = ⟨Ψ i (R⃗)|Ψ j (R⃗ ± δR⃗ad )⟩ between the adiabatic states at the reference and displaced geometries. Then, the adiabatic differentiation for gradients is simply done as
| 1 |
and for nonadiabatic coupling vectors as
| 2 |
Alternatively, the diabatic numerical differentiation for gradients follows
| 3 |
while nonadiabatic couplings are obtained from
| 4 |
where ΔE ij is the adiabtic energy gap between states i and j evaluated at the reference geometry R⃗. The diabatic differentiation scheme is more elaborate, but it produces more robust derivatives in situations where significant state mixing occurs between the reference geometry and the displaced ones.
2.5.4. Active Learning
Generating a training data set that adequately samples a large region of the conformational space of a molecule is a resource-intensive task, related to the computational cost of quantum chemical reference calculations. Active learning is able to reduce the number of data points required to train machine learning models by selectively sampling regions of high uncertainty. Starting from an initial training set, two or more preliminary models are trained and used for nonadiabatic dynamicshere, surface hopping trajectories. If these models’ predictions differ significantly at any time step, the geometry is added to the training set. Within the new interface framework, an active learning workflow can be set up using a three-level interface call tree like the one shown in Figure d. This tree contains different components: a fallback interface, an adaptive sampling interface, an interface for ASE databases, interface instances for the SPaiNN machine learning model, and an interface to provide electronic structure results for training, here the quantum chemistry software package ORCA.
The fallback interface is a hybrid interface that uses two children, called the “trial” and “backup” interfaces. In each time step, first the trial interface is called and if it completes successfully, its results are simply passed on to the caller of the fallback interface. If the trial child returns an error (by raising an exception), the fallback interface would use the backup interface to obtain all required results for the current time step. The fallback interface can be set up so that a certain number of consecutive failures will terminate the trajectory.
In the illustrated example, the trial interface is the “adaptive sampling” interface. In turn, this interface is also hybrid with one “leader” child and at least one “advisor” child; here, both leader and advisor are instances of the SPaiNN interface, which have loaded different models for the same molecule. At each time step, the results of the advisor interfaces are compared to those of the leader. If they are consistent, the leader’s results are passed on, ensuring consistency in the PESs. However, if the results from the advisor deviates from those of the leader by more than a predefined threshold, an exception is raised. Here, the adaptive sampling interface allows flexibly customizing how to quantify the deviation of leader and advisors. For each attribute of the QMout object (see above), a separate threshold can be defined. Various error functions (e.g., mean absolute deviation, root-mean-square deviation) and the possibility to load custom error function code are also provided.
The exception raised in the trial child would trigger the call of the backup child of the fallback interface – here, the ASE database interface. The ASE database hybrid interface simply passes all requests onto its only child, which performs the actual computations and returns the results. The ASE database interface writes all results received from its child, plus the current geometry, to a database (using the ASE package) before they are passed on to the caller of the ASE database interface.
Having the database functionality as a separate hybrid interface enables users to easily choose which data to store. For example, in a QM/MM scheme one could choose to store the full-system results of the entire QM/MM calculation (by setting the database interface as parent of the QM/MM interface) or only the results of the QM subsystem (by setting the database interface as the QM child of the QM/MM interface). Likewise, in an ECI calculation, one could store the results of each fragment in a separate database, rather than storing the full-system results. In the active learning scheme in Figure d, only the results of the ORCA calculations are stored, but not the results of the machine learning interfaces, because the database interface only stores the results coming from its own child. We also note that the dynamics driver itself will only ever see the results coming from the parent interface, so that only the results for the entire system are stored by default (by the driver). The child interfaces of hybrid interfaces do not automatically store their results for all time steps, but only files needed for restart/wave function overlaps with the previous time step. Hence, hybrid interfaces would in principle produce the same amount of dynamics simulation data as using a regular interface.
We anticipate that simple single-child hybrid interfaceslike the database interfacecan be used in the future to selectively and flexibly manipulate the electronic structure data according to the user’s demands, without changing the dynamics driver code. For example, a single-child hybrid interface could be used to add a bias potential to all electronic energies and gradients, facilitating accelerated dynamics (e.g., umbrella sampling). One could also multiply the spin–orbit couplings by a factor in order to investigate the dependence of intersystem crossing time scale and yield on the magnitude of these couplings. Likewise, one could set the gradients on certain atoms to zero in order to anchor them in space, e.g., as done in some QM/MM schemes.
3. Computational Details
The capabilities of the new interface framework have been already exploited in recent LVC/MM dynamics simulations , and ECI energy calculations. , Here, we further demonstrate its versatility through two additional examples. One is a minimum-energy conical intersection optimization with TDDFT using nonadiabatic coupling vectors from the numerical differentiation interface. In the second example, we create an active learning workflow using hybrid interfaces to train a machine learning model, subsequently used in TSH simulations. For both examples, all relevant input files are provided in a Supporting file archive, whose content is briefly explained in the Supporting Information in Section S1.
As the test system for both examples, we use 4-(Dimethylamino)benzonitrile (DMABN, see Figure ), which has been proposed as the “molecular Tully model II”. , It features two energetically close electronic states and upon photoexcitation, the conical intersection between them is traversed repeatedly. This molecule is an attractive model for our study due to its well-documented excited-state dynamics, its moderate size, relatively low computational cost when treated with TD-DFT, and the absence of ground-state relaxation, which further supports TD-DFT as a suitable method for dynamics.
3.
Structure and atom numbering of 4-(Dimethylamino)benzonitril (DMABN).
All electronic structure calculations were performed using (TD-)DFT with ORCA 6.0.1, with the ωB97X-D3 functional and the def2-SV(P) basis set, along with RIJCOSX, and the Tamm–Dancoff approximation. The calculations are done in gas phase and included three singlet states. For the conical intersection optimization, the “verytightscf” settings and the “defgrid3” integration grid were used. For the trajectories and trainings data points in the active learning workflow, default convergence thresholds and integration grids were employed.
3.1. Minimum-Energy Conical Intersection Optimization
The minimum-energy conical intersection optimization was started from a random snapshot from one of the ML-based trajectories described below (at that snapshot, the S2–S1 energy gap was 0.25 eV). The S2/S1 minimum-energy conical intersection was first approximately optimized using the penalty function approach of Levine et al., using the parameters σ = 3.5 and α = 0.02, as described in that publication, and three states. Note that with this approach, the minimum-energy conical intersection will not be reached exactly, but a small energy gap typically remains, depending on the conical intersection topology and the chosen σ and α. From the final geometry, we continued to optimize toward the minimum energy conical intersection using the algorithm of Bearpark et al., employing numerical gradients and nonadiabatic coupling vectors as computed with the numerical differentiation interface with diabatic differentiation (eqs and ).
3.2. Active Learning
For the active learning workflow, the ground state equilibrium geometry of DMABN was first optimized with DFT as described above. From the obtained frequencies and normal modes, a harmonic Wigner distribution was defined and 1000 geometries were sampled. At each of these geometries, a single-point calculation with the ASE database and ORCA interfaces was performed. The results1001 geometries (equilibrium plus 1000 Wigner samples) with energies and gradients for three singlet stateswere stored in an ASE database. Using this initial data set, two SPaiNN models were trained with different random data splits, maintaining a train/validation/test ratio of 8:1:1.
In the first round of adaptive training, based on the first 500 Wigner samples, a total of 1000 trajectories were launched, each sample separately starting in S1 and S2 to ensure that both states are sampled adequately. The trajectories were propagated with a 0.5 fs time step for up to 1000 fs. Curvature-driven couplings were used to propagate the electronic wave function, because the possible alternatives available within SHARC are not compatible between ORCA and SPaiNN: TD-DFT in ORCA cannot provide nonadiabatic couplings, whereas SPaiNN cannot provide wave function overlaps that could be used with a local diabatization propagator. The trajectories were run using the interface tree displayed in Figure d, with a mean absolute error threshold of 0.8 mE h (22 meV) between leader and advisor for the energies of all three states in the adaptive sampling interface. A trajectory was aborted if exceptions are raised by the adaptive sampling interface in two consecutive time steps. In this way, the 1000 trajectories of the first round produced 3217 new data points.
For the second round of training, two new SPaiNN models were trained with all 4218 data points (equilibrium plus Wigner samples plus points from the first round). The second round was carried out with the same settings as the first one, producing additional 3050 data points.
In a third and final round, with the entire data set of 7268 points, a final SPaiNN model was trained, using the same parameters. Starting in S2, 500 trajectories were launched using this final SPaiNN model. As we did not intend to collect any additional training data points at this stage, these final trajectories were propagated using only the SPaiNN interface rather than the entire interface tree in Figure d, which is computationally more efficient. As a reference, we also propagated 50 trajectories using TD-DFT from ORCA during 300 fs, with otherwise identical settings as in the machine learning trajectories.
4. Results and Discussion
4.1. Minimum-Energy Conical Intersection Optimization
Minimum-energy conical intersections are important for understand photoinduced relaxation mechanisms. They can be optimized in different ways: One is the penalty function algorithm by Levine et al., which only uses gradients but no nonadiabatic couplings, making it amenable to many TD-DFT implementations. This algorithm, however, usually does not find the lowest energy point in the degenerated seam. A second, somewhat more rigorous optimization approach is the projected-gradient technique of Bearpark et al., which can locate the lowest energy point but requires nonadiabatic coupling vectors. Here, we optimize the S2/S1 conical intersection of DMABN with both approaches to show that the new numerical differentiation interface delivers accurate nonadiabatic coupling vectors from TD-DFT.
The results of the two optimizations of the S2/S1 minimum-energy conical intersection are summarized in Table . Both optimized geometries are compared in Figure ; their RMSD is 0.012 Å. As could be expected, the conical intersection optimization with the penalty function method was considerably cheaper than the method using numerical nonadiabatic couplings, with very similar results. There might be other systems and other minimum-energy conical intersections where the two methods will differ significantly more, e.g., in strongly sloped conical intersections. However, in this example the focus is not to promote the numerical approach for production calculations, but to demonstrate that the numerical differentiation scheme produces correct nonadiabatic coupling vectors. Given that the numerical optimization produced a smaller energy gap, we deem this demonstration successful. Our results also confirm that the employed nonadiabatic coupling vectorsderived simply from differentiation of overlaps computed from TD-DFT amplitudesare equivalent to nonadiabatic coupling vectors properly derived from quadratic response theory.
1. Results of the Optimization of the S2/S1 Minimum-Energy Conical Intersection of DMABN, using (i) the Penalty Function Method with Analytical Gradients and (ii) the Projected-gradient Method with Numerical Gradients and Nonadiabatic Coupling Vectors.
| penalty function method | numerical method | |
|---|---|---|
| E total(S 2)/E h | –457.794 075 | –457.794 173 |
| E rel(S 2)/E h | 0.0 | 0.000 098 |
| E rel(S 2)/meV | 0.0 | 2.7 |
| ΔE(S 2–S1)/E h | 0.000 387 | 0.000 048 |
| ΔE(S 2–S1)/meV | 10.5 | 1.3 |
| Iteration count | 38 | 65 |
| Wallclock time | 1 h on 4 CPU cores | 19 h on 21 CPU cores |
on an AMD EPYC 7502 processor with 3.3 GHz.
4.

Overlay of the two optimized structures of the S2/S1 minimum-energy conical intersection of DMABN, obtained using (i) the penalty function method with analytical gradients in blue and (ii) the projected-gradient method with numerical gradients and nonadiabatic coupling vectors in red.
To showcase that similar optimizations of minimum-energy conical intersections could also be carried out with the new interface framework with many other electronic structure methods and packages, we present numerical computations of nonadiabatiac coupling vectors in Figure S2. We computed the S1/S2 nonadiabatic coupling vector at the optimized geometry shown in Figure . We employed TDA-ωB97X/def2-SV(P) in ORCA and Gaussian, TDA-ωB97X/DZP in AMS ADF, TDA-PBE/def2-SVP in NWChem, ADC(2)/def2-SV(P) in Turbomole, and compared to analytical coupling vectors with XMS-CASPT2/cc-pVDZ in OpenMolcas. The results in Figure S2 show that all six calculations produce consistent nonadiabatic coupling vectors, even though vastly different methods were employed. Hence, the interface framework provides a large degree of interoperability that is useful for many users.
4.2. Surface Hopping with Active Learning
Time-resolved electronic populations of the S2, S1, and S0 states obtained from TSH simulations are presented in Figure for reference TD-DFT trajectories (panel a) and for the three sets of machine-learning trajectories, after initial training (b) and after one (c) or two (d) rounds of active learning. The shown populations are classical populations, i.e., fractions of trajectories in each active state. The confidence intervals correspond to a 95% confidence level and were computed as , where P is the current population.
5.
Populations of DMABN trajectories started from S2 with TD-DFT and different SPaiNN models including 95% confidence intervals (shaded areas). (a) TD-DFT reference, 50 trajectories. (b) Model trained on initial conditions, 500 trajectories. (c) Model trained with additional data from the first adaptive sampling run, 500 trajectories. (d) Model trained with additional data from the first and second adaptive sampling run, 500 trajectories.
As shown in Figure a, a large amount of the population initially excited to the S2 state decays quickly to the S1 state. Already after 10 fs, the S1 and S2 populations are of equal magnitude. Afterward, the S1 population increases slower, evidencing superimposed irregular oscillations between the S1 and S2 states that indicate that the respective conical intersection is relatively accessible from the S1 surface. After 300 fs, the S1 population has reached a value of 76 ± 12%. Due to the small number of trajectories (50) the confidence interval is relatively large.
The results obtained with the three machine learning runs are shown in panels b–d. As we ran 500 trajectories in each round, the confidence intervals are significantly narrower than with TD-DFT (panel a). Overall, the agreement of the populations with the TD-DFT reference is qualitatively good. All three models show equal S1 and S2 populations at 9.5 fs and S1 populations at 300 fs of 71 ± 4, 69 ± 4, or 68 ± 4%, respectively. These results agree within the confidence intervals with the TD-DFT values, showing that the rapidly developed machine learning models can effectively reproduce the electronic dynamics of DMABN. We note that the S2 to S1 population transfer might be somewhat slower and decay to S0 somewhat faster for the machine learning models than for TD-DFT. This is because curvature-driven surface hopping is very sensitive to the local curvature of the PES, which is more challenging to learn than the overall large-scale features of the PESs.
We also investigated the agreement of the nuclear dynamics between TD-DFT and machine learning. In Figure , we plot the temporal evolution of the dihedral angle between the aromatic ring and the dimethylamino group. The reference TD-DFT trajectories (panel a) show that, initially, the dihedrals are distributed closely around zero, as provided by the ground state Wigner distribution. Over time, the dihedrals change notably, leading to a bimodal distribution centered around ± 23 degrees with no trajectories remaining near zero. The machine learning trajectory swarms (panels b–d) start from the same Wigner distribution, but clear differences can be observed for the three rounds of active learning. The model trained only on the 1000 Wigner distribution samples exhibit essentially no torsion, so that the dihedrals are still distributed around zero degrees at 300 fs. The two models arising from active learning are much better. The final model (panel d) shows a clear bimodal distribution centered around ± 22 degrees. The satisfactory agreement to the TD-DFT reference evidence that active learning can effectively improve the fidelity of machine learning-predicted PESs.
6.

Dihedral angles of the ring-dimethylamino torsion using atoms 9–4–2–3 (see Figure ). (a) TD-DFT reference from 50 trajectories, (b) SPaiNN model trained on initial conditions from 500 trajectories, (c) SPaiNN model trained on initial conditions plus first adaptive sampling run from 500 trajectories, (d) SPaiNN model trained on initial conditions plus first and second adaptive sampling run from 500 trajectories.
We emphasize that the presented example application serves primarily as a simple demonstration of how workflows can be efficiently encoded using the new hybrid interfaces, rather than a production machine learning surface hopping project. For a full-scale machine learning project, more attention should be paid to the initial sampling, the amount of new data points added per active learning round, and the filtering of data points from already-sampled regions. Nonetheless, the example clearly illustrates that the entire training data acquisition process can be achieved by simply running trajectories with the appropriate interface call tree.
Finally, we want to comment on the computational efficiency of SHARC 4 in conjunction with the class of fast (I/O-free) interfaces. The 500 final trajectories using a single SPaiNN model (Figures d and d) were run on an AMD EPYC 7502 processor (clock speed of 3.3 GHz). We obtained a total wall clock time per trajectory of about 170 s, which amounts to 83 ms per time step or 0.05 CPUh/ps with the used 0.5 fs time steps. For comparison, a trajectory running with the entire interface tree in Figure d (i.e., with active training) cost 171 ms per time step (neglecting any time steps where ORCA was called), due to the use of two SPaiNN models and the overhead from the fallback and adaptive sampling interfaces. One ORCA single point calculation (with three states and three gradients) took about 390 s. Hence, the ORCA computations to produce training data took less than 800 CPUh. The training of both SPaiNN models with the initial data set took about 10 GPUh, the training of both SPaiNN models after the first adaptive sampling run took about 42 GPUh, and the training of the last model after the second adaptive sampling run took about 27 GPUh on a Nvidia Tesla P100 GPU.
5. Conclusions
We have presented a novel software framework for electronic structure interfaces for nonadiabatic dynamics simulations using concepts of object-oriented programming. Within this framework, three base classesfor fast, ab initio, and hybrid interfaceswere introduced, providing general code for interfaces that communicate with different kinds of electronic structure models. The object-oriented design ensures that the code is maintainable, extendable, and reusable. The design and strict interface guidelines make it possible to develop new interfaces quickly without needing to fully understand all internal details. Efficient communication between the driver and interface ensures that fast electronic structure methods can be executed within memory, avoiding overhead caused by file I/O and reinitialization. Furthermore, the use of nested hybrid interfaces allows users to construct custom workflows, without the need to write any code. Although this framework was developed within the context of the SHARC surface hopping package (and is available under the GNU General Public License via GitHub), it is principally standalone code that could easily be used by any nonadiabatic dynamics package. In the future, the interface framework can be used to enable efficient communication with high-performance quantum chemistry software (e.g., Fermions++) or with novel approaches rooted in quantum computing, to incorporate umbrella sampling in excited states, or to develop different multiscale methods. We hope the design of the presented interfaces provides a useful reference for future developments in software targeting excited-state dynamics.
Supplementary Material
Acknowledgments
The authors thank Nicolai Machholdt Høyer for his contribution in developing the numerical differentiation interface, Han Wang and Jesús González-Vázquez for suggestions regarding the diabatic differentiation scheme, Tomislav Piteša and Maximilian X. Tiefenbacher for many discussions regarding the new interface framework, as well as the entire SHARC development team for their valuable contributions through the development of this work. The computational results presented have been achieved (in part) using the Austrian Scientific Computing infrastructure. The authors gratefully acknowledge the University of Vienna for continuous support, in particular within the framework of the Doctoral School of Chemistry (DoSChem). This research was funded in part by the Austrian Science Fund (FWF) [grant DOI 10.55776/I6116] as well as the Deutsche Forschungsgemeinschaft (DFG) [TRR234 “CataLight”, Project ID no. 364549901, subproject C3]. For open access purposes, the authors have applied a CC-BY public copyright license to any author accepted manuscript version arising from this submission.
The Supporting Information is available free of charge at https://pubs.acs.org/doi/10.1021/acs.jctc.5c00878.
Explanations for input files for the adaptive sampling and conical intersection optimization examples, numerical differentiation computation of nonadiabatic coupling vectors with different methods/packages (PDF)
Input files for the adaptive sampling and conical intersection optimization examples (ZIP)
The authors declare no competing financial interest.
References
- Crespo-Otero R., Barbatti M.. Recent Advances and Perspectives on Nonadiabatic Mixed Quantum-Classical Dynamics. Chem. Rev. 2018;118:7026–7068. doi: 10.1021/acs.chemrev.7b00577. [DOI] [PubMed] [Google Scholar]
- Curchod B. F. E., Martínez T. J.. Ab Initio Nonadiabatic Quantum Molecular Dynamics. Chem. Rev. 2018;118:3305–3336. doi: 10.1021/acs.chemrev.7b00423. [DOI] [PubMed] [Google Scholar]
- González, L. ; Lindh, R. . Quantum Chemistry and Dynamics of Excited States: Methods and Applications; John Wiley & Sons Ltd., 2020. [Google Scholar]
- Meyer H.-D., Manthe U., Cederbaum L.. The multi-configurational time-dependent Hartree approach. Chem. Phys. Lett. 1990;165:73–78. doi: 10.1016/0009-2614(90)87014-I. [DOI] [Google Scholar]
- Ben-Nun M., Martínez T. J.. Nonadiabatic molecular dynamics: Validation of the multiple spawning method for a multidimensional problem. J. Chem. Phys. 1998;108:7244–7257. doi: 10.1063/1.476142. [DOI] [Google Scholar]
- Makhov D. V., Glover W. J., Martinez T. J., Shalashilin D. V.. Ab initio multiple cloning algorithm for quantum nonadiabatic molecular dynamics. J. Chem. Phys. 2014;141:054110. doi: 10.1063/1.4891530. [DOI] [PubMed] [Google Scholar]
- Jain A., Sindhu A.. Pedagogical Overview of the Fewest Switches Surface Hopping Method. ACS Omega. 2022;7:45810–45824. doi: 10.1021/acsomega.2c04843. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Mai, S. ; Marquetand, P. ; González, L. . Surface Hopping Molecular Dynamics. 2020. 10.1002/9781119417774.ch16. [DOI]
- Worth G.. Quantics: A general purpose package for Quantum molecular dynamics simulations. Comput. Phys. Commun. 2020;248:107040. doi: 10.1016/j.cpc.2019.107040. [DOI] [Google Scholar]
- Fedorov D. A., Seritan S., Fales B. S., Martínez T. J., Levine B. G.. PySpawn: Software for Nonadiabatic Quantum Molecular Dynamics. J. Chem. Theory Comput. 2020;16:5485–5498. doi: 10.1021/acs.jctc.0c00575. [DOI] [PubMed] [Google Scholar]
- Barbatti M., Bondanza M., Crespo-Otero R., Demoulin B., Dral P. O., Granucci G., Kossoski F., Lischka H., Mennucci B., Mukherjee S., Pederzoli M., Persico M., Pinheiro M. Jr, Pittner J., Plasser F., Sangiogo Gil E., Stojanovic L.. Newton-X Platform: New Software Developments for Surface Hopping and Nuclear Ensembles. J. Chem. Theory Comput. 2022;18:6851–6865. doi: 10.1021/acs.jctc.2c00804. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Freixas V. M., Malone W., Li X., Song H., Negrin-Yuvero H., Pérez-Castillo R., White A., Gibson T. R., Makhov D. V., Shalashilin D. V., Zhang Y., Fedik N., Kulichenko M., Messerly R., Mohanam L. N., Sharifzadeh S., Bastida A., Mukamel S., Fernandez-Alberti S., Tretiak S.. NEXMD v2.0 Software Package for Nonadiabatic Excited State Molecular Dynamics Simulations. J. Chem. Theory Comput. 2023;19:5356–5368. doi: 10.1021/acs.jctc.3c00583. [DOI] [PubMed] [Google Scholar]
- Du L., Lan Z.. An On-the-Fly Surface-Hopping Program JADE for Nonadiabatic Molecular Dynamics of Polyatomic Systems: Implementation and Applications. J. Chem. Theory Comput. 2015;11:1360–1374. doi: 10.1021/ct501106d. [DOI] [PubMed] [Google Scholar]
- Shakiba M., Smith B., Li W., Dutra M., Jain A., Sun X., Garashchuk S., Akimov A.. Libra: A modular software library for quantum nonadiabatic dynamics. Software Impacts. 2022;14:100445. doi: 10.1016/j.simpa.2022.100445. [DOI] [Google Scholar]
- Akimov A. V., Prezhdo O. V.. The PYXAID Program for Non-Adiabatic Molecular Dynamics in Condensed Matter Systems. J. Chem. Theory Comput. 2013;9:4959–4972. doi: 10.1021/ct400641n. [DOI] [PubMed] [Google Scholar]
- Mai, S. ; Bachmair, B. ; Gagliardi, L. ; Gallmetzer, H. G. ; Grünewald, L. ; Hennefarth, M. R. ; Høyer, N. M. ; Korsaye, F. A. ; Mausenberger, S. ; Oppel, M. ; Piteša, T. ; Polonius, S. ; Gil, E. S. ; Shu, Y. ; Singer, N. K. ; Tiefenbacher, M. X. ; Truhlar, D. G. ; Vörös, D. ; Zhang, L. ; González, L. . SHARC4.0: Surface Hopping Including Arbitrary Couplings – Program Package for Non-Adiabatic Dynamics. 2025. 10.5281/zenodo.15496427. [DOI]
- Mai S., Marquetand P., González L.. Nonadiabatic dynamics: The SHARC approach. WIREs Comput. Mol. Sci. 2018;8:e1370. doi: 10.1002/wcms.1370. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Berquist E., Dumi A., Upadhyay S., Abarbanel O. D., Cho M., Gaur S., Cano Gil V. H., Hutchison G. R., Lee O. S., Rosen A. S., Schamnad S., Schneider F. S. S., Steinmann C., Stolyarchuk M., Vandezande J. E., Zak W., Langner K. M.. cclib 2.0: An updated architecture for interoperable computational chemistry. J. Chem. Phys. 2024;161:042501. doi: 10.1063/5.0216778. [DOI] [PubMed] [Google Scholar]
- Verstraelen T., Adams W., Pujal L., Tehrani A., Kelly B. D., Macaya L., Meng F., Richer M., Hernández-Esparza R., Yang X. D., Chan M., Kim T. D., Cools-Ceuppens M., Chuiko V., Vöhringer-Martinez E., Ayers P. W., Heidar-Zadeh F.. IOData: A python library for reading, writing, and converting computational chemistry file formats and generating input files. J. Comput. Chem. 2021;42:458–464. doi: 10.1002/jcc.26468. [DOI] [PubMed] [Google Scholar]
- Larsen A. H., Mortensen J. J., Blomqvist J., Castelli I. E., Christensen R., Dułak M., Friis J., Groves M. N., Hammer B., Hargus C., Hermes E. D., Jennings P. C., Jensen P. B., Kermode J., Kitchin J. R., Kolsbjerg E. L., Kubal J., Kaasbjerg K., Lysgaard S., Maronsson J. B., Maxson T., Olsen T., Pastewka L., Peterson A., Rostgaard C., Schiøtz J., Schütt O., Strange M., Thygesen K. S., Vegge T., Vilhelmsen L., Walter M., Zeng Z., Jacobsen K. W.. The atomic simulation environment–a Python library for working with atoms. J. Phys.: Condens. Matter. 2017;29:273002. doi: 10.1088/1361-648X/aa680e. [DOI] [PubMed] [Google Scholar]
- Smith D. G. A., Altarawy D., Burns L. A., Welborn M., Naden L. N., Ward L., Ellis S., Pritchard B. P., Crawford T. D.. The MolSSI QCArchive project: An open-source platform to compute, organize, and share quantum chemistry data. WIREs Comput. Mol. Sci. 2021;11:e1491. doi: 10.1002/wcms.1491. [DOI] [Google Scholar]
- Menger M. F. S. J., Ehrmaier J., Faraji S.. PySurf: A Framework for Database Accelerated Direct Dynamics. J. Chem. Theory Comput. 2020;16:7681–7689. doi: 10.1021/acs.jctc.0c00825. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Akimov A. V., Prezhdo O. V.. Large-Scale Computations in Chemistry: A Bird’s Eye View of a Vibrant Field. Chem. Rev. 2015;115:5797–5890. doi: 10.1021/cr500524c. [DOI] [PubMed] [Google Scholar]
- Rüger R., van Lenthe E., Heine T., Visscher L.. Tight-binding approximations to time-dependent density functional theory – A fast approach for the calculation of electronically excited states. J. Chem. Phys. 2016;144:184103. doi: 10.1063/1.4948647. [DOI] [PubMed] [Google Scholar]
- Köppel H., Domcke W., Cederbaum L. S.. Multimode Molecular Dynamics Beyond the Born-Oppenheimer Approximation. Adv. Chem. Phys. 1984;57:59–246. doi: 10.1002/9780470142813.ch2. [DOI] [Google Scholar]
- Behler J.. Perspective: Machine learning potentials for atomistic simulations. J. Chem. Phys. 2016;145:170901. doi: 10.1063/1.4966192. [DOI] [PubMed] [Google Scholar]
- Plasser F., Gómez S., Menger M. F. S. J., Mai S., González L.. Highly efficient surface hopping dynamics using a linear vibronic coupling model. Phys. Chem. Chem. Phys. 2019;21:57–69. doi: 10.1039/C8CP05662E. [DOI] [PubMed] [Google Scholar]
- Cruzeiro V. W. D., Wang Y., Pieri E., Hohenstein E. G., Martínez T. J.. TeraChem protocol buffers (TCPB): Accelerating QM and QM/MM simulations with a client-server model. J. Chem. Phys. 2023;158:044801. doi: 10.1063/5.0130886. [DOI] [PubMed] [Google Scholar]
- Mukherjee S., Pinheiro M., Demoulin B., Barbatti M.. Simulations of molecular photodynamics in long timescales. Philos. Trans. R. Soc., A. 2022;380:20200382. doi: 10.1098/rsta.2020.0382. [DOI] [PMC free article] [PubMed] [Google Scholar]
- de Oliveira Bispo M., Barbatti M.. Accelerating Molecular Dynamics Simulations Using Socket-Based Interprocess Communication. J. Phys. Chem. Lett. 2024;15:11891–11895. doi: 10.1021/acs.jpclett.4c02860. [DOI] [PubMed] [Google Scholar]
- Zobel J. P., Heindl M., Plasser F., Mai S., González L.. Surface Hopping Dynamics on Vibronic Coupling Models. Acc. Chem. Res. 2021;54:3760–3771. doi: 10.1021/acs.accounts.1c00485. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Westermayr J., Gastegger M., Menger M. F. S. J., Mai S., González L., Marquetand P.. Machine learning enables long time scale molecular photodynamics simulations. Chem. Sci. 2019;10:8100–8107. doi: 10.1039/C9SC01742A. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Lehtola S.. A call to arms: Making the case for more reusable libraries. J. Chem. Phys. 2023;159:180901. doi: 10.1063/5.0175165. [DOI] [PubMed] [Google Scholar]
- Di Felice R., Mayes M. L., Richard R. M., Williams-Young D. B., Chan G. K.-L., de Jong W. A., Govind N., Head-Gordon M., Hermes M. R., Kowalski K., Li X., Lischka H., Mueller K. T., Mutlu E., Niklasson A. M. N., Pederson M. R., Peng B., Shepard R., Valeev E. F., van Schilfgaarde M., Vlaisavljevich B., Windus T. L., Xantheas S. S., Zhang X., Zimmerman P. M.. A Perspective on Sustainable Computational Chemistry Software Development and Integration. J. Chem. Theory Comput. 2023;19:7056–7076. doi: 10.1021/acs.jctc.3c00419. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Toldo J. M., do Casal M. T., Ventura E., do Monte S. A., Barbatti M.. Surface hopping modeling of charge and energy transfer in active environments. Phys. Chem. Chem. Phys. 2023;25:8293–8316. doi: 10.1039/D3CP00247K. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Collins M. A., Bettens R. P. A.. Energy-Based Molecular Fragmentation Methods. Chem. Rev. 2015;115:5607–5642. doi: 10.1021/cr500455b. [DOI] [PubMed] [Google Scholar]
- Gordon M. S., Fedorov D. G., Pruitt S. R., Slipchenko L. V.. Fragmentation Methods: A Route to Accurate Calculations on Large Systems. Chem. Rev. 2012;112:632–672. doi: 10.1021/cr200093j. [DOI] [PubMed] [Google Scholar]
- Piteša T., Polonius S., González L., Mai S.. Excitonic Configuration Interaction: Going Beyond the Frenkel Exciton Model. J. Chem. Theory Comput. 2024;20:5609–5634. doi: 10.1021/acs.jctc.4c00157. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Sangiogo Gil E., Giustini A., Accomasso D., Granucci G.. Excitonic Approach for Nonadiabatic Dynamics: Extending Beyond the Frenkel Exciton Model. J. Chem. Theory Comput. 2024;20:8437–8449. doi: 10.1021/acs.jctc.4c00886. [DOI] [PubMed] [Google Scholar]
- Reiner M. M., Bachmair B., Tiefenbacher M. X., Mai S., González L., Marquetand P., Dellago C.. Nonadiabatic Forward Flux Sampling for Excited-State Rare Events. J. Chem. Theory Comput. 2023;19:1657–1671. doi: 10.1021/acs.jctc.2c01088. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Lindner J. O., Sultangaleeva K., Röhr M. I. S., Mitrić R.. metaFALCON: A Program Package for Automatic Sampling of Conical Intersection Seams Using Multistate Metadynamics. J. Chem. Theory Comput. 2019;15:3450–3460. doi: 10.1021/acs.jctc.9b00029. [DOI] [PubMed] [Google Scholar]
- Pieri E., Lahana D., Chang A. M., Aldaz C. R., Thompson K. C., Martínez T. J.. The non-adiabatic nanoreactor: towards the automated discovery of photochemistry. Chem. Sci. 2021;12:7294–7307. doi: 10.1039/D1SC00775K. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Westermayr J., Gastegger M.. Marquetand, P. Combining SchNet and SHARC: The SchNarc Machine Learning Approach for Excited-State Dynamics. J. Phys. Chem. Lett. 2020;11:3828–3834. doi: 10.1021/acs.jpclett.0c00527. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Mausenberger S., Müller C., Tkatchenko A., Marquetand P., González L., Westermayr J.. SPaiNN: equivariant message passing for excited-state nonadiabatic molecular dynamics. Chem. Sci. 2024;15:15880–15890. doi: 10.1039/D4SC04164J. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Li J., Reiser P., Boswell B. R., Eberhard A., Burns N. Z., Friederich P., Lopez S. A.. Automatic discovery of photoisomerization mechanisms with nanosecond machine learning photodynamics simulations. Chem. Sci. 2021;12:5302–5314. doi: 10.1039/D0SC05610C. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Dral P. O., Barbatti M.. Molecular excited states through a machine learning lens. Nat. Rev. Chem. 2021;5:388–405. doi: 10.1038/s41570-021-00278-1. [DOI] [PubMed] [Google Scholar]
- Bondanza M., Demoulin B., Lipparini F., Barbatti M., Mennucci B.. Trajectory Surface Hopping for a Polarizable Embedding QM/MM Formulation. J. Phys. Chem. A. 2022;126:6780–6789. doi: 10.1021/acs.jpca.2c04756. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Cofer-Shabica D. V., Menger M. F. S. J., Ou Q., Shao Y., Subotnik J. E., Faraji S.. INAQS, a Generic Interface for Nonadiabatic QM/MM Dynamics: Design, Implementation, and Validation for GROMACS/Q-CHEM simulations. J. Chem. Theory Comput. 2022;18:4601–4614. doi: 10.1021/acs.jctc.2c00204. [DOI] [PubMed] [Google Scholar]
- Tracy D. A., Fernandez-Alberti S., Tretiak S., Roitberg A. E.. Adiabatic Excited-State Molecular Dynamics with an Explicit Solvent: NEXMD-SANDER Implementation. J. Chem. Theory Comput. 2022;18:5213–5220. doi: 10.1021/acs.jctc.2c00561. [DOI] [PubMed] [Google Scholar]
- Lu Y., Farrow M. R., Fayon P., Logsdail A. J., Sokol A. A., Catlow C. R. A., Sherwood P., Keal T. W.. Open-Source, Python-Based Redevelopment of the ChemShell Multiscale QM/MM Environment. J. Chem. Theory Comput. 2019;15:1317–1328. doi: 10.1021/acs.jctc.8b01036. [DOI] [PubMed] [Google Scholar]
- Pederson J. P., McDaniel J. G.. PyDFT-QMMM: A modular, extensible software framework for DFT-based QM/MM molecular dynamics. J. Phys. Chem. A. 2024;161:034103. doi: 10.1063/5.0219851. [DOI] [PubMed] [Google Scholar]
- Raghavan B., Schackert F. K., Levy A., Johnson S. K., Ippoliti E., Mandelli D., Olsen J. M. H., Rothlisberger U., Carloni P.. MiMiCPy: An Efficient Toolkit for MiMiC-Based QM/MM Simulations. J. Chem. Inf. Model. 2023;63:1406–1412. doi: 10.1021/acs.jcim.2c01620. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Worth, G. A. ; Lasorne, B. . Quantum Chemistry and Dynamics of Excited States; Wiley, 2020; pp 413–433 10.1002/9781119417774.ch13. [DOI] [Google Scholar]
- Řezáč J.. Cuby: An integrative framework for computational chemistry. J. Comput. Chem. 2016;37:1230–1237. doi: 10.1002/jcc.24312. [DOI] [PubMed] [Google Scholar]
- Polonius S., Zhuravel O., Bachmair B., Mai S.. LVC/MM: A Hybrid Linear Vibronic Coupling/Molecular Mechanics Model with Distributed Multipole-Based Electrostatic Embedding for Highly Efficient Surface Hopping Dynamics in Solution. J. Chem. Theory Comput. 2023;19:7171–7186. doi: 10.1021/acs.jctc.3c00805. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Mai S., Marquetand P., González L.. A general method to describe intersystem crossing dynamics in trajectory surface hopping. Int. J. Quantum Chem. 2015;115:1215–1231. doi: 10.1002/qua.24891. [DOI] [Google Scholar]
- Shu Y., Zhang L., Chen X., Sun S., Huang Y., Truhlar D. G.. Nonadiabatic Dynamics Algorithms with Only Potential Energies and Gradients: Curvature-Driven Coherent Switching with Decay of Mixing and Curvature-Driven Trajectory Surface Hopping. J. Chem. Theory Comput. 2022;18:1320–1328. doi: 10.1021/acs.jctc.1c01080. [DOI] [PubMed] [Google Scholar]
- Plasser F., Ruckenbauer M., Mai S., Oppel M., Marquetand P., González L.. Efficient and Flexible Computation of Many-Electron Wave Function Overlaps. J. Chem. Theory Comput. 2016;12:1207–1219. doi: 10.1021/acs.jctc.5b01148. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Akimov A. V.. A Simple Phase Correction Makes a Big Difference in Nonadiabatic Molecular Dynamics. J. Phys. Chem. Lett. 2018;9:6096–6102. doi: 10.1021/acs.jpclett.8b02826. [DOI] [PubMed] [Google Scholar]
- Plasser F.. TheoDORE: A toolbox for a detailed and automated analysis of electronic excited state computations. J. Chem. Phys. 2020;152:084108. doi: 10.1063/1.5143076. [DOI] [PubMed] [Google Scholar]
- Sun Q., Zhang X., Banerjee S., Bao P., Barbry M., Blunt N. S., Bogdanov N. A., Booth G. H., Chen J., Cui Z.-H., Eriksen J. J., Gao Y., Guo S., Hermann J., Hermes M. R., Koh K., Koval P., Lehtola S., Li Z., Liu J., Mardirossian N., McClain J. D., Motta M., Mussard B., Pham H. Q., Pulkin A., Purwanto W., Robinson P. J., Ronca E., Sayfutyarova E. R., Scheurer M., Schurkus H. F., Smith J. E. T., Sun C., Sun S.-N., Upadhyay S., Wagner L. K., Wang X., White A., Whitfield J. D., Williamson M. J., Wouters S., Yang J., Yu J. M., Zhu T., Berkelbach T. C., Sharma S., Sokolov A. Y., Chan G. K.-L.. Recent developments in the PySCF program package. J. Chem. Phys. 2020;153:024109. doi: 10.1063/5.0006074. [DOI] [PubMed] [Google Scholar]
- Fumanal M., Plasser F., Mai S., Daniel C., Gindensperger E.. Interstate vibronic coupling constants between electronic excited states for complex molecules. J. Chem. Phys. 2018;148:124119. doi: 10.1063/1.5022760. [DOI] [PubMed] [Google Scholar]
- Farkhutdinova D., Polonius S., Karrer P., Mai S., González L.. Parametrization of Linear Vibronic Coupling Models for Degenerate Electronic States. J. Phys. Chem. A. 2025;129:2655–2666. doi: 10.1021/acs.jpca.4c07472. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Eastman P., Galvelis R., Peláez R. P., Abreu C. R. A., Farr S. E., Gallicchio E., Gorenko A., Henry M. M., Hu F., Huang J., Krämer A., Michel J., Mitchell J. A., Pande V. S., Rodrigues J. P., Rodriguez-Guerra J., Simmonett A. C., Singh S., Swails J., Turner P., Wang Y., Zhang I., Chodera J. D., De Fabritiis G., Markland T. E.. OpenMM 8: Molecular Dynamics Simulation with Machine Learning Potentials. J. Phys. Chem. B. 2024;128:109–116. doi: 10.1021/acs.jpcb.3c06662. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Huang H., Peng J., Zhang Y., Gu F. L., Lan Z., Xu C.. The development of the QM/MM interface and its application for the on-the-fly QM/MM nonadiabatic dynamics in JADE package: Theory, implementation, and applications. J. Chem. Phys. 2024;160:234101. doi: 10.1063/5.0215036. [DOI] [PubMed] [Google Scholar]
- Avagliano D., Bonfanti M., Nenov A., Garavelli M.. Automatized protocol and interface to simulate QM/MM time-resolved transient absorption at TD-DFT level with COBRAMM. J. Comput. Chem. 2022;43:1641–1655. doi: 10.1002/jcc.26966. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Li X., Parrish R. M., Liu F., Kokkila Schumacher S. I. L., Martínez T. J.. An Ab Initio Exciton Model Including Charge-Transfer Excited States. J. Chem. Theory Comput. 2017;13:3493–3504. doi: 10.1021/acs.jctc.7b00171. [DOI] [PubMed] [Google Scholar]
- Morrison A. F., You Z.-Q., Herbert J. M.. Ab Initio Implementation of the Frenkel-Davydov Exciton Model: A Naturally Parallelizable Approach to Computing Collective Excitations in Crystals and Aggregates. J. Chem. Theory Comput. 2014;10:5366–5376. doi: 10.1021/ct500765m. [DOI] [PubMed] [Google Scholar]
- Gil E. S., Granucci G., Persico M.. Surface Hopping Dynamics with the Frenkel Exciton Model in a Semiempirical Framework. J. Chem. Theory Comput. 2021;17:7373–7383. doi: 10.1021/acs.jctc.1c00942. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Menger M. F. S. J., Plasser F., Mennucci B., González L.. Surface Hopping within an Exciton Picture. An Electrostatic Embedding Scheme. J. Chem. Theory Comput. 2018;14:6139–6148. doi: 10.1021/acs.jctc.8b00763. [DOI] [PubMed] [Google Scholar]
- Piteša T., Mai S., González L.. Efficient Excitonic Configuration Interaction for Large-Scale Multichromophoric Systems Using the Resolution-of-Identity Approximation. J. Phys. Chem. Lett. 2025;16:2800–2807. doi: 10.1021/acs.jpclett.5c00065. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Frisch, M. J. ; Trucks, G. W. ; Schlegel, H. B. ; Scuseria, G. E. ; Robb, M. A. ; Cheeseman, J. R. ; Scalmani, G. ; Barone, V. ; Petersson, G. A. ; Nakatsuji, H. ; Li, X. ; Caricato, M. ; Marenich, A. V. ; Bloino, J. ; Janesko, B. G. ; Gomperts, R. ; Mennucci, B. ; Hratchian, H. P. ; Ortiz, J. V. ; Izmaylov, A. F. ; Sonnenberg, J. L. ; Williams-Young, D. ; Ding, F. ; Lipparini, F. ; Egidi, F. ; Goings, J. ; Peng, B. ; Petrone, A. ; Henderson, T. ; Ranasinghe, D. ; Zakrzewski, V. G. ; Gao, J. ; Rega, N. ; Zheng, G. ; Liang, W. ; Hada, M. ; Ehara, M. ; Toyota, K. ; Fukuda, R. ; Hasegawa, J. ; Ishida, M. ; Nakajima, T. ; Honda, Y. ; Kitao, O. ; Nakai, H. ; Vreven, T. ; Throssell, K. ; Montgomery, J. A., Jr. ; Peralta, J. E. ; Ogliaro, F. ; Bearpark, M. J. ; Heyd, J. J. ; Brothers, E. N. ; Kudin, K. N. ; Staroverov, V. N. ; Keith, T. A. ; Kobayashi, R. ; Normand, J. ; Raghavachari, K. ; Rendell, A. P. ; Burant, J. C. ; Iyengar, S. S. ; Tomasi, J. ; Cossi, M. ; Millam, J. M. ; Klene, M. ; Adamo, C. ; Cammi, R. ; Ochterski, J. W. ; Martin, R. L. ; Morokuma, K. ; Farkas, O. ; Foresman, J. B. ; Fox, D. J. . Gaussian 16, Revision C.01.; Gaussian Inc.: Wallingford CT, 2016. [Google Scholar]
- Li Manni G., Fdez Galván I., Alavi A., Aleotti F., Aquilante F., Autschbach J., Avagliano D., Baiardi A., Bao J. J., Battaglia S., Birnoschi L., Blanco-González A., Bokarev S. I., Broer R., Cacciari R., Calio P. B., Carlson R. K., Carvalho Couto R., Cerdán L., Chibotaru L. F., Chilton N. F., Church J. R., Conti I., Coriani S., Cuéllar-Zuquin J., Daoud R. E., Dattani N., Decleva P., de Graaf C., Delcey M. G., De Vico L., Dobrautz W., Dong S. S., Feng R., Ferré N., Filatov(Gulak M., Gagliardi L., Garavelli M., González L., Guan Y., Guo M., Hennefarth M. R., Hermes M. R., Hoyer C. E., Huix-Rotllant M., Jaiswal V. K., Kaiser A., Kaliakin D. S., Khamesian M., King D. S., Kochetov V., Krosnicki M., Kumaar A. A., Larsson E. D., Lehtola S., Lepetit M.-B., Lischka H., López Ríos P., Lundberg M., Ma D., Mai S., Marquetand P., Merritt I. C. D., Montorsi F., Mörchen M., Nenov A., Nguyen V. H. A., Nishimoto Y., Oakley M. S., Olivucci M., Oppel M., Padula D., Pandharkar R., Phung Q. M., Plasser F., Raggi G., Rebolini E., Reiher M., Rivalta I., Roca-Sanjuán D., Romig T., Safari A. A., Sánchez-Mansilla A., Sand A. M., Schapiro I., Scott T. R., Segarra-Martí J., Segatta F., Sergentu D.-C., Sharma P., Shepard R., Shu Y., Staab J. K., Straatsma T. P., Sørensen L. K., Tenorio B. N. C., Truhlar D. G., Ungur L., Vacher M., Veryazov V., Voß T. A., Weser O., Wu D., Yang X., Yarkony D., Zhou C., Zobel J. P., Lindh R.. OpenMolcas Web: ACommunity-Driven Approach to Advancing Computational Chemistry. J. Chem. Theory Comput. 2023;19:6933–6991. doi: 10.1021/acs.jctc.3c00182. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Kulichenko M., Barros K., Lubbers N., Li Y. W., Messerly R., Tretiak S., Smith J. S., Nebgen B.. Uncertainty-driven dynamics for active learning of interatomic potentials. Nat. Comput. Sci. 2023;3:230–239. doi: 10.1038/s43588-023-00406-5. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Neese F.. Software update: the ORCA program system, version 5.0. WIRES Comput. Mol. Sci. 2022;12:e1606. doi: 10.1002/wcms.1606. [DOI] [Google Scholar]
- Shen W., Zhou T., Shi X.. Enhanced sampling in molecular dynamics simulations and their latest applications–A review. Nano Res. 2023;16:13474–13497. doi: 10.1007/s12274-023-6311-9. [DOI] [Google Scholar]
- Polonius S., González L., Mai S.. Ultrafast Solvent Migration in an Iron Complex Revealed by Nonadiabatic Dynamics Simulations. Chem. Sci. 2025;16:11128. doi: 10.1039/D5SC01174D. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Ibele L. M., Curchod B. F. E.. A molecular perspective on Tully models for nonadiabatic dynamics. Phys. Chem. Chem. Phys. 2020;22:15183–15196. doi: 10.1039/D0CP01353F. [DOI] [PubMed] [Google Scholar]
- Gómez S., Spinlove E., Worth G.. Benchmarking non-adiabatic quantum dynamics using the molecular Tully models. Phys. Chem. Chem. Phys. 2024;26:1829–1844. doi: 10.1039/D3CP03964A. [DOI] [PubMed] [Google Scholar]
- Lin Y.-S., Li G.-D., Mao S.-P., Chai J.-D.. Long-Range Corrected Hybrid Density Functionals with Improved Dispersion Corrections. J. Chem. Theory Comput. 2013;9:263–272. doi: 10.1021/ct300715s. [DOI] [PubMed] [Google Scholar]
- Weigend F., Ahlrichs R.. Balanced basis sets of split valence, triple zeta valence and quadruple zeta valence quality for H to Rn: Design and assessment of accuracy. Phys. Chem. Chem. Phys. 2005;7:3297–3305. doi: 10.1039/b508541a. [DOI] [PubMed] [Google Scholar]
- Kossmann S., Neese F.. Efficient Structure Optimization with Second-Order Many-Body Perturbation Theory: The RIJCOSX-MP2Method. J. Chem. Theory Comput. 2010;6:2325–2338. doi: 10.1021/ct100199k. [DOI] [PubMed] [Google Scholar]
- Hirata S., Head-Gordon M.. Time-dependent density functional theory within the Tamm-Dancoff approximation. Chem. Phys. Lett. 1999;314:291–299. doi: 10.1016/S0009-2614(99)01149-5. [DOI] [Google Scholar]
- Levine B. G., Coe J. D., Martínez T. J.. Optimizing Conical Intersections without Derivative Coupling Vectors: Application to Multistate Multireference Second-Order Perturbation Theory (MS-CASPT2) J. Phys. Chem. B. 2008;112:405–413. doi: 10.1021/jp0761618. [DOI] [PubMed] [Google Scholar]
- Bearpark M. J., Robb M. A., Bernhard Schlegel H.. A direct method for the location of the lowest energy point on a potential surface crossing. Chem. Phys. Lett. 1994;223:269–274. doi: 10.1016/0009-2614(94)00433-1. [DOI] [Google Scholar]
- Plasser F., Granucci G., Pittner J., Barbatti M., Persico M., Lischka H.. Surface hopping dynamics using a locally diabatic formalism: Charge transfer in the ethylene dimer cation and excited state dynamics in the 2-pyridone dimer. J. Chem. Phys. 2012;137:22A514. doi: 10.1063/1.4738960. [DOI] [PubMed] [Google Scholar]
- Zhang X., Herbert J. M.. Analytic derivative couplings in time-dependent density functional theory: Quadratic response theory versus pseudo-wavefunction approach. J. Chem. Phys. 2015;142:064109. doi: 10.1063/1.4907376. [DOI] [PubMed] [Google Scholar]
- Chai J.-D., Head-Gordon M.. Systematic optimization of long-range corrected hybrid density functionals. J. Chem. Phys. 2008;128:084106. doi: 10.1063/1.2834918. [DOI] [PubMed] [Google Scholar]
- Baerends E. J., Aguirre N. F., Austin N. D., Autschbach J., Bickelhaupt F. M., Bulo R., Cappelli C., van Duin A. C. T., Egidi F., Fonseca Guerra C., Förster A., Franchini M., Goumans T. P. M., Heine T., Hellström M., Jacob C. R., Jensen L., Krykunov M., van Lenthe E., Michalak A., Mitoraj M. M., Neugebauer J., Nicu V. P., Philipsen P., Ramanantoanina H., Rüger R., Schreckenbach G., Stener M., Swart M., Thijssen J. M., Trnka T., Visscher L., Yakovlev A., van Gisbergen S.. The Amsterdam Modeling Suite. J. Chem. Phys. 2025;162:162501. doi: 10.1063/5.0258496. [DOI] [PubMed] [Google Scholar]
- Perdew J. P., Burke K., Ernzerhof M.. Generalized Gradient Approximation Made Simple. Phys. Rev. Lett. 1996;77:3865–3868. doi: 10.1103/PhysRevLett.77.3865. [DOI] [PubMed] [Google Scholar]
- Song H., Fischer S. A., Zhang Y., Cramer C. J., Mukamel S., Govind N., Tretiak S.. First Principles Nonadiabatic Excited-State Molecular Dynamics in NWChem. J. Chem. Theory Comput. 2020;16:6418–6427. doi: 10.1021/acs.jctc.0c00295. [DOI] [PubMed] [Google Scholar]
- Franzke Y. J., Holzer C., Andersen J. H., Begušić T., Bruder F., Coriani S., Della Sala F., Fabiano E., Fedotov D. A., Fürst S., Gillhuber S., Grotjahn R., Kaupp M., Kehry M., Krstić M., Mack F., Majumdar S., Nguyen B. D., Parker S. M., Pauly F., Pausch A., Perlt E., Phun G. S., Rajabi A., Rappoport D., Samal B., Schrader T., Sharma M., Tapavicza E., Treß R. S., Voora V., Wodynski A., Yu J. M., Zerulla B., Furche F., Hättig C., Sierka M., Tew D. P., Weigend F.. TURBOMOLE: Today and Tomorrow. J. Chem. Theory Comput. 2023;19:6859–6890. doi: 10.1021/acs.jctc.3c00347. [DOI] [PMC free article] [PubMed] [Google Scholar]
- Peschel M. T., Kussmann J., Ochsenfeld C., de Vivie-Riedle R.. Simulation of the non-adiabatic dynamics of an enone-Lewis acid complex in an explicit solvent. Phys. Chem. Chem. Phys. 2024;26:23256–23263. doi: 10.1039/D4CP02492C. [DOI] [PubMed] [Google Scholar]
- Sangiogo Gil E., Oppel M., Kottmann J. S., González L.. SHARC meets TEQUILA: mixed quantum-classical dynamics on a quantum computer using a hybrid quantum-classical algorithm. Chem. Sci. 2025;16:596–609. doi: 10.1039/D4SC04987J. [DOI] [PMC free article] [PubMed] [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.






