Wednesday 5 September 2007

Hückel package (2)

I added a graphics function to the Hückel theory package that I have introduced in my last post. To some people visualising a graphical scheme is more meaningful than just numbers. If you are one of them: here you go.

This is the π energy scheme of benzene. Half of its orbitals are neatly filled with 6 electrons, 4*1 + 2 electrons or an uneven number of electron pairs, however you want to put it. On a second look you notice that the energy scheme is a hexagon, just like the molecule.
import hueckel
h_mol = hueckel.hueckel('***/benzene.mol',\
     calc_everything=True,   print_results=False)
h_mol.show_energy_scheme(can_width=300, can_height=300,\
                bg='white', arrow_length=.2)

If we take a carbon away (but no π-electrons) we have a cyclopentadienyl-anion. With 6 π-electrons, we have again the feeling of a filled subshell (or stability). A second look shows us that the energy scheme is a pentagon.

What does the energy scheme of cyclobutadiene look like? Yes - a square on its corner. But with 4 electrons we have the half-filled subshell which is only stable in transition metals, not here.

In fact it is true for every monocyclic conjugated hydrocarbon that the energy scheme looks like the corresponding regular polygon on its corner. Isn't that pretty cool?

But it kind of loses its magic once you put it in mathematical terms. For a monocyclic system of n C-atoms the energy of the kth π-orbital is given as:




This corresponds to the polygon on its corner (in the scheme I set α=0 and β=1). Since the polygon is on its corner we need an odd number of electron pairs (4n+2) electrons to fill it properly. That's Hückels rule.

As far as I know there is nothing like Hückels rule for anything else than monocyclic systems. Both benzopyrene and biphenyl are totally happy with an even number of electron pairs.

By the way: all this was an ab initio calculation, I would say. No empirical parameters, just symmtery considerations and plausible simplifications. For more information you can read about the Hückel method at wikipedia or in a quantum chemistry book.

Finally you may ask yourself: Is a cyclopentadienium-cation stable? Let's try it out!

    h_mol = hueckel.hueckel('***/03-c-pentadienyl.mol',\
                  calc_everything=True, print_results=False)
  h_mol.set_total_charge(1)
  h_mol.show_energy_scheme(can_width=300, can_height=300,\
                               bg='white', arrow_length=.2)

Of course not.

The package can be found on my homepage under "Python scripts". When I was little I sometimes used to like writing German programs in Visual Basic. They can be found there, too. But there are two language barriers to overcome: German and Visual Basic.

1 comment:

Anonymous said...

Hi Felix,
I'm very interested in the vba code of your huckel package. Could you please recopy it for me.
Thank you in advance
Iza