Vibrational Spectroscopy: Calculating the Rovibrational Spectrum of a Diatomic Molecule
Copyright (c) RDMCHEM LLC 2019
Overview
Initialize
Input Parameters
Normal Mode Analysis
Construct Potential Energy Surface
Calculate Vibrational Energy Levels
Results
Appendix
In this exercise, you will calculate the rovibrational spectrum of a diatomic molecule of interest (e.g.HCl) using different levels of theory: a normal mode analysis and ab initio methods.
Normal Mode Analysis:
As a first approximation, you will use the harmonic oscillator / rigid rotor approximation to calculate the fundamental vibrational frequency, v0, and rotational energies. In this approximation, the total rovibrational energy is given by Eq. (1):
En,l = hv0n+12+ll+1ℏ22 μ R02 (1)
where n = 0, 1, 2, ... is the vibrational quantum number, l = 0, 1, 2, ... is the rotational quantum number, R0is the equilibrium bond distance, and μ is the reduced mass of the diatomic.
Using the Bohr correspondence principle, one can calculate a given transition between any two rovibrational states. However, selection rules for a rotating/vibrating heteronuclear diatomic are Δl = ±1 and Δn = ±1. Therefore, the (0,0) --> (1,0) fundamental transition would not be observed. What would be observed are the P-branch (corresponding to all transitions with Δl = -1) and the R-branch (all transitions corresponding to Δl = +1):
P-branch: ΔE= E1, l−1 − E0,l = hcλ (2)
R-branch: ΔE= E1, l+1 − E0,l = hcλ (3)
Transition energies are typically expressed in wavenumbers (cm−1):
ΔEhc=1λcm= v~. (4)
You will use the GeometryOptimization function to calculate R0 for the diatomic of interest and then use the VibrationalModes function to calculate the fundamental frequency, v~0. You will then calculate the rotational energies given by the second term in Eq. (1) for l = 0, 1, ..., lmax. You will then calculate P- and R-branches according to Eqs. (2) and (3) and compare to experimental values.
Ab Initio Calculations
While the above approximation is simple, more sophisticated methods can be used to capture the inherent anharmonicity in the system. In the second portion of this activity, you will calculate the potential energy surface (PES) for the diatomic molecule of interest using different levels of electronic structure theory. To assess the accuracy of each PES, you will calculate the corresponding rovibrational motion and compare with experimental observations. In doing so, you will make use of the Born Oppenheimer approximation to separate the electronic and rovibrational degrees of freedom. To this end, you will first calculate electronic energies by solving the electronic Schrodinger equation for a range of nuclear separations (R) to construct a 'potential energy surface' (PES), V(R). You will explore different levels of theory, including Hartree-Fock (HF), many-body perturbation theory (MP2), coupled cluster (CC), and density functional theory (DFT) as well as different atomic basis sets, including STO-3G, 6-31G, cc-pVDZ, and cc-pVTZ.
Once V(R) has been constructed, the nuclear Schrodinger equation is given by
H∧ Ψn,l (R) = En,l Ψn,l (R). (5)
where Ψn,l is the corresponding rovibrational wavefunction, and the Hamiltonian, H∧, is given by
H∧ = -ℏ22 μ1Rⅆⅆ R+VR+ll+1ℏ22 μ R2, (6)
While the details of how one solves Eq. (5) are beyond the scope of this exercise, the variational principle is used: represent Eq. (5) in an underlying basis representation for Ψ and diagonalize the resulting matrix to get energy eigenvalues, En,l . (For more on matrix representations and the variational principle, see Variational Theorem exercise). Once En,l values have been calculated, the transition frequencies can again be calculated using the appropriate selection rules and Eqs. (2) and (3), and the results can be compared to experiment.
withLinearAlgebra:withScientificConstants: withplots:withQuantumChemistry:Digits≔15:
We begin by specifying the atoms in our diatomic. Note that the energy levels and spacings will depend on the isotopes we specify! The variables elementA and elementB are the element symbols for the atoms in our diatomic, and MassNumberA and MassNumberB are their respective mass numbers (integers). The variables Rmin and Rmax define the range over which the PES is computed and determine the level of accuracy of the vibrational calculation. The smaller the range, the quicker the calculation but the less accurate the results. Start with a reasonable guess and proceed through each step to calculate the fundamental frequency. Vary Rmin and Rmax until some acceptable level of convergence has been reached. Once this has been done, Rmin and Rmax remain fixed for the different electronic structure methods and basis sets.
Finally, we specify the electronic structure method and basis set here. Begin with ESmethod = HartreeFock and AObasis = "sto-3g" and proceed. Once the fundamental has been calculated, repeat each step with a new basis and/or method.
elementA≔H:MassNumberA≔1:
elementB≔Cl:MassNumberB≔35:
wavenum_observed≔2885.8:
Rmin≔0.8: # in Angstroms
Rmax≔3.0: # in Angstroms
ESmethod≔Parametric2RDM: # choose between HartreeFock, DensityFunctional, MP2, CoupledCluster, or Parametric2RDM ???
AObasis≔cc-pvdz : # choose between "sto−3 g", "6-31g", "cc-pvdz", or "cc-pvtz". (Add more?)
In this section, calculate the fundamental mode of the diatomic using a normal mode analysis, which approximates the vibration of the diatomic as a harmonic oscillator. First define the molecule with a bond length of 1 Angstrom and then use the GeometryOptimization function to redefine the molecule with the optimum bond length for the desired method and basis. Then use the VibrationalModes function to determine the energy (in wavenumbers) of the fundamental. Calculate the percent error.
molec≔convertelementA,string,0,0,0,convertelementB,string,0,0,1.2;
molec≔H,0,0,0,Cl,0,0,1.20000000
molec,data≔GeometryOptimizationmolec,ESmethod,basis=AObasis;
emodes,vmodes≔VibrationalModesmolec,ESmethod,basis=AObasis;
emodes,vmodes≔1858.31771126,−0.141156960.16595895−0.79310771−0.015503020.113757570.55707394
PercentError≔emodes1−wavenum_observedwavenum_observed⋅100;
PercentError≔−35.60476432
Now, consider the rovibrational transitions allowed for a heteronuclear diatomic AB. The vibrational selection rules are Δv = Δ±1, Δl = ±1. Therefore, for transitions between v = 0 --> v = 1, there is a manifold of Δl = ±1 lines.
mA≔evalfElementelementAMassNumberA,atomicmass,system=SI;mB≔evalfElementelementBMassNumberB,atomicmass,system=SI;
mA≔1.67353398⁢10−27
mB≔5.80671857⁢10−26
lmax≔5;
lmax≔5
R0≔1.32081083413467ⅇ−10; # Value from GeometryOptimization calculation above
R0≔1.32081083⁢10−10
reduced_mass≔mA⋅mBmA+mB;
reduced_mass≔1.62665279⁢10−27
moment_inertia≔reduced_mass⋅R02;
moment_inertia≔2.83776291⁢10−47
for l from 0 by 1 to lmax do Erotl≔l⋅l+1⋅evalfConstanthbar22⋅moment_inertia⋅1evalfConstanth⋅evalfConstantc⋅100.0; end do
Erot0≔0.
Erot1≔19.72874569
Erot2≔59.18623706
Erot3≔118.37247413
Erot4≔197.28745688
Erot5≔295.93118532
# Calculate P- and R-branches for l = 0, 1, 2, ..., lmax
P-branch: Dl = -1
for l from 1 by 1 to lmax do P≔emodes1+Erotl−1−Erotl: end do
P≔1838.58896557
P≔1818.86021988
P≔1799.13147419
P≔1779.40272850
P≔1759.67398282
R-branch: Dl = +1
for l from 0 by 1 to lmax−1 do R≔emodes1+Erotl+1−Erotl: end do
R≔1878.04645694
R≔1897.77520263
R≔1917.50394832
R≔1937.23269401
R≔1956.96143969
What do you notice about the spacing between lines in the P-branch? in the R-branch? Are these observations consistent with an experimental IR spectrum of the diatomic AB?
Answer
There is equal spacing between lines in both P and R branches. This is consistent with a rigid rotor approximation!
In this section, use electronic structure methods to solve for the potential energy surface of diatomic AB. We begin by using the ScientificConstants package to get the mass of each of our elements A and B. Once the method and basis have been chosen, then we use the QuantumChemistry package to calculate the PES for a range of separation values between Rmin and Rmax. (Note, you may notice that the ESmethod may not converge for smaller basis sets at larger values of R.)
mA≔evalfElementelementAMassNumberA,atomicmass,system=Atomic:mB≔evalfElementelementBMassNumberB,atomicmass,system=Atomic:
mA≔evalfElementelementA,atomicweight,system=Atomic;mB≔evalfElementelementB,atomicweight,system=Atomic;
mA≔1837.36350387
mB≔64626.91063223
atomA≔convertelementA,string:atomB≔convertelementB,string:Rdata≔seqi,i=Rmin..Rmax,0.05: # Determines the points at which our PES will be explicitly calculated molecules ≔ seqatomA,0,0,0,atomB,0,0,i, i=Rmin..Rmax,0.05: R ≔ evalnR:edata≔ mapEnergy,molecules, method=ESmethod,basis=AObasis:pes ≔ splineRdata,edata, R,2: plot_pes≔ plot pes, R=Rmin..Rmax, font=ROMAN,16, labelfont=ROMAN,16, labels='R','E', color=blue
Once we have a PES (in a given basis for a given level of electronic structure theory), we can solve the vibrational Schrodinger equation. We will calculate the energies for a range of angular momentum values and calculate the P- and R-branches. This may take a few minutes!
n≔trunc20⋅Rmax−Rmin:lmax≔5:
Evl≔Matrixn,lmax+1:HDVR≔Matrixn,n:r≔Vectorn:V≔Vectorn :redm≔mA⋅mBmA+mB: dr≔Rmax−Rminn−1:dx≔dr 0.52917721092:
for i from 1 by 1 to n do ri≔Rmin+i−1.⋅dr: #Vi≔0.1697⋅1 − exp−0.9890⋅ri0.52917721092 − 2.4092: # Morse potential for HCl... Vi≔splineRdata,edata,ri,3:end do:
for l from 0 by 1 to lmax do for i from 1 by 1 to n do for j from 1 by 1 to n do if i=j then HDVRi,j≔0.5redm⋅dx2⋅−1 i−j⋅Pi23.0−0.5i2+Vi +l⋅l+12⋅redm⋅ri2 else HDVRi,j≔0.5redm⋅dx2⋅−1 i−j⋅2i−j2−2i+j2 end if end do end do : E≔EigenvaluesMatrixHDVR,shape=symmetric: for i from 1 by 1 to n do Evli,l+1≔Ei end do end do:
Fundamental Transition Frequency
We can now calculate the fundamental frequency ( in wavenumbers, 1/cm). This number can be compared to the experimental value for the AB diatomic of interest. Enter the results into Table 1 below!
wavenum≔Evl2,1−Evl1,1⋅219476.329478
wavenum≔2916.05626091
PercentError≔wavenum−wavenum_observedwavenum_observed⋅100
PercentError≔1.04845315
Table 1: Fundamental Frequencies for Diatomic AB (v0 = 2872.3 cm-1 for HCl.)
ESMethod
AObasis
Fundamental Frequency v0 (cm-1)
%Error
Hartree-Fock
STO-3G
6-31G
cc-pVDZ
cc-pVTZ
MP2
Parametric2RDM
Density Functional Theory
P-Branch and R-Branch
As a final exercise, we consider the rovibrational transitions allowed for a heteronuclear diatomic AB using the method / basis that gave the best results in Table 1. If necessary, recompute the rovibrational eigenvalues for this combination before proceeding.
P-branch: DJ = -1
for l from 1 by 1 to lmax do P≔Evl2,l−1+1−Evl1,l+1⋅219476.329478: end do
P≔2843.17588300
P≔2768.33714588
P≔2691.68880667
P≔2613.37999119
P≔2533.55957404
R-branch: DJ = +1
for l from 0 by 1 to lmax−1 do R≔Evl2,l+1+1−Evl1,l+1⋅219476.329478: end do
R≔2986.83042273
R≔3055.35185488
R≔3121.47573937
R≔3185.05920428
R≔3245.96146160
P-branch: spacing increases as J increases. R-branch: spacing decreases as J increases.
References
J. C.Light, I. P.Hamilton, and J. V. Vill, J. Chem. Phys. 82 ,1400 (1985).
Download Help Document