Skip to main content


Showing posts from January, 2013

Visualising Ring Equivalence Classes in Jmol

As promised (in the previous post) I've now made Jmol scripts to show the atom/ring equivalence classes. I still think that the ring ones are more clear, but I suppose it depends on what aspect of the symmetry of the structure is needed. As an example:

 Shown here is a C70 structure, with coloured circular plates at the centre of each face. It should be clear that there is an axis of symmetry running through the middle, from one blue plate to the other. Around the blue is a ring of green, and 5 rings in between.

The slight difficulty in all this was working out the ring equivalence classes. There is an existing CDK method to do this - in the SSSR ring finder - but it seems to give too many classes. The way I did it was to first find atom equivalence classes (or 'orbits') using signatures. Then each ring is a circular list of the orbit indices : which I'm going to call a 'ring code'. See this image for illustration:

These two rings (A and B) have the same ring c…

Blowing Carbon Bubbles : Expanding 2D Fullerene Layouts to 3D

The concentric face layout code is working well enough now to handle the larger fullerenes - such as that old favourite, C60. Since coloring the vertices by equivalence class is not always terribly informative, here is a view of the ring equivalence classes :

Where C60 is on the left, and a more colourful C70-D5h is on the right. One difficulty, however, is to understand the symmetries of these structures when they are distorted like this. The further away from the center of the layout, the more stretched the rings become.

So, an obvious next step was to 'blow up' these 2D layouts into 3D. It turns out that is possible, with a combination of inverse stereographic projection and Jmol's minimize command. The first step is necessary since minimizing the 2D coordinates (with a z-coord of zero) just shrinks the diagram down in the plane. Here are before and after shots of these steps:

Clearly the inverse-projection does not give very good 3D positions for the atoms, but they ar…

Fullerene Layout with Spokes and Arches

Having tried (and failed) to layout fullerene structures using various optimisation methods, I thought I would try direct positioning of the atoms. In other words, 'logical' placement rather than 'physics' based layout. For example:

These are two regular fullerenes that work very well. The algorithm is simple in principle:

1) Given a planar embedding G, calculate the inner dualid(G) and the 'face layers'.
2) The innermost layer is the 'core' which is one of: a single vertex, a connected pair, or a cycle.
3) Layout the core, and then each layer outwards, by spoke and arch.

So, to explain some of this; a 'face layer' is a set of faces all at the same distance from the outer cycle, measured by graph distance on id(G). So the faces adjacent to the outer cycle are the first layer, and the second layer is adjacent to that, and so on. This is roughly illustrated here:

The concentric circles represent the layers of faces, with the innermost being the co…