Tutorial 16. Interactive -- Morse Potential and diatomic spectrum database

Learning objectives

• Learn basics about maniputlating datasets with the python package, Pandas
• Learn to fit Morse potential based on experimental vibrational spectrum data
• Try the interactive python code to visualize the Morse potential of low-lying electronic states of diatomic molecules

Background

In quantum mechanics class, we learn about the Morse potential, which is a widely used approximation to the potential of diatomic molecules.

$V(r)=D_e[1-e^{-a(r-r_e)}]^2$

How can we relate it to real vibrational spectrum data of diatomic molecules? You might have seen some example from the textbook: given the vibrational spectrum constants $\omega_e$, $\omega_ex_e$ of a diatomic molecule, we can obtain $D_e$ and $a$ in the Morse potential formula, and plot the Morse potential of that molecule.

Can we do better than just one textbook example?

Yes, we can visualize the Morse potential and the vibrational energy levels of hundreds of diatomic molecules in seconds! That’s simple with the following recipe:

• An open-access diatomic spectrum dataset
• Some basic knowledge about dataset manipulation
• Some python code to draw Morse potential curves

These ingredients become available to us only in this era of big data.

Try and learn

Run the following code to visualize Morse potentials of hundreds of diatomic molecules based on spectrum data obtained from diatomic database.

Instructions

• First, click “Activate” to activate the code block.
• Once you see the buttons to “run” at the bottom left corner of the code block, click “run” to run the code.
• Please be patient. Starting the kernel can be slow sometimes.
• You will see a plot for the Morse potential of OH (two low lying electronic states).
• Select other diatomic molecules from the dropdown menu to visualize their Morse potentials.

Questions

1. How do we obtain the binding energy $D_e$ from the vibrational spectrum constants $\omega_e$ and $\omega_e x_e$?
2. When the spectrum data for multiple electronic states are available, which variable in the data set determines the relative energy of different states?
3. What is the typical energy difference between electronic states? What is the typical energy difference between vibrational states?
4. Do you understand the meaning of the Term Symbols that label different electronic states?

Acknowledgement:

1. The diatomic spectrum dataset is obtained from this website: https://rios.mp.fhi.mpg.de/.

The associated paper about their work:

Liu, X., Truppe, S., Meijer, G. et al. The diatomic molecular spectroscopy database. J Cheminform 12, 31 (2020). https://doi.org/10.1186/s13321-020-00433-8

2. The python class Morse is adapted from this blog: https://scipython.com/blog/the-morse-oscillator/.

I made some modifications to make it follow the conventions of writing quantum chemistry programs.

1. All member variables of the Morse class are stored in atomic units (energy: Hartree, mass: m_e, length: bohr, hbar=1) to simplify calculations and avoid unit conversions
2. Reduced mass is used as input instead of $m_A$ and $m_B$.
3. Plots use the unit, eV, for energy.
4. We plot different electronic states of the same molecule on the same figure, label term symbol of the electronic states along with the potential.
Written on September 25, 2021