Subroutine rdsym

The subroutine rdsym reads in the character table and the definitions of the symmetry operations of the point group needed to comput the symmetry adapted angular functions

Input data records for rdsym

  1. pgroup, ngroup, ctype
  2. (opclas(i), nclass(i), i = 1, ngroup)
  3. For j = 1 to ngroup
    1. If ctype = 'real ' then
      symtyp(j), (xtab(i), i = 1, ngroup)
      else if ctype = 'complex' then
      symtyp(j), (xtab(i), ttab(i), i = 1, ngroup)
  4. For ic = 1 to ngroup
    1. For icn = 1 to nclass(ic)
      1. Different values of xntype have different formats.
        xntype = 'vec'
        xntype, (xn(j, nxn), j = 1, 4), optype
        xntype = 'ang'
        xntype, thetas, phis, xn(4, nxn), optype
        xntype = '2pt'
        xntype, x1(1:3), x2(1:3), xn(4, nxn), optype
        xntype = '3pt'
        xntype, x1(1:3), x2(1:3), x3(1:3), xn(4, nxn), optype

All of the symmetry operations can be specified by the direction of a vector, an angle of a rotation, and the type of operation as discussed below under the defintion of optype.

Definition of the input variables:

pgroup
a character string (LEN =5) with the point group name
ngroup
number of irreducible representations (IR)
ctype
this has the value 'real ' or 'complex' to indicate if the character table has real or complex values
opclass(i)
character string (LEN = 5) which is a label for ith class of operators
nclass(i)
number of operators in the ith class
symtyp(j)
label (LEN = 5) for irreducible representation
xtab(i)
value of this entry in the character table, or the norm of the chracter for complex valued character tables
ttab(i)
phase angel of the character (in degrees) for complex valued character tables
xntype
method of specifying symmetry operation character string (LEN = 3) possible values are:
'vec'
in this case the direction of the vector is read in directly in xn(1:3, nxn)
'ang'
the direction of the vector is specified by the spheical polar coordinates thetas and phis
'2pt'
the direction of the vector is from the point x1(1:3) to the point x2(1:3)
'3pt'
the direction of the vector is obtained from the cross product of the vectors (x2(1:3) - x1(1:3)) with (x3(1:3) - x2(1:3))
xn(1:3,nxn)
the direction of the vector defining the symmetry operation. Note these variables are read in but not used for the 'ident' operator
xn(4,nxn)
the angle of rotation about the vector of the symmetry operation defined in xn(1:3,nxn). Note this variable is read in but not used for the 'ident' and 'reflec' type operators.
optype
type of symmetry operation. It can have the following values:
'ident'
this is the for the identity operation
'reflec'
the symmetry operation is a reflection in the plane perpedicular to the symmetry operation vector defined in xn(1:3,nxn)
'rotat'
the symmetry operation is a rotation of xn(4,nxn) degrees about the direction defined in xn(1:3,nxn)
'rfrot'
the symmetry operation is a rotation of xn(4,nxn) degrees about the direction defined in xn(1:3,nxn) with a reflection in the plane perpendicular to the vector defined by xn(1:3,nxn)
thetas, phis
the theta and phi spherical polar coordinates (in units of degrees) defining the symmetry direction in the 'ang' input format
x1(1:3), x2(1:3), x3(1:3)
points used to specify the vector defining the symmetry operation