# Topology file

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The topology file allows you to handle bond breaking and formation in your simulation. The scientific details are reported in Ref.[1]. In essence, the topology file allows you to define topology information for your system in the form of connectivity between atoms. This will allow DoSPT to rebuild groups and supergroups dynamically as the simulation progresses, if there is bond breaking and formation, as in Ref.[1].

Imagine for instance the case where you are simulating a hydronium ion in water. The extra proton is highly mobile, and it will switch between adjacent water molecules dynamically, with hopping times below the ps range. In this situation, for the purpose of computing the decomposition of the degrees of freedom into translational, rotational and vibrational, regular water molecules (H2O) are different from protons (H+), hydronium ions (H3O+) and other more complex structures like the Zundel cation (H5O2+). If these molecules did not change during the course of the simulation (i.e., via rebonding), we could use the regular way to generate a groups file. However, in ab initio MD this will not be the case.

DoSPT deals with this problem by assigning a "lifetime" to single groups, delimited by rebonding events. The lifetime divided by the total MD time gives the weight of the group to the supergroup properties. In regular classical MD simulations, all groups have weight 1 since there is no rebonding.

An example topology file for a water simulation looks like this:

bond  O  H  0.11 0.13
group H 2 O 1 sym 2 sup 1
group H 3 O 1 sym 3 sup 2
group H 1 O 1 sym 1 sup 3
group H 1 sym 1 sup 4
group H 5 O 2 sym 2 sup 5


In the first line we have defined bonds between O and H atoms only. These bonds "form" whenever an O and a H atom come closer than 0.11 nm from each other. The bond "breaks" when the atoms move further than 0.13 nm from each other. Then come the group definitions, where you can define a group as containing 2 H atoms and 1 O atom, all connected in accordance to the provided bond definition(s). This group has symmetry number 2 and belongs to supergroup 1 (so it will contribute to the thermodynamic properties of that supergroup). The following lines define other groups similarly. DoSPT will monitor bond breaking in the simulation, and every time it detects bonds breaking or formation it will rebuild the system's topology. A clear limitation of the current implementation is that you cannot distinguish between isomers. That is, a specific chemical formula can currently only be assigned to a single group.

The topology reconstruction routine will generate a topol/ subdirectory with groups.n files, where n is the time step during which the topology was rebuilt, and the file contains similar information to a regular groups file, with extra information about group "deaths" and "births". This file can then be used for keeping track of topology changes or perhaps for restarting a simulation with a specific topology (after some preprocessing is done).

Note that the current implementation is $O(N^2)$ scaling (or worse) and will perform very poorly for very large systems. It is possible to code a $O(N)$ algorithm to handle big systems. This may get implemented in the future since bond breaking and formation for large systems can now be routinely performed with machine learning interatomic potentials.

## References

1. M.A. Caro, O. Lopez-Acevedo, and T. Laurila}. Redox potentials from ab initio molecular dynamics and explicit entropy calculations: application to transition metals in aqueous solution. J. Chem. Theory Comput. 13, 3432 (2017).