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.