FINDSYM, Version 3.1, November 2004

Harold T. Stokes and Dorian M. Hatch
Department of Physics and Astronomy, Brigham Young University, Provo, Utah
e-mail: stokesh@byu.edu

This program may be distributed without restriction, but if it is used in
research that results in publications, the use of this program should be
acknowledged.

This program identifies the space group of a crystal, given the
positions of the atoms in a unit cell.

See findsym_sample*.in and findsym_sample*.log for sample input and
output files to this program.

The standard input should contain the following information:

(1) title line.  This line is copied to the output, but is otherwise
ignored by the program.

(2) tolerance: the accuracy to which dimensions of the unit cell and
positions of atoms are known.  Units should be the same as those used
for the lattice parameters in (4) below.  If zero is entered, the
default value of 1.0d-6 will be used.

(3) form of lattice parameters.  Form 1 indicates lattice parameters
will be entered as 3 vectors, and form 2 indicates lattice parameters
will be given in terms of lengths and angles.  This allows two
different ways of entering this data.

(4) lattice parameters.  If form 1 is given, then enter the cartesian
coordinates of the three vectors that define the conventional unit
cell.  Enter each vector on a separate line.  If form 2 is given, then
enter a,b,c,alpha,beta,gamma.  Give the angles, alpha,beta,gamma, in
degrees.

(5) form of basis vectors of unit cell.  Form 1 indicates basis vectors
will be entered as three dimensionless vectors, and form 2 indicates
that a label for the centering will be given.

(6) basis vectors of the unit cell.  

Form 1: Enter the basis vectors of the lattice which defines the unit
cell.  This unit cell does not need to be primitive.  The vectors
should be given in terms of the basis vectors of the conventional
lattice defined in (6).  Enter each vector on a separate line.  These
vector components are dimensionless and must be accurate to 3 decimal
places.  For example, 1/2 would be entered as 0.5, and 1/3 would be
entered as 0.333.  If the unit cell is the same as the conventional
unit cell, enter 1,0,0, 0,1,0, and 0,0,1.

Form 2: Enter the known centering of the unit cell: P (primitive or no
known centering), I (body-centered), F (face-centered), A,B,C (base
centered), or R (rhombohedral centered with coordinates of centered
points at (2/3,1/3,1/3) and (1/3,2/3,2/3), the convention used in
International Tables of Crystallography).

(7) number of atoms.  Enter the number of atoms in the unit cell
defined in (6).

(8) types of atoms.  Assign each type to an arbitrary positive
integer.  Enter these integers, one for each atom in the unit cell
defined in (6).  Type may refer to chemical identity (Mg,Na,F,etc.)
or net charge (Fe+2,Fe+3,...)  or any other characteristic which may
distinguish two atoms so that a symmetry operation that takes one atom
into the other would be forbidden.

(9) positions of atoms.  Enter the coordinates of each atom in the
unit cell defined in (6).  Give the coordinates in terms of the basis
vectors of the conventional lattice defined in (4).  These coordinates
are dimensionless.  Enter the coordinates of each atom on a separate
line.

(10) settings in the Internation Tables for Crystallography (optional).
This specifies the setting to be used for the space group in the output.
For each setting desired, enter the command given in the first column
below, each command on a separate line.

     axis b    unique axis b for monoclinic space groups (default)
     axis c    unique axis b for monoclinic space groups
     cell 1    cell choice 1 for centered monoclinic space groups (default)
     cell 2    cell choice 2 for centered monoclinic space groups
     cell 3    cell choice 3 for centered monoclinic space groups
     origin 1  origin choice 1 (when point of inversion is not at origin)
     origin 2  origin choice 2 (point of inversion at origin, default)
     axes h    hexagonal axes for R-centered space groups (default)
     axes r    rhombohedral axes for R-centered space groups

Standard output will repeat the input data and then will give the
following information (a copy of the output will also be written into
the file findsym.log):

Space group identified by

    (a) space group number and symbols from the International Tables
    of Crystallography.
    
    (b) origin of the space group with respect to the origin in the
    input data.  Coordinates are dimensionless, given in terms of the
    basis vectors of the conventional unit cell in the input.
    
    (c) basis vectors of the conventional unit cell defined in
    International Tables of Crystallography.  Components are
    dimensionless, given in terms of the basis vectors of the
    conventional unit cell in the input.  
    
    (d) lattice parameters a,b,c,alpha,beta,gamma for the basis
    vectors given in (c).  The lattice parameters have been idealized
    to be consistent with the symmetry of the space group, where
    necessary.
    
    (e) atomic positions in groups belonging to the same Wyckoff
    position.  Coordinates are dimensionless, given in terms of the
    conventional unit cell defined in International Tables of
    Crystallography.  These correspond exactly to the form of the
    Wyckoff positions given in International Tables of
    Crystallography.  The positions have been idealized to be
    consistent with the symmetry of the space group, where necessary.
