Point group determination by a programme
Since there is obviously an interest in learning something about how to
determine point groups with a computer programme here my DM 0.034 (=$0.02):
All physical properties of a molecule have to be invariant to the application
of a symmetry operation. If we consider an easy to calculate property such
as the inertia tensor of the molecule we see first that all symmetry elements
must pass the centre of gravity. If we diagonalize the inertia tensor we get
three moments of inertia (eigenvalues) and three principal axes of inertia
(eigenvectors). Now we can distinguish some cases:
1) one moment of inertia is zero, the others not
--> the molecule is linear, possible point groups C*v or D*h (the * stands
for infinite), check by comparing the atoms
2) all three moments of inertia are different (asymmetric top molecules)
--> no axes of order greater than 2 are possible, point groups D2h, D2,
C2v, C2h, C2, Ci, Cs, and C1, if at least one of the principal axes is C2
you have either D2h (all principal axes are C2 and an inverson centre
exists), D2 (as D2h, but no inverson centre), C2v, C2h, or C2; otherwise
you have Ci, Cs, or C1.
3) two moments of inertia are the same, the third is different (symmetric top
--> all axial point groups except the cubic ones (T, Td, Th, O, Oh, I, Ih)
are possible, your unique principal axis of inertia is one rotation axis and
you can further distinguish by comparing sets of atoms.
4) all three moments of inertia are the same (spherical top molecules)
--> possible point groups T, Td, Th, O, Oh, I, Ih and you have a problem !
It is not possible to obtain a rotation axis from the inertia tensor (where
is top or bottom of a sphere ?) But you can check sets of atoms. Since each
symmetry element has to pass through the centre of gravity you can calculate
the distance atom from the centre of gravity and if you find a set of atoms
of the same element with the same distances from the centre of gravity you
have found a rotation axis.
Note: There are a few cases of so-called accidiental spherical top molecules
which do not belong to a cubic point group. These are hard to handle, but
OK, that's the basic algorithm. Literature for this is rare. Most textbooks
only deal with symmetry operations, point groups etc., but not with how to get
this into a running programme. I only remember an anchient spectroscopy
textbook, which explained somewhat of this algorithm, but I can't cite it.
Available codes are basically Turbomole, which uses all this stuff to speed
up calculations, since you can reduce the computional effort by the order of
the point group.