Skip to content

Exercise 2

Part of the course Computational Chemistry.

Potential energy surfaces are models and exist in a wide range of complexity.

Task 2.1: Free atoms

An (overly simplistic) model is to estimate the energy of each atom to be \(-\frac{1}{2}Z^{7/3}\). Write a python function get_energy(list_of_elements) which returns the total energy for elements until Z=10. For carbon monoxide, the function would be called like get_energy(['C', 'O']).

Optional: for those who are a bit more fluent in python, write the function to instead accept sum formulas as strings, such as "C6H6".

Task 2.2: Harmonic potentials

In the previous model, there were no bonds. A simple model of bonds is a harmonic potential. Consider carbon dioxide this time. Assume a potential where each bond has an equilibrium bond length of \(b_0\) and the energy depending on the actual bond length is \(a(b-b_0)^2\). Write a function co2_energy(a, b_0, b_1, b_2) where \(b_1\) and \(b_2\) are the two bond lengths. Choose suitable values for both \(a\) and \(b_0\) and plot the potential energy surface if the central oxygen atom is moved along the axis of a linear carbon dioxide molecule. You may use matplotlib for plotting.

Task 2.3: Morse potential

Modify task 2.2 to use the more realistic morse potential. Which problem exists both with a purely harmonic potential and this second model when applied to carbon dioxide? Which effect is missing? Can you give one example of a configuration where the energy is unphysically low?