ASQPM for the localization of biradical structures

Similar to the multistate metadynamics for the localization of conical intersections, the Automatic Samling of Quantum Property Manifolds (ASQPM) method can be used for the localization of biradical configurations of a molecular system. For this purpose, a modified version of the gap between the highest occupied and lowest unoccupied natural orbital occupation numbers (NOONs) is used as the primary CV (see J. O. Lindner, M. I. S. Röhr, arXiv:1909.09005 (2019)).

\Delta n_{meta} = \sqrt{(n_H - n_L)^2 + 4V_{N}^2}

In order to set up the simulation, run the GUI application and check the Do multistate metadynamics option in the metadynamics tab, followed by the selection of “noon gap” as a primary CV.

../_images/gui_asqpm.png

The forms below that line refer to the construction of V_G, while the Gaussian height in the upper part of the window is used for the Gaussians added to V_{N}. \epsilon is the threshold that is used for the \Theta-function to switch between V_G and V_{N}. Note that this CV is dimensionless and therefore the unit choices for the threshold and the height of the Gaussians don’t have any effect. NOON 1 is the LUNO index and NOON 2 is the HONO index, with indexing starting at 0. The restriction of n_{H-1} and n_{L+1} to values close to 2 and 0 is achieved by the automatic addition of two quadratic wall potentials as described in the paper cited above. The Collective Variables tab refers to the metadynamics in V_{N}.

Run the simulation:

metaFALCON run

During the simulation, two files deltan_meta.dat and deltan_org.dat are written that contain the modified and original gaps between HONO and LUNO occupations. Apart from that, NOONs are written to the file noons_all.dat.

The handling of V_N is comparable to that of V_{ge} in the multistate metadynamics with modified energy gap as CV.

The calculation of numerical derivatives of the modified noon gap with respect to nuclear coordinates is implemented in a parallelized manner using the multiprocessing python package. The number of separate processes to be run is controlled by the nproc keyword in the CV section of the meta-config.json file.