Ab Initio Nanoreactor
The ab initio nanoreactor1 couples fast TeraChem dynamics with a virtual piston that periodically compresses and decompresses the system, dramatically accelerating the rate at which reactive events are sampled. The piston is implemented by alternating between two sets of spherical boundary conditions on fixed schedules.
The technique relies on the same spherical boundary conditions described in the AIMD overview. What makes the nanoreactor distinct is that the inner and outer radii (and force constants) are swapped back and forth with a regular period: a large, weakly confining sphere for several hundred timesteps, then a smaller, more aggressively confining sphere for a shorter window, then back to the large sphere, and so on. The collision rate during the compression phase is what drives reactivity.
Time-dependent boundary conditions
The schedule is set by two keywords:
| Keyword | Description |
|---|---|
mdbc_t1 |
Number of timesteps for which the first set of BCs (md_r1, md_k1) is active per cycle |
mdbc_t2 |
Number of timesteps for which the second set of BCs (md_r2, md_k2) is active per cycle |
After mdbc_t1 steps under the first set, TeraChem switches to the second set
for mdbc_t2 steps, then back to the first set for another mdbc_t1 steps, and
so on for the rest of the trajectory.
By convention the first set is the larger, equilibration sphere and the second set is the smaller, compressing sphere — but the keywords don't care about the ordering; whichever sphere is "second" is the one that becomes active on the second leg of each cycle.
Recommended companions
Two additional mdbc_* switches are commonly turned on for nanoreactor runs:
mdbc_hydrogen yes— by default the spherical confining potential is not applied to hydrogen atoms; nanoreactor runs typically want it applied to hydrogens as well.mdbc_mass_scaled yes— scale the confining potential by atomic mass. Without this, compression can strip hydrogen atoms from heavy fragments. See the original paper for the rationale.
The four BC parameters md_r1, md_k1, md_r2, md_k2 and the two cycle
times mdbc_t1, mdbc_t2 all need to be tuned to the system being studied.
Example
The example below sets up an unrestricted HF nanoreactor run at 1500 K, with a 6 Å radius weakly-confining sphere for 750 steps alternating with a 4 Å more strongly-confining sphere for 250 steps:
coordinates nanoreactor.xyz
basis 3-21g
method uhf
charge 0
dispersion no
# Thermostat: Langevin at 1500 K, starting from 1200 K
run md
tinit 1200
thermostat langevin
t0 1500
lnvtime 200
# SCF aids for radical chemistry
scf diis+a
convthre 0.005
levelshift yes
levelshiftvala 0.3
levelshiftvalb 0.1
timings yes
nstep 30000
maxit 300
# Nanoreactor BCs: large sphere then small sphere, repeating
mdbc spherical
md_r1 6.0
md_k1 3.0
md_r2 4.0
md_k2 5.0
mdbc_hydrogen yes
mdbc_mass_scaled yes
mdbc_t1 750
mdbc_t2 250
end
The level shift on the alpha and beta channels helps keep the UHF SCF from collapsing onto a closed-shell-like solution during transient radical encounters, which are routine inside the piston.
Analysis of nanoreactor trajectories — clustering reactive events and refining minimum-energy reaction paths — is handled by a separate companion package that is not (yet) distributed with TeraChem.
-
L.-P. Wang, A. Titov, R. McGibbon, F. Liu, V. S. Pande, and T. J. Martinez, Nature Chem. 6, 1044 (2014). ↩