SYMSEARCH, Version 1.0-6, December 1997

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.  If there is noise in the
values of atomic positions, this program finds a list of possible
space-group symmetries, each with a corresponding rms scatter required
in the data.

See symsearch_sample*.in and symsearch_sample*.out for sample input
and output files to this program.

See symsearch.ps (postscript file) for some detailed explanation of
the algorithm used.

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) scope of search.  

Scope 1 finds all space groups and their subgroups compatible with the
maximum rms average limits.  No subgroup of any space group below the
minimum rms average limits is listed.

Scope 2 lists only those groups in scope 1 which are supergroups for
each lattice.

Scope 3 lists only those groups in scope 1 which have a superlattice.

Scope 4 lists only those groups in scope 1 which are supergroups for
the superlattices.

(3) maximum and minimum rms average atomic displacements.  These are
limits on the atomic displacements required to bring the crystal to
the exact symmetry of the space group.  No space group above the
maximum will be listed.  Only supergroups below the minimum will be
listed.

(4) maximum and minimum rms average strain.  These are limits on the
lattice strain required to bring the crystal to the exact symmetry of
the space group.  No space group above the maximum will be listed.
Only supergroups below the minimum will be listed.

(5) 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.

(6) 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.

(7) basis vectors of the unit cell.  Enter the basis vectors 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 15 significant figures.  For example, 1/2 would be entered
as 0.5, and 1/3 would be entered as 0.333333333333333.  If the unit
cell is the same as the conventional unit cell, enter 1,0,0, 0,1,0,
and 0,0,1.

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

(9) types of atoms.  Assign each type to an arbitrary positive
integer.  Enter these integers, one for each atom in the unit cell
defined in (7).  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.

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

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

(1) additional lattice points in the unit cell.

(2) basis vectors of the primitive lattices considered.

(3) possible space-group elements for each primitive lattice considered.

(4) space groups identified by

    (a) space group number and symbols from the International Tables of
    Crystallography.
    
    (b) rms average atomic displacements and rms average lattice
    strain required so that the crystal has the exact symmetry of the
    given space group.
    
    (c) 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.
    
    (d) 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.
    
    (e) lattice parameters a,b,c,alpha,beta,gamma for the basis
    vectors given in (d).
    
    (f) 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.

symsearch uses the following settings of space groups in International
Tables of Crystallography:

monoclinic:  unique axis b, cell choice 1
rhombohedral:  hexagonal axes
origin choice 1
