A Practical Approach to Wave Function Propagation, Hopping Probabilities, and Time Steps in Surface Hopping Calculations
We compare several established approaches for propagating wave functions and calculating hopping probabilities within the fewest switches surface hopping (FSSH) algorithm for difficult cases with many electronic states and many trivial crossings. If only a single time step (Δt c ) is employed, we find that no published approach can accurately capture the dynamics correctly unless Δt c → 0 (which is not computationally feasible). If multiple time steps are employed, for a fixed classical time step (Δt c ), a robust scheme can be found for dynamically choosing quantum time steps (δt q1 and δt q2 ) and calculating hopping probabilities so that one can systematically reduce all errors and achieve maximally efficient accuracy; scattering calculations confirm that one can choose a fairly large classical time step. Furthermore, the robust scheme presented here uses both the “local diabatic” and adiabatic interpolation and thus borrows elements from both the Granucci/Persico and Meek/Levine algorithms. Our findings should be broadly applicable in the future.