A method for generating the PES grid for diatomics based on Rampino, S. (2016). Configuration-Space Sampling in Potential Energy Surface Fitting: A Space-Reduced Bond-Order Grid Approach. The Journal of Physical Chemistry A, 120(27), 4683–4692. http://doi.org/10.1021/acs.jpca.5b10018
%matplotlib inline
from srbogrid.srbo import SRBO
To generate the grid for H2 molecule we need to know the Morse potential parameters:
To control the number of grid points generated you can specify:
nrep
- number of points in the repulsive part of the potential (left from the equilibrium)natt
- number of points in the attractive part of the potential (right from the equalibrium)To control the extent of the generated grid you can specify the parameters related to the potential itself:
Vfact
: $V_{fact} = \frac{V(r_{min})}{D_{e}}$Vthrs
: $V_{thrs} = \frac{D_{e} - V(r_{max})}{D_{e}}$or spefify rmin
and rmax
parameters directly.
# initialize the SRBO
h2grid = SRBO(Re=1.4034, De=0.1727, ke=0.3707, nrep=5, natt=10)
h2grid.grid
array([0.63152744, 0.7632642 , 0.90460173, 1.05705019, 1.2225067 , 1.4034 , 1.60290972, 1.82531189, 2.07654928, 2.36522877, 2.70449828, 3.1159375 , 3.63878276, 4.35671283, 5.50882366, 8.7400997 ])
You can view the parameters related to the created grid object using the summary
method,
print(h2grid.summary())
System info: Re : 1.403400 De : 0.172700 ke : 0.370700 alpha : 1.035977 Boundaries: rmin : 0.631527 rmax : 8.740100 Vfact : 1.500000 Vthrs : 0.001000 Beta : 0.515422 Grid: nrep : 5 natt : 10 npoints : 16 f : 2.000000 Grid points: [0.63152744 0.7632642 0.90460173 1.05705019 1.2225067 1.4034 1.60290972 1.82531189 2.07654928 2.36522877 2.70449828 3.1159375 3.63878276 4.35671283 5.50882366 8.7400997 ]
and plot the resulting grid on a Morse curve
fig, ax = h2grid.plot_morse()
The potential parameters were taken from:
De from Lesiuk, M., Przybytek, M., Musiał, M., Jeziorski, B., & Moszynski, R. (2015). Reexamination of the calculation of two-center, two-electron integrals over Slater-type orbitals. III. Case study of the beryllium dimer. Physical Review A, 91, 1–12. http://doi.org/10.1103/PhysRevA.91.012510
Re from Merritt, J. M., Bondybey, V. E., & Heaven, M. C. (2009). Beryllium dimer--caught in the act of bonding. Science, 324(5934), 1548–51. http://doi.org/10.1126/science.1174326
ke from Špirko, V. (2006). Potential energy curve of Be2 in its ground electronic state. Journal of Molecular Spectroscopy, 235(2), 268–270. http://doi.org/10.1016/j.jms.2005.11.012
We will generate a grid from 3.0 to 15.0 bohr.
be2grid = SRBO(Re=4.637, De=0.0042328, ke=0.012017, nrep=6, natt=20, rmin=3.0, rmax=15)
print(be2grid.summary())
System info: Re : 4.637000 De : 0.004233 ke : 0.012017 alpha : 1.191432 Boundaries: rmin : 3.000000 rmax : 15.000000 Vfact : 36.376759 Vthrs : 0.000009 Beta : 0.116680 Grid: nrep : 6 natt : 20 npoints : 27 f : 3.333333 Grid points: [ 3. 3.25202943 3.51169535 3.779475 4.05589186 4.34152174 4.637 4.94303012 5.26039373 5.58996267 5.93271342 6.28974454 6.6622979 7.05178479 7.45981816 7.88825298 8.33923725 8.81527714 9.31932133 9.85487176 10.42613131 11.03820433 11.69737445 12.41149835 13.19057906 14.0476268 15. ]
be2grid.plot_morse()
(<Figure size 1152x648 with 1 Axes>, <AxesSubplot:>)
Re and De from Le Roy, R. J., Dattani, N. S., Coxon, J. A., Ross, A. J., Crozet, P., & Linton, C. (2009). Accurate analytic potentials for Li2(X Σ1g+) and Li2(A Σ1u+) from 2 to 90 Å, and the radiative lifetime of Li(2p). The Journal of Chemical Physics, 131(20), 204309. http://doi.org/10.1063/1.3264688
ke from Chandra, A. K., & Sundar, R. (1972). Vibrational force constant and electron relaxation in H2 and Li2. Chemical Physics Letters, 14(5), 577–582. http://doi.org/10.1016/0009-2614(72)87211-7
li2grid = SRBO(Re=5.0512, De=0.0388053, ke=0.0163, Vthrs=0.0001, nrep=6, natt=25)
print(li2grid.summary())
System info: Re : 5.051200 De : 0.038805 ke : 0.016300 alpha : 0.458283 Boundaries: rmin : 3.306333 rmax : 26.661151 Vfact : 1.500000 Vthrs : 0.000100 Beta : 0.113697 Grid: nrep : 6 natt : 25 npoints : 32 f : 4.166667 Grid points: [ 3.30633252 3.57415031 3.85038001 4.13556722 4.43031241 4.73527854 5.0512 5.37889333 5.71926988 6.07335111 6.44228709 6.827379 7.23010685 7.65216383 8.09549933 8.56237335 9.05542624 9.57776916 10.13310311 10.72587812 11.36151016 12.0466826 12.7897754 13.60149286 14.49581163 15.49146745 16.61439571 17.90196976 19.41090514 21.23344651 23.53508864 26.66115099]
li2grid.plot_morse()
(<Figure size 1152x648 with 1 Axes>, <AxesSubplot:>)