This program generates self-consistent point symmetry groups by multiplying the symmetry matrices together until all possible combinations are found. You specify the orientation of rotation axes and mirror planes, and the program derives the matrices. In most cases the process is a simple matter of specifying a minimum number of operators in fixed orientations, but in other cases some trial and error refinement may be necessary. In this process, you guess at the orientation of the operator, then run the calculation to see if the total number of matrices generated by intermultiplication is correct (or at least is finite, if you don't know the actual number). If the number is correct, you can reduce the tolerance to refine the orientation in another iteration.
To start a new file, choose New from the File menu. You can save the data on operators (not the output matrices) in SYMGRP data files, which have the default extension .msy ( the old extension .mys is no longer used, and .mys files are not readable by the current version of SYMGRP). Whether you start a file with New, or read an old file with Open, you are shown the Operator List dialog. This dialog is the only one in the Edit menu.
The Operator List dialog contains several settings for the calculation. The Symbol is for your information only; it is not used in the calculation. The Tolerance for the calculation is used to decide whether a matrix generated by multiplication is or is not identical to one already in the list. The minimum tolerance for the mathematics used in SYMGRP is about 0.000002 - the tolerance should never be smaller than this. If the group you are generating has symmetry operators in known orientations, you can use this value, which is the default. If you are trying to locate the orientation of some of the operators, you may need to specify a much larger value, reducing it on successive iterations; examples of these two cases will be given below.
There must be a Limit to matrices generated if you do not know the exact orientation of some of the symmetry elements; you will know that your guess for the orientation of the operator is wrong, or your tolerance is too small, if too many operations are generated. The ideal number is somewhat larger than the number of known operations in the group; if you don't known this number beforehand, you can simply accept the default maximum, which is very large (although this may cause the run time to be rather long). If the operators are all in known orientations, this limit will not come into play.
If you specify Centric, rather than Acentric, a code will be added to the first line of the output, which signifies to SHAPE that it should add a center of symmetry. Generally, you should not generate files with SYMGRP which include a center of symmetry, since SHAPE can easily add it. At the end of the calculations, SYMGRP informs you if you have generated a center; if so you have probably added one too many operators.
Clicking on the Add or Revise buttons brings up the Symmetry Operator dialog, which contains the data for individual operators. Choose Rotation, Reflection or Improper rotation. The order of rotation should be 2 or greater. This field is automatically set to 2 for Reflection. The Orientation is a vector in Cartesian coordinates. For mirror planes, the required vector is the normal to the plane. Note that improper rotation axes in SYMGRP consists of rotation followed by reflection, as in the Schoenflies symbol (e.g. S5), not rotation followed by inversion as in the International symbol (e.g. bar-5).
After you have added the desired symmetry operators with the Symmetry Operator dialog, return to the Operator List dialog with OK. Click on the Calculate button to compute the matrices. If this computation is successful, a standard Save file dialog will appear for saving the .SYM file. Click on Done to access the File menu to save a data file (.msy) containing the operator information (not the computed matrices).
It is best to explain input of symmetry operators in the context of examples.
Example: known symmetry operator orientations - group C5v. This group simply consists of a five-fold axis with a set of five parallel mirror planes. Click on New from the Operators List dialog to bring up the Symmetry Operator dialog. Enter the five-fold axis first; the operation is Rotation; the Order is 5. Now you must enter the orientation of the axis. Normally, unique high-order axes are set parallel to z, so enter the three numbers 0.0, 0.0 and 1.0 (decimal points are optional); this is represented in standard crystallographic notation as [001]. This is actually not the operator (the five-fold axis), but the operation of rotation by 72 degrees on this axis. However, intermultiplication of the matrices will immediately generate three additional operations (rotations) for a total of five including the identity, which is always present (you never need to add the identity operator).
Click on Next; now add the mirror plane. Choose Reflection, then you must give the vector, in Cartesian coordinates, which is perpendicular to the mirror plane. There is actually an infinite number of choices here; the only limitation is that the vector be perpendicular to the 5-fold axis (so that the mirror plane is parallel to the axis). However, the simplest choices are either [100] or [010]; either way, four additional mirror planes will automatically be generated by rotation on the 5-fold axis.
These two operators, multiplied together will give a total of 10 operations, which completes the group C5v. Click on Calculate; when the calculation is done you can save the results to the file name of your choice.
For the second set of operations in this group, you could have added a 2-fold axis (rotation of 180 degrees) in any orientation perpendicular to the 5-fold axis; this would give the group D5. If you add both the mirror plane and the 2-fold axis, you will find that a center is generated automatically and you have group D5h. If a center is generated, a warning message box will come on screen. For use in SHAPE, you should not proceed to the point of generating a center. That is, if you desire D5h, you can indicate in the Operator List dialog that a center is present, then you can generate either C5v or D5; the center will be added in SHAPE.
Similar procedures can be used to generate all the groups with symmetry less than cubic found in typical tables. Note that you have complete freedom of orientation, although face indices are usually simplified for certain choices.
For cubic groups the minimum symmetry is one 3-fold rotation in the [111] orientation and one 2-fold axis in [100], [010] or [001]; then other elements can be added as necessary.
Example: unknown orientations - group I. This is the icosahedral group without a center of symmetry. It contains 60 total operations, with six 5-fold axes, ten 3-fold axes and fifteen 2-fold axes. All this symmetry can actually be generated by entering only one of the 5-fold and one of the 3-fold rotations, but the angle between the two axes is neither intuitively obvious nor can it be specified arbitrarily. In the trial-and-error derivation of this group, the three-fold axis was located arbitrarily at [001], and from an approximate stereogram of a pentagonal dodecahedron the first guess at the vector for the five-fold axis was taken to be [4.98,0,1]. If a small tolerance is used for a calculation with these two symmetry operations at this rather inaccurate orientation, the matrices will keep on reproducing themselves ad infinitum. The tolerance had to be increased to 0.075 to get the correct number of matrices, 60. The upper limit to the number of matrices can be set to 61 in this case.
Refinement of the orientation of the 5-fold axis was a matter of changing the value of the coordinate (in this case, increasing from 4.98) while simultaneously reducing the tolerance. When the limit to the number of matrices is exceeded, SYMGRP shows a message box giving the numbers of the old matrix and the new matrix which are being multiplied together. Generally, the smaller these numbers, especially the old matrix, the worse the guess; that is if the limit is exceeded when the old matrix is 59 (compared to the correct total of 60), only a few extraneous matrices have been generated, whereas if the limit is exceeded on only the 20th old matrix, extraneous matrices are being generated at a high rate.
Eventually, the tolerance was reduced to 0.000002 and the vector for the orientation of the 5-fold axis was refined to [5.236068,0,1]. This is about as good as one can do with 4-byte floating-point arithmetic, and is more than adequate for any calculations in SHAPE. Again, all 60 operations of the complete point group are generated by just the two operations of 120 degree rotation on axis [001] and 72 degree rotation on [5.236068,0,1]. A center can be added to double the number of operations and give the point group Ih, but it is not necessary to actually generate these extra matrices for use in SHAPE (indeed, the maximum number of matrices which can be accepted by SHAPE is 62).
Note that showing all symmetry operators in the 3D mode of SHAPE may require some manual additions to the .SYM file, as explained in Symmetry Operators for SHAPE.