SMODES, Version 1.2.3, June 1998

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 calculates the displacement modes in a crystal which brings the
dynamical matrix to block-diagonal form, with the smallest possible blocks.  It
also chooses the modes so that its unit cell is as small as possible and its
point-group symmetry is as high as possible.

Input comes from standard input which may be redirected from a file.  Output
goes to standard output which may also be redirected to a file.  See the files,
smodes_sample.in and smodes_sample.out, for an example of input and output to
the program.

--------------------------------------------------------------------------------

input:

line 1.  Title line.  This line can contain any string of characters, including
no characters, and will be copied onto the first line of output.

line 2.  Space group number, 1 through 230.

line 3.  Lattice parameters, a,b,c,alpha,beta,gamma.  Angles should be given
in units of degrees.

line 4.  Number of inequivalent atomic positions in the unit cell.  Atoms which
are at different sites of the same Wyckoff position are at equivalent positions.

line 5a, 5b, 5c...  The atomic symbol and its position.  Each inequivalent 
atomic position should be on a separate line.  The atomic symbol can be
any character string the user wants to use to identify the atom at that
position.  The position is denoted by a lower-case letter (the symbol for the 
Wyckoff position given in the International Tables for Crystallography), 
followed by 3 numbers, the values of x,y,z.  These numbers are unnecessary if 
the Wyckoff position is at a point of symmetry and has no degrees of freedom 
in its coordinates.
Examples:  Space group #204
     Cu b              Cu atom at Wyckoff position b: (0,1/2,1/2)
     Mg2+ e 0.15       Mg2+ ion at Wyckoff position e: (x,0,1/2)=(0.15,0,1/2)
     O g 0 0.22 -0.09  O atom at Wyckoff position g: (0,y,z)=(0,0.22,-0.09)
Note that for Wyckoff position g, a value must be given for x, even though x
does not appear in the coordinates of the position.  The program interprets
the first number to be x, the second number to be y, and the third number to
be z, regardless of which of these are actually used in evaluating the
coordinates of the atomic position.
The program uses the settings in the International Tables for Crystallography.
Sometimes more than one setting is given in the Tables.  This program uses:
(a) for monoclinic groups, unique axis b and cell choice 1, (b) for groups
where there are two choices of origin, the second choice (where the point of 
inversion is at the origin), (c) for rhombohedral groups, the hexagonal axes.
Sometimes the convention for the values of x,y,z used in the program do not
follow the one in the Tables.  Always check the output to determine where
the program actually put each atom.

line 6.  Number of different k vectors to be treated.

line 7a,7b,7c...  The k vectors to be treated, each on a different line.
The symbols for the k vectors follow the convention of Miller and Love.
Greek letters gamma, delta, sigma, lambda are denoted by GM, DT, SG, LD,
respectively.  The general point is denoted by GP.  Some k vectors must be 
further specified by one or more parameters, denoted by alpha,beta,gamma
(not the same as the 3 angles given on line 3).  Each parameter must be
entered as a ratio of two integers.
Examples:  Space group 115
     GM               Gamma point, k=(0,0,0)
     Z                Z point, k=(0,0,1/2)
     DT 1/4           Point on delta line, k=(0,0,alpha)=(0,0,1/4)
     GM DT            Gamma point with longitudinal modes along the direction
                      of the delta line, (0,0,1)
For the gamma point (k=0), a direction may be given for the longitudinal mode,
as in the last example above.  The direction is given as one of the k lines
of symmetry.  The program separates the longitudinal mode from the transverse
modes in the output.

--------------------------------------------------------------------------------

output:

(1) title line, copied from the first line in the input.

(2) space group number and symbol

(3) lattice parameters: a,b,c,alpha,beta,gamma

(4) Wyckoff position of each inequivalent atomic site in the unit cell

(5) k vector symbol and coordinates.  The coordinates are given in terms of
the basis vectors of the reciprocal lattice of the conventional lattice given
in International Tables for Crystallography.  Note that k vectors in Miller and
Love are given in terms of basis vectors of primitive lattices and may not
appear the same as the output of this program.

(6) Irreducible representation (irrep) symbol, following the convention of
Miller and Love.  For k=0, the conventional symbol for point group irrep
is also given.

(7) Degeneracy of each mode.  This is the dimension of the irrep.

(8) Total number of modes for this irrep, including all of the degenerate modes.

(9) For k=0, some of the modes may be translational, i.e., they describe a 
translation of the entire crystal.  If there are any among the modes 
for a particular irrep, the number of such translation modes are given here.

(10) If the modes are IR-active, this is indicated.  This only occurs for k=0.

(11) If the modes are raman-active, this is indicated.  This only occurs for
k=0.

(12) Basis vectors of the lattice describing the distorted crystal.  This 
lattice is primitive, but the basis vectors are given in cartesian coordinates, 
in terms of an orthonormal set of basis vectors (i,j,k), consistent with the
values given for the lattice parameters, a,b,c,alpha,beta,gamma.

(13) Position of each atom in the unit cell, given in the same cartesian
coordinates as the basis vectors of the lattice in (12).

(14) Symmetry modes.  Each symmetry mode defines a coordinate
transformation which brings the dynamical matrix to block diagonal form.

(15) If any of these symmetry modes are translational modes, the number of
such modes is given.

(16) Each symmetry mode is given.  The mode is defined by a displacement of
like atoms in the unit cell.  The displacements are given in the same cartesian
coordinates as the basis vectors of the lattice in (12) and the atomic positions
in (13).

(14) The next irrep for the k vector is given, and (6) through (16) are
repeated.

(15) When all of the irreps for the k vector have been given, the next k
vector is given, and (5) through (14) are repeated.
