0



                                
                            MOVIEMOL
     An easy-to-use molecular display and animation program
                                
                                
                          Version  1.1
                                
                                
                     Authors and Copyright:
                Kersti Hermansson and Lars Ojame
                                
           Uppsala University, Institute of Chemistry
                   Report UUIC-B19-500 (1994)






CONTENTS

1.   Introduction                                      1
2.   How to run Moviemol                               2
3.   Actions from keys on the keyboard                 3
4.   The contents of the optional control file
4.1.   The use of the control file                     4
4.2.   The display and generation of atoms and bonds   4
4.3.   Variables in the optional "name".ctl file    ($CNTRL and
$PS namelists)                                         7
5.   More about...
5.1.   ...The input format                            13
5.2.   ...How to change the distance criteria for covalent bonds
14
5.3.   ...How to add additional (non-covalent) bond types  15
5.4    ...How to remove or modify H-bonds             15
5.5.   ...How to speed the animation up a bit         15
5.6.   ...How to create a b/w or colour postscript image   16
5.7.   ...Virtual-reality mode                        16
5.8.   ...Displaying crystal  structures              17
5.9.   ...Interfacing Moviemol with an MD run         17
5.10. ...The default values in the radius, colour and weight
arrays                                                18
6.   Additional  programs...
6.1.   Conversion from Gaussian92 or Hondo v8.0 normal
coordinates
          to Moviemol input                           20
6.2.   Conversion from Crystal Coordinates to Moviemol input
20
7.   Six demonstation examples                        21
8.   Authors and trademarks                           22

1. Introduction

Moviemol  is  a  program  for  visualization  and  animation  of
molecular   structures.   Moviemol  typically  takes   sets   of
molecular coordinates and displays each of these sets or  frames
one    after    the   other   to   create   a    "movie".    The
molecules/atoms/ions  are displayed in the ball-and-stick  form.
At any moment during the animation, the molecules can be rotated
or  translated,  magnified or diminished, or a postscript  image
file can be created.

Moviemol  is  now  used  as a standard display  program  at  the
Chemistry    Department  in  Uppsala,  both   in   undergraduate
education and as a tool to visualize scientific results such  as
Molecular  Dynamics (MD) trajectories, normal  mode  vibrations,
crystal  structures  or  the geometry  of  molecular  structures
resulting  from quantum-mechanical calculations. We  have  found
the  program  particularly helpful at conference  presentations,
where  we have displayed the animations for wide audiences  with
the help of a portable PC and an overhead projection panel.

The  necessary input to the program is a file (default extension
".xyz") which contains frames with atomic coordinates and atomic
numbers Z, arranged  as follows (free format):

        Number of frames
            Number of atoms in frame no. 1.
                x, y, z, Z      for atom no. 1
                x, y, z, Z      for atom no. 2
                     ...
                x, y, z, Z      for the last atom
            Number of atoms in frame no. 2.
                x, y, z, Z      for atom no. 1
                x, y, z, Z      for atom no. 2
                     ...
                x, y, z, Z      for the last atom


etc. for all the frames. Different input formats are allowed  if
signalled by the user in the (optional; see next paragraph) .ctl
file. The default  unit for the atomic coordinates is Angstrom.

With the aid of a data base of covalent and van der Waals atomic
radii,  colours, distance criteria etc., Moviemol then generates
the  appropriate atoms and bonds and displays the results on the
screen  for  each  frame in succession. No additional  input  is
necessary. However, if you want to modify the atoms or bonds  or
change  the  input  format, for example, this  can  be  done  by
modifying the corresponding variables in the $CNTRL namelist  in
the optional "control file" (with the default extension ".ctl").

The Moviemol program currently runs on PC:s and IBM RISC/6000 or
Silicon  Graphics workstations. It is distributed free-of-charge
to  academic  research institutions and researchers.  We  -  the
authors  -  want all copies to be distributed through ourselves,
however,  and therefore ask you to contact us (how, see  Section
8)  to  obtain your copy of  the program (although  a  shareware
version  with  a  built-in expiration date can  be  obtained  by
anonymous  ftp from 'chem-ftp.mps.ohio-state.edu' for "check-it-
out"-purposes). Commercial or educational establishments will be
charged a very  reasonable fee.




2. How to run Moviemol


 We have provided you with:

  1)  A Moviemol executable program module, named "moviemol.exe"
for PCs, or "Moviemol" for IBM
    RISC/6000 or Silicon Graphics Indigo workstations.

  2)  Six demonstration examples, from the gas, liquid and solid
phases:

     "ex1.xyz"  and "ex1.ctl":   A movie displaying trajectories
from   an   MD  simulation  of  a                         (H2O)2
dimer at 400 K.

     "ex2.xyz"  and "ex2.ctl":   A movie displaying trajectories
from an MD simulation of  an
                AlCl3(aq) solution at 300K.
                               .
     "ex3.xyz" and "ex3.ctl":   A movie displaying a normal mode
vibration in the LiOH.H2O crystal.

     "ex4.xyz" and "ex4.ctl":   A movie displaying a normal mode
vibration in the CF3SO3-  ion.

     "ex5.xyz"  and  "ex5.ctl":  A single-frame picture  of  the
RbH3(SeO3)2   crystal structure.

    "ex6.xyz" and "ex6.ctl":   A single-frame picture of the C60
buckeyball molecule.


    More details about these examples are given in Section 7.

 3)  This manual.


           To        start       the       program,       write:
moviemol  <return>
     The  program will then ask you:                       Enter
coordinate file name :
     You  can  answer, for example:                          ex1
<return>

     -  and  you're  in business, looking at the  movie  of  the
"ex1.xyz" file !


You  can  now  start  studying the  trajectories  in  detail  by
rotating  the  molecules,  zooming  in  the  picture,  making  a
hardcopy now and then, or whatever you might fancy to do -  just
by  pressing  the  appropriate keys on your  PC  or  workstation
keyboard.  The  action  of the keys is described   in  the  next
section.  Note  that only if you care to change  the   program's
default  settings do you need to read beyond Chapter 3  of  this
manual!

  !!!  The system requirements for the PC-version is at least  a
PC386  with a  math co-processor and 5 Mb of memory. The program
uses extended memory, so you may have to deactivate your memory-
manager programs !!!

  !!!  The  workstation versions require X-windows  and  the  GL
graphics  library.  You may need to give the command  "chmod  +x
moviemol" before running the program for the first time !!!



3. Actions from keys on the keyboard

In  the  following, we use the term "molecules" to refer to  the
object(s)  displayed, regardless of whether  they  are  actually
molecules, atoms, or whatever.

The animation can be modified from the keyboard by the following
keys (upper- or lowercase does not matter):


spacebar          Halts       animation/continues       halted
                  animation.Toggle.
 (Esc), Q         Exits from the program.
 >  <             Increases or decreases the animation speed.
F -or- PageUp     Displays  the  frames one  step  at  a  time
                  Forward.
B -or- PageDown   Displays  the  frames one  step  at  a  time
                  Backward.
N -or- Home       Leaves one-step mode and enters the "Normal"
                  mode.
P                 Creates  a  Postscript file  of  the  screen
                  image.
M -or- ?          Shows the Menu.
R                 Toggles    continuous/one-step   mode    for
                  Rotations and translations.
E                 Toggles 'loop forEver'/'stop at last frame'.
T                 Toggles  the  display  of  chemical  symbols
                  ("Titles") on/off.
#                 Shows  the list number for each atom in  the
                  current frame of the coordinate input file.
X                 Rotates the object 90 degrees around  the  X
                  axis.
Y                 Rotates the object 90 degrees around  the  Y
                  axis.
Z                 Rotates the object 90 degrees around  the  Z
                  axis.
arrows            Rotates   the   molecules   around   the   x
                  (horizontal)  and  y  (vertical)  axes  with
                  respect   to  the  center-of-mass   of   the
                  molecules.   Step  size:'degree'  (default:5
                  deg, changable in $CNTRL)
+ -               Rotates the molecules around the z axis. The
                  z axis points out from the screen.
* /               Increases   or  Decreases  rotational   step
                  length.
(ctrl)arrows -or- Translates the molecules along x or y.  Step
H J K L           size:  'trans' (default:0.5 A, changable  in
                  $CNTRL).
(ctrl)+ (ctrl)-   Translates the molecules in the z direction.
-or- I O
(ctrl)* (ctrl)/   Increases  or  Decreases translational  step
-or- [ ]          size.
U                 Undoes the rotations/translations (i.e. goes
                  back to the original orientation).
V                 Enters/leaves desktop Virtual-reality mode.
) (               Increases  or  decreases the  scale  of  the
                  virtual   model.  (Used  mainly  in  Virtual
                  reality-mode.)
W                 Writes   out   the  current   rotation   and
                  translation  matrices and some variables  on
                  the   file   'moviemol.out'.   It   is   the
                  rotations and translations performed for the
                  current frame which are printed.

By default the program halts when the end of the coordinate file
is  reached.   If you then press the spacebar twice,  the  movie
starts  anew,  from  the  first  frame.  This  is  automatically
accomplished if the variable 'iforever' is set  to 1 (default is
=  0) in the $CNTRL namelist in the "control" file; see sections
4.1 and 4.3.

Warning!
For  Moviemol  on  workstations, except  Silicon  Graphics,  the
combination   keys  '(ctrl)something'  do  not  work   properly.
Therefore we have added extra keyboard-keys (H,J,K,L,I,O,[,]) to
perform the same operations.




4. The contents of the optional control file

4.1. The use of the control file

Moviemol  contains  a  data base of default  values  for  atomic
radii,  masses, H-bond distance limits, colours,  etc.  However,
you  might  want  to modify these values. This can  be  done  by
changing the value of the corresponding variable in the variable
namelist "$CNTRL" in the "control"-file. All variables that  can
be  changed  by the user are listed in Section 4.3. Here  is  an
example of the contents of a control file:

    $CNTRL
        iunit = 0, introtext=1, text(5)='  Structure B at 300 K
',
        radvdw(1) = 1.5, atomcolor(8) = 'blue',
    $END

"iunit=0"  says that the unit in the coordinate  input  file  is
Bohr  rather  than  Angstrom, "introtext=1" that an introductory
text (namely: "This is a  Moviemol show starring Structure B  at
300  K")  will be displayed.  "radvdw(1) = 1.5 A" says that  the
radius  of the atoms with atomic number 1, that is H, should  be
1.5  A, and "atomcolor(8) = 'blue'" says  that the oxygen  atoms
should be coloured blue.

When  the  program  starts, you are prompted  to  react  to  the
following   request:  "Enter  coordinate  file  name:   ".   The
(compulsory)  coordinate file as well as  the  (optional)  input
file  can  have  any  names. However, the names  "name".xyz  and
"name".ctl  make life particularly easy. If you then  answer  by
typing  "name" only (like we did in Section 2), without the .xyz
extension,  the   program  reads  coordinates  from   the   file
"name".xyz and automatically reads new variable values from  the
file  "name".ctl, if it exists. If it does not  exist,  all  the
default values of the program are used. If you answer  with  the
full coordinate name, i.e. "name".xyz or any other name such  as
"name".dat,  for example, the program will prompt  you  for  the
name  of the  control file : " Enter control file name (if any):
".  Again  you can choose to use the program default values,  by
writing <return>, which signals that  no input file is used.

As an alternative or complement to having a special control file
named  "name".ctl,  you may want to have  a  generic  inputfile,
named  "moviemol.ctl".   If such a file exists  in  the  current
working  directory, the program reads  this file before  reading
any  file named "name".ctl. On workstations this  file can  also
be  situated  in the /usr/lib or the /usr/local/bin directories,
enabling  the  default  values to be modified locally  for  your
site.  On  PC's  the  file can also be  placed  in  the  "  \  "
directory.


4.2. The display and generation of atoms and bonds

The  display  of the atoms is determined by 'atomcolor(  )'  and
'radvdw  (  )' for each atom type (=atomic number)  and  by  the
scale  factor 'radscale'.The size of the atoms on the screen  is
determined by radscale*radvdw( ) and by the z-coordinate due  to
the perspective.

Besides  the  elements  1-100, atoms are also  allowed  to  have
atomic numbers 101-500. The elements 101-300 have been given the
same  radii,  masses and names as elements 1-100, but  different
default colours. Thus, for example, elements 8, 108 and  208  by
default  correspond to oxygen atoms (except the  default  colour
for  Z > 100 is purple and for element 8 it is red). These  high
atomic  numbers  can  be useful if you  would  like  to  make  a
distinction between, let's say, different kinds of oxygen atoms,
by  assigning  them  different colours. Then  you  could  simply
change  the  atomic  number for the appropriate  subgroup(s)  of
oxygen  atoms  to  108  (and/or 208,...) instead  of  8  in  the
coordinate  file. And if you do not like the colour  purple  you
just add new colour entries in the $CNTRL namelist, e.g.

        atomcolor(108) = 'green', atomcolor(208)='yellow',...

The  elements 301-400 are all named 'X' and the elements 401-500
'Y'.  These atom labels may be natural   to use if  you want  to
display  so-called dummy atoms and ghost atoms from  a  Gaussian
run. The atomic radii, colours, etc. for these elements (as  for
all  the  others)  can be modified by assigning  new  values  to
'radvdw( )' and 'atomcolor( )', etc. The chemical symbol  itself
can be modified by the 'chemsymb(  )'  variable.

Covalent bonds (bond-length criteria taken from the data base of
covalent  radii) are utomatically displayed. Covalent bonds  all
have  the  color   'covcolor'  and thickness  'covbondthick'.  A
covalent bond is drawn between two  atoms with atomic numbers  i
and j if the distance is shorter than   'radcov(i) + radcov(j) +
flex'.  The  program default values for radcov( ) are  shown  in
Section  5.5,  and  can,  of course, be changed  in  the  $CNTRL
namelist in the .ctl file. 'Flex' is 0.2 by default, but can  be
changed  in the $CNTRL  namelist, if you want a more  (or  less)
liberal distance criterion. 'Flex'  has been introduced to allow
for a certain flexibility of intramolecular bond distances. This
may  be useful if the data file displayed originates from an  MD
simulation  with flexible intramolecular bonds or  if  the  data
file  contains the vibrations from a normal-coordinate  analysis
(cf. Section 6.1).

If  the  user  does not want covalent bonds to be drawn  between
certain  pairs  of atoms which fulfil the default  covalent-bond
criterion,   these   bonds   can  be   removed   by   specifying
'nremovecov',  'nocov1(  )'  and  'nocov2(  )'  in  the   $CNTRL
namelist. 'nremovecov' tells how many types of bonds you want to
remove.  For  example, if you do not want to draw  S-O  and  C-C
covalent bonds then write:

           nremovecov    =   2,   nocov1(1)=16,     nocov2(1)=8,
nocov1(2)=6, nocov2(2)=6,


If  the user also wants to display other bond types, in addition
to the covalent bonds, e.g. H bonds, cation-ligand bonds, metal-
metal  bonds,  etc. between different atoms and  with  different
bond length criteria and perhaps with different colours than the
covalent bonds, this can be specified with  the $CNTRL namelist.
These additional bond types we call "non-covalent  bonds".  Each
such  non-covalent  bond  type is defined  by  giving  the  bond
length limits for the bond, the colour desired, the thickness of
the  bond,  and which types of atoms (i.e. atomic  numbers)  are
allowed  at  either  side of the bond. This is  accomplished  by
defining  a  new non-covalent bond type (1 if it is  the  first)
which  will  have a certain distance criterion 'bonddistmin(1)',
'bonddistmax(1)') for all the atoms belonging to this bond  type
and   which  will  be  displayed  by  a  certain   bond   colour
('bondcolor(1)') and bond thickness ('bondwidth(1)').  The  atom
types  allowed at either end of this new bond type are specified
by 'bonddonor(i)', 'bondacceptor(i)' (where 'i' is the number of
the  bond),  which  say which these atom types  are.  Altogether
maximum  12  non-covalent bond types can be  specified.  If  two
atoms  fulfil  both the covalent bond criterion  and  the  user-
specified criterion,  the latter overrides the former.

   Ex   1:  In  addition  to  the  covalent  bonds,  which   are
automatically displayed, draw H-bonds between all
    H...O atoms such that 1.6 A < R < 2.2 A. Make them white and
of thickness 0.038. This can
    be achieved by giving  in the $CNTRL namelist:

        bondcolor(1)='white',   bonddistmin(1)=1.6,
bonddistmax(1)=2.2,
        bonddonor(1)=1,   bondacceptor(1)=8,
bondwidth(1)=0.038,

There  is an equivalent way of specifying this, which you  might
prefer if you prefer specific hydrogen bond names, namely:

        hbcolor='white',   disthbmin=1.6,    disthbmax=2.2,
        hbdonor=1,     hbacceptor=8,    hbbondwidth=0.038,

This  works  because in the program 'hbdonor' is  equivalent  to
'bonddonor(1)',    etc.   It   so   happens,    however,    that
hbcolor='white',   hbdistmin=1.6,   hbdistmax=2.2,    hbdonor=1,
hbacceptor=8 and hbbondwidth=0.038 are the default  settings  of
the  hydrogen bond parameters in Moviemol. Consequently, nothing
needs to be written.

Note  that,  for  ease of use, we have added the following  lazy
man's tool. If you want to play around and test your images with
and  without H-bonds displayed (i.e. with and without the  first
non-covalent bond type displayed), then you do not have to  keep
adding/removing the lines above in your $CNTRL namelist. You can
just leave the lines there, and set the parameter 'idisplayhb  =
0' when you do not want to show these bonds.

As  stated, the first elements in the general bonddonor(  ) etc.
arrays are by default reserved for H...O hydrogen bonds. If  you
want  to  stick  to that convention, a second non-covalent  bond
should  be  defined with bonddonor(2), etc.,  as  shown  in  the
following example:

Ex 2: For the same data file, also draw  narrow (0.02 Angstrom)
yellow bonds between all Na-O and
    Al-O atoms such that 1.5 A < R < 1.9 A. Then use the
following input:

        bondcolor(2)='yellow', bonddistmin(2)=1.5,
bonddistmax(2)=1.9,
        bonddonor(2)=8,      bondacceptor(2)=11,
bondwidth(2)=0.02,
        bondcolor(3)='yellow', bonddistmin(3)=1.5,
bonddistmax(3)=1.9,
        bonddonor(3)=8,      bondacceptor(3)=13,
bondwidth(3)=0.02,

    or, equivalently,

        bondcolor='white','yellow','yellow',
bondwidth=0.038,0.02,0.02,
        bonddonor=    1,  8,  8,      bondacceptor= 8, 11, 13,
                         bonddistmin=1.6,1.5,1.5,
bonddistmax=2.2,1.9,1.9,


Colours  are specified as text strings. The possible values  for
the different variables that determine the colours are:

     'black',    darkblue',   'green',    'lightblue',    'red',
'purple',   'toffee',   'lightgrey',   'grey',
      'blue',    'greenyellow',    'turquoise',    'salmonpink',
'magenta',  'yellow',   'white',
      'lightyellow',    'pink',   'steelgray   ',    'darkgray',
'bluegreen'

Out of these 21, only the first 16 can be displayed on PCs and
on most workstations.


The  atomic labels (invoked by pressing 'T' for Text)  have  the
same  size   as the displayed atomic radii times a scale  factor
'symbolsize'. On the PC  the symbol size can only be changed  in
multiples  of  8  pixels (a feature of  the NDP compiler),  i.e.
approx.  4 mm. The symbol size on the postscript  output  images
do  not have this restriction. Moreover, the symbol size on  the
postscript images can be made non-proportional (i.e. all of  the
same  size)   if  this suits the user better  (see  the  end  of
Section 4.3).

 The maximum number of atoms per frame in the coordinate file is
1600. The maximum number of bonds (covalent + non-covalent) from
each atom is 16.

 4.3  Variables in the optional "name".ctl file   ($CNTRL and
$PS namelists)

 The variables in the $cntrl namelist of the control file
determine:

   a) how the atoms and bonds are generated and displayed

    atomcolor(500), bondacceptor(12), bondcolor(12),
    bonddistmax(12), bonddistmin(12), bonddonor(12),
    bondwidth(12), catcolor, covbondwidth, covcolor, flex,
    hbacceptor,
    hbbondwidth, hbcolor, hbdistmax, hbdistmin, hbdonor, flex,
    idisplayhb, idisplaysymbol, , nocov1(40),
    nocov2(40),nremovecov, radcov(500), radscale,  radvdw(500),
    sizelamp, symbolcolor,  symbolsize, xdelsymbol, xdelta,
    ydelsymbol, ydelta

   b) how the animation is executed and the frames displayed

    backcolor, clip, degree, eyedistance, fixcenter,
    icontinuerot, ifixscale, iforever, inmode,
    ipersp, iusedirect, iwait0, iwait, keepbonds,npixwinx,
    npixwiny, nshow, rotate(3,3), trans,
    translate(3),weight(500), xfixwidth, xrotstep, yrotstep,
    zrotstep, xymargin

   c) how the text is displayed

    iframetext, frametextcolor, iframetextsize, xframetext,
    yframetext,introtext, textcolor(10),
    itextsize(10),xtext(10),ytext(10),text(10)

   d) the input format

    auang(6), icrystal, inputformat, iunit, needtosort, nframein

    e)  the postscript file generation (more specialties can  be
written in the $ps namelist in
                    the "name".ctl file)
    icolorps, ishadeps, iportrait


Below is an alphabetical list of these variables, with
explanations.    Variables with  names starting with the letter
'i' take integer values, often 0 or 1, with 0 meaning 'off' and
1 meaning  'on'.

Variable in      Default       Explanation
$CNTRL           value(s)

atomcolor(500)   See Section    The colour of the atom type.
                 5.7
auang(6)         /0.529177,1.0  Conversion     factors     for
                 ,10.0,1.0,1.0  different length units used by
                 ,1.0/          the    parameter   'iunit',see
                                below. auang should never need
                                to be changed.
axiscolor        /'black'/      The width (in Angstrom)  of
                                the unit-cell axes (for
                                idisplaycell=1).
axiswidth        /0.025/        The colour of the unit-cell
                                axes (for  idisplaycell=1).
backcolor        /'salmonpink'  The colour of the background.
                 /
bondacceptor(12) /8,0,...,0/    The atom types (atomic number)
                                for the 'acceptor atom' for
                                each of the  non-covalent bond
                                types.
bondcolor(12)    /'white','pur  The colours of the non-
                 ple',10*'whit  covalent bonds.
                 e'/
bonddistmax(12)  /2.2,2.2,0.,0  Max. dist. for the display of
                 .,0.,../       non-cov. bonds
bonddistmin(12)  /1.6,1.6,0.,0  Min. dist. for  the display of
                 .,0.,.../      non-cov. bonds
bonddonor(12)    /1,0,...,0/    The atom  types (atomic
                                number) for the  'donor atom'
                                for each of the  non-covalent
                                bond types
bondwidth(12)    /0.038/        The thickness of the non-
                                covalent bonds in Angstrom
catcolor         /'purple'/     Equivalent to 'bondcolor(2)'.
chemsymb(500)    /'H','Li',...  Chemical symbol, displayed  by
                 /              pressing  the key 'T'.
clip             /0.8/          The position of the clip-plane
                                in  fractions of  the  screen-
                                viewer  distance (if  =0.0  it
                                coincides       with       the
                                screen).Atoms   further   away
                                from  the  screen towards  the
                                viewer  than  'clip'  are  not
                                displayed
covbondwidth     /0.038/        The thickness of the covalent
                                bonds in Angstrom.
                                (alternative name:
                                'bondthick')
covcolor         /'black'/      The colour of the covalent
                                bonds
degree           /5.0/          (Initial) stepsize (deg.) for
                                rotations
eyedistance      /45.0/ (cm)     Approx. dist.  screen <-->
                                viewer's eye
fixcenter        /0.,0.,0./     If ifixcenter=1, then the
                                vertical dimension of the
                                display will be 'xfixwidth'
                                angstroms with a center in the
                                point 'fixcenter'.
flex             /0.2/          Add-on to the max. dist. for
                                cov. bonds
frametextcolor   /.../          The colour of text string
                                displayed for each frame (if
                                iframetext=1)
hbacceptor       /8/            Acceptor atom types for the H
                                bonds.
                                Equivalent to
                                'bondacceptor(1)'
hbbondwidth      /0.038/        Equivalent to 'bondwidth(1)'.
hbcolor          /white/      Equivalent to 'bondcolor(1)'
hbdistmax        /2.2/          Max. distance for display of H-
                                bonds
                                (Equivalent to
                                'bonddistmax(1)')
hbdistmin        /1.6/          Min. dist. for display of H-
                                bonds
                                (Equivalent to
                                'bonddistmin(1)')
hbdonor          /1/            Donor atom type for the H
                                bonds.
                                Equivalent to 'bonddonor(1)'.
icontinuerot     /0/            = 0, the initial rotation mode
                                is stepwise
                                = 1, the initial rotation mode
                                is continuous
                                Can be changed at any time by
                                pressing 'R' (toggle)
icloseopen       /0/            = 0, normal
                                = 1, close and reopen the
                                coordinate file when the end
                                       of the file is reached.
                                (This automatically causes
                                       iusedirect to be set to
                                2!)
icrystal         /0/            = 0, no function
                                = 1, equivalent to iunit=5
idisplaycell     /0/            = 0, do not display cell edges
                                = 1, display cell edges
                                (applicable when icrystal=1)
idisplayhb       /1/            = 0, do not display H-bonds
                                = 1, display H-bonds   (see
                                "Note" in Section 4.2)
idisplaysymbol   /0/            = 0, atomic text symbols not
                                displayed initially.
                                = 1, atomic text symbols are
                                initially displayed.
ifixscale        /0/            = 0, the scale is
                                automatically determined
                                = 1, the scale is given in the
                                input by 'xfixwidth'.
ifixsymbol       /1/            = 1, the size of symbols is
                                constant
                                = 0, the size of symbols
                                changes with perspective
iforever         /0/            = 0, program halts when the
                                end of the coordinate file
                                        is reached. Press the
                                space bar to restart from
                                        frame 1.
                                = 1, the animation starts from
                                the beginning again
                                        when e-o-f is reached
iframetext       /0/            = 0, no display of text
                                connected to each frame
                                = 1, display a text string
                                (character*50)  associated
                                         with each frame.
                                String must  be placed in the
                                         data file, on a line
                                above the number of atoms
                                         for each frame.
iframetextsize   /12/           The  size  of the text  string
                                displayed  for each  frame  if
                                iframetext=1.
ikeepbonds       /0/            = 0, the bonds are determinded
                                for each frame anew
                                = 1, the bonds as determined
                                in the first frame main-
                                        tained throughout the
                                animation. Not perfect.
imonochrome      /0/            = 0, colour monitor
                                = 1, monochrome monitor
inmode           /0/            The   program   senses   which
                                graphics card is used and sets
                                the  appropriate BIOS graphics
                                mode.   If   a  user-specified
                                value  of  inmode is given  it
                                can  only be equal to  one  of
                                the following values:14 (640 x
                                200,  16-color), 15  (640x200,
                                monochrome), 16 (640 x 350, 16-
                                color).  For PC's only.
inputformat      /0/            = 0: nframes <natoms (x  y  z
                                Z )> ...
                                = 1: nframes <natoms ('name'
                                x  y  z  Z )> ...
                                = 2: nframes <natoms
                                (chem.symb.  x  y  z )> .
                                = 3: nframes <natoms (Z  x  y
                                z )> ...
                                = 4: nframes <natoms ('name'
                                Z  x  y  z )> ...
                                = 9: nframes, natoms  <( Z  x
                                y  z )> ...
                                =10: nframes, natoms,
                                (Z(1),Z(2),...) <(x  y  z )>..
                                =11: (Gaussian90 output
                                format): <idum x  y  z  Z>..
                                =21: An output file from the
                                Gaussian92 program is
                                         read.
                                (More details are provided in
                                Section 5.1)
introtext        /0/            = 0, do not display text
                                before the animation starts
                                = 1, display text before the
                                animation starts.
                                
                                The  text  is  stored  in  the
                                'text(     )'     character*50
                                variables and its positions in
                                the 'xtext( )'  and 'ytext( )'
                                real  variables  (measured  in
                                fractions   of  the   screen).
                                'itextcolor(      )'       and
                                'itextsize( )' determines  the
                                colours       and       sizes,
                                respectively   (see    below).
                                Hint:    With   the    default
                                settings:                 only
                                text(1),...,text(5)  will  fit
                                on  the  screen,  use  max  26
                                characters for each  text(  ),
                                and  remember  that  character
                                no. 13 will fall at center  of
                                the  screen. The default texts
                                are:   text(1)='This  is   a',
                                text(2)='MOVIEMOL',
                                'text(3)='show',      text(4)=
                                'starring',      text(5)='some
                                interesting molecules'.
ipersp           /1/            = 0, orthographic projection
                                (no depth in the picture)
                                = 1,  perspective projection
                                (items far away appear
                                         smaller than items
                                close by).  In this mode, the
                                         zoom keys will notbe
                                very useful, since the size
                                         of the object is
                                independent of  the z
                                coordinate.
                                         Use  '(' and ')'
                                instead.
iportrait        /0/            = 0, postscript images are
                                generated in landscape
                                        mode
                                = 1, postscript images are
                                generated in portrait mode
ireadstdinp      /0/            = 0, program prompts for the
                                coordinate file name
                                = 1, atomic coordinates read
                                from standard input
                                       (This automatically
                                causes iusedirect to be set to
                                         2!) See Section 2.
ishadeps         /1/            = 0 only b/w, no grayscale in
                                postscript plots
                                = 1 grayscale
itextsize(10)    /24,48,24,24,  The size of the initial text
                 24,12,12,
                 12,12,12/
iunit            /1/            The length unit of x,y,z in
                                the data file. The program
                                uses the conversion factor
                                'auang(iunit+1)' (see above).
                                = 0, Bohr
                                = 1, Angstrom
                                = 2, nanometers
                                = 5, crystal fractional
                                coordinates (unit cell dimen-
                                        sions must be given on
                                a line immediately
                                        above the number of
                                atoms for each frame, and
                                        below any optional
                                frame text;see 'iframetext'
                                        above).
iusedirect       /1/            =0  prereads all frames (takes
                                time!), to determine
                                       display margins etc.
                                Creates NO direct-access
                                       file for F/B stepwise
                                mode (saves some
                                       diskspace).
                                =1  prereads all frames (takes
                                time!), to determine
                                       display margins etc.
                                Creates a direct-access file
                                       for F/B stepwise mode.
                                =2  prereads 1 frame only to
                                determine display
                                       margins etc. Creates NO
                                direct-access file.
iwait0           /0/            Additional waiting time before
                                the animation starts. On the
                                pc in units of approximately
                                1/60 s, on the
                                workstations in units of
                                screen refresh cycles.
iwait            /0/            Minimum waiting time between
                                frames in the animation. On
                                the pc in units of
                                approximately 1/60 s, on the
                                workstations in units of
                                screen refresh cycles.
listdonor(12)    /1,0,...,0/    The atom  types (atomic
                                number) for the  'donor atom'
                                for each of the  non-covalent
                                bond types
listacceptor(12) /8,0,...,0/    The atom types (atomic number)
                                for the 'acceptor atom' for
                                each of the  non-covalent bond
                                types.
needtosort       /1/            = 0, the atom coordinates are
                                sorted in the z
                                        direction already in
                                the input file. This makes
                                        the animation
                                marginally faster.
                                = 1, the input atom
                                coordinates need to be sorted.
nframein         /0/            If non-zero: nframein frames
                                are shown, overriding the
                                number given on the first line
                                in the coordinate file.
nocov1(40)       /0,..,0/       nocov1(i) is the atom type for
                                "the first atom" in
                                the i'th covalent bond type
                                not to be displayed.
nocov2(40)       /0,..,0/       nocov2(i) is the atom type for
                                "the second atom" in
                                 the i'th covalent bond type
                                not to be displayed.
npixwinx                        X-window size(workstations
                                only): No. of pixels along x
npixwiny                        X-window size(workstations
                                only): No. of pixels along y
nremovecov       /0/            No. of covalent bond types not
                                to be displayed (.le.40)
nshow            /1/            Show only each nshow:th frame
                                from the coordinate file.
radcov(500)      See Section    The covalent radii of the
                 5.7            atoms.
radscale         /0.2/          The vdW radii are scaled with
                                radscale before display
radvdw(500)      See Section    The van der Waals radii of the
                 5.7            atoms.
rotate(3,3)      /1.,0.,0.,0.,  Rotates the input atom
                 1.,0.,0.,0.,1  coordinates around the center-
                 ./             of-mass as given by this
                                rotation matrix. The nine
                                elements should be given in
                                the order: (1,1), (2,1),
                                (3,1), (1,2), (2,2),
                                (3,2),(1,3), (2,3), (3,3).
sizelamp         /0.3/          The size of the light
                                reflection spot on the atoms
symbolcolor       /'black'/     The colour of the atomic text
                                symbol
symbolsize       /0.80/         The size of the atomic text
                                symbol size relative to the
                                atom radius (approximately).
                                (Note, the symbol size in  the
                                postscript image can be either
                                proportional or all of the
                                same size. See 'ifixsymbol')
text(10)         /' This is a   initial text: character*50
                 MOVIEMOL ..'/  text(10)
textcolor(10)    /.../          The colour of the text strings
                                displayed initially
trans            /0.25/         The (initial) stepsize in
                                Angstrom for translations.
translate(3)     /0.,0.,0./     Translates input atom
                                coordinates by these amounts.
xdelsymbol       /-0.40/        The x-offset of atomic symbols
                                relative to the c.o.m.
xdelta           /-0.3/         X-displacement of light refl.
                                spot w.r.t. atom center
xfixwidth        /10.0/         If ifixscale=1, then the
                                horizontal scale will be
                                'xfixwidth' angstroms with a
                                center in 'fixcenter'
xframetext       /0.2/          The x-coordinate of the text
                                string displayed for each
                                frame if iframetext=1.
xrotate          /0.0/          Initial rotation around the x-
                                axis, before first frame is
                                displayed.
xrotstep         /90.0/         Rotation step used when the
                                key 'X' is pressed
xtext(10)        /0.1,0.05,0.1  The x-coordinates (in
                 ,..,0.1/       fractions of the  screen) for
                                the initial initial text
                                displayed.
xymargin         /0.10/         The margin around the image on
                                the screen.
ydelsymbol       /-0.35/        The y-offset of atomic symbols
                                relative to the c.o.m.
ydelta           /0.3/          Y-displacement of light refl.
                                spot w.r.t. atom center
yframetext        /0.85/        The corresponding y-
                                coordinate.
yrotate          /0.0/          Initial rotation around the y-
                                axis, before the first frame
                                is displayed.
yrotstep         /90.0/         Rotation step used when the
                                key 'Y' is pressed.
ytext(10)        /0.9,0.65,0.5  The y-coordinates (in
                 ,0.4,0.2,-     fractions  of the screen) for
                 0.4.../        the initial text displayed.
weight(500)      See Section    The masses (in mass-u.) of the
                 5.7            atoms. Used by the
                                program to determine the
                                center-of-mass prior to
                                rotation.
zrotate          /0.0/          Initial rotation around the z-
                                axiz, before the first frame
                                is displayed.
zrotstep         /90.0/         Rotation step used when the
                                key 'Z' is  pressed.


Two  variables,  icolorps and ishadeps, in the  $CNTRL  namelist
govern  the postscript output. However, to enable a more precise
control of your postscript output, you may add the $PS namelist.
For example:

        $cntrl
             radvdw(8) = 1.7, ...
         $end
         $ps
             pssymbolsize=0.90,
         $end

This example changes the size of the chemical symbol in a colour
postscript   image.  Below  is  an  alphabetical  list  of   the
postscript-related variables  in the (optional) $PS namelist  in
the .ctl file:


Variable in $PS  Default       Explanation
                 value(s)

bri(21)          /.../         Brilliance of the colours  used
                               in Moviemol (0.0 < bri < 1.0)
hue(21)          /.../         Hue  of  the  colours  used  in
                               Moviemol (0.0 < hue < 1.0)
icolorps         /0/            =0: postscript images are in
                               grayscale
                                =1: colour postscript is
                               generated.
                               This variable overrides the
                               icolorps variable in the
                               $CNTRL namelist..
ifixpssymbol     /1/           =1:  The atomic symbols on  the
                               postscript image are
                                         all  of the same size
                               (see 'pssymbolsize').
                               =0: The atomic symbols on the
                               postscript image are
                                        prop. to the atomic
                               radii  (radvdw()*radscale).
                                       (See 'pssymbolsize')
iportrait        /0/           =0,   postscript   images   are
                               generated in landscape
                                      mode
                               =1,   postscript   images   are
                               generated in portrait  mode
ishadeps         /1/            =0: postscript images are in
                               black and white
                                =1: postscript images are in
                               greyscale
                               This variable overrides the
                               ishadeps variable in the
                               $CNTRL namelist..
pagewidth        /210./        The  x  dimensions (in  mm)  of
                               the paper.
psbordermax       /1.5/        This  variable  determines  the
                               thickness of the black   border
                               around each atom and each  bond
                               (in mm).
psmargin         /0.10/        The     margin    around    the
                               boundingbox  (in  fractions  of
                               the     picture)    used    for
                               Encapsulated Postscript
pssymbolsize     /1.00/        Multiplier          determining
                               chemical  symbol  size  in  the
                               postscript file.
psxdelsymbol     /-0.44/       The   x   offset  of   chemical
                               symbol w.r.t. atom center
psydelsymbol     /-0.40/       The   y   offset  of   chemical
                               symbol w.r.t. atom center..
sat(21)          /.../         Saturation of the colours  used
                               in                     Moviemol
                               (0.0 < sat < 1.0)
shadedef         /0.,0.3,.../  The     grayscale    for    the
                               different  "colours"  used   in
                               Moviemol  (Section  3.1)   when
                               not  colour postscript. 0.0  is
                               black, 1.0 white




5. More about...

5.1. ...The input format

inputformat  /0/   describes       how the coordinates and
atomic numbers/symbols are stored in the
coordinate input file

Explanation:     nframes = number of frames,
        natoms[i] = number of atoms in frame i.
        Z(j)         = atomic number of  atom j (in frame i).
        x(j)         = x-coordinate of atom j (in frame i).
        symbol(j) = the chemical symbol of atom j
                (the first letter must be uppercase, the
second (if any) lowercase).                     name(j) = a
textstring to be associated with atom j (max 4 characters).


        If =0:       nframes
                natoms[1]
                x(1)  y(1)  z(1)  Z(1)
                x(2)  y(2)  z(2)  Z(2)
                     ...
                natoms[2]
                x(1)  y(1)  z(1)  Z(1)
                x(2)  y(2)  z(2)  Z(2)
                      ...
                (etc. nframes times)


        If =1:       nframes
                natoms[1]
                name(1)  x(1)  y(1)  z(1)  Z(1)
                etc.
                (The name must here be given within '   ',
e.g. 'Hphe'.)


        If =2:       nframes
                natoms[1]
                symb(1)  x(1)  y(1)  z(1)
                etc.
                (The chemical symbol must be given in
positions 1-2 on  the line and the                     first
letter must be uppercase, and  the second (if any) must be
                lowercase.)


        If =3:       nframes
                natoms[1]
                Z(1)  x(1)  y(1)  z(1)
                etc.


        If =4:       nframes
                natoms[1]
                name(1)  Z(1)  x(1)  y(1)  z(1)
                etc.
                (The arbitrary name must be in positions 1-4,
starting at position 1.)


        If =9:       nframes, natoms
                Z(1)  x(1)  y(1)  z(1)         (in frame 1)
                           ...
                Z(n)  x(n)  y(n)  z(n)
                Z(1)  x(1)  y(1)  z(1)         (in frame 2)
                           ...
                Z(n)  x(n)  y(n)  z(n)
                etc.
                (Here natoms is the same in all frames and
can thus be given only once,
                on the first line after nframes.)


        If =10:      nframes, natoms, (Z(i),i=1,natoms)
                x(1)  y(1)  z(1)         (in frame 1)
                              ...
                x(n)  y(n)  z(n)
                x(1)  y(1)  z(1)         (in frame 2)
                              ...
                x(n)  y(n)  z(n)
                etc.
                (Here also the ordering of the atoms must be
the same in all frames)


        If =11 (Gaussian90 output format):

                idummy   x(1)   y(1)   z(1)   Z(1)
                           ...
                idummy   x(n)   y(n)   z(n)   Z(n)

                (This works only if there is only one frame
to be displayed. This is the
                same format as given in the output from the
Gaussian90 program).


        If =21:      Instead of a coordinate input file, an
output file from the Gaussian92
                program is read. The Moviemol program
extracts the geometries from
                the gaussian "Z-matrix orientation" outputs
and display these  as
                successive frames.


5.2. ...How to change the distance criteria for covalent bonds

The  distance  criteria  for  covalent  bonds  are  modified  by
changing  the  covalent radii for the atoms,  or  the  parameter
'flex' (default 0.2 Angstrom) since the maximum distance  for  a
covalent     bond    between    atoms    i     and     j     are
radcov(i)+radcov(j)+flex.  For  example,  the  following  $CNTRL
namelist  removes covalent bonds between C and F if the distance
is greater than 1.2 Angstrom.

        $cntrl
            radcov(6) = 0.5, radcov(7) = 0.5,
        $end

If you want to remove covalent bonds between C and F altogether,
use nremovecov, nocov1(  ), nocov2( ).



5.3. ...How to add additional (non-covalent) bond types  (See
also Section 4.2)

The following is an example for the display of a water-aluminium
animation,  where an additional bond type ("bond  type  no.  2")
besides  the hydrogen bond  ("bond type no. 1") has been  added,
namely the bond between Al and O atoms:

        $cntrl
            bonddonor(2) = 13, bondacceptor(2) = 8,
bondcolor(2) = 'purple',
            bonddistmax(2) = 2.5, bonddistmin(2) = 1.5,
        $end



5.4. ...How to remove or modify H-bonds (See also Section 4.2)

To remove H-bonds from the display, simply use 'idisplayhb' in
the $CNTRL  namelist:
        $cntrl
            idisplayhb = 0,
        $end



The distance criteria for a H-bond can be modified by, for
example,
                        $cntrl
            hbdistmax = 2.2,  hbdistmin =1.8,
        $end
 i.e. by setting the minimum H-bond distance to 1.8 Angstrom and
the maximum  distance to 2.2 Angstrom. An equivalent expression
is:
        $cntrl
            bonddistmax(1) = 2.2,  bonddistmin(1) =1.8
        $end



If for example nitrogen should be allowed to act as a hydrogen
bond acceptor  besides oxygen, write:
        $cntrl
             bondonor(2) = 1, bondacceptor(2) = 7
        $end


By default hbacceptor = bondacceptor(1) = 8, i.e. oxygen. The
default hydrogen bond donor is hydrogen; hbdonor = bonddonor(1)
= 1.



5.5. ...How to speed up the animation a bit

Buy a faster computer with a faster graphics card! If you are
running on a pc, then a "local bus" makes it much faster. It is
really the display of the frames rather than the calculation of
bonds etc. that is the bottleneck.

One  thing  that  can be reduced, however, is the  waiting  time
before  the  animation  starts. Normally, the  Moviemol  program
first reads in all frames and determines the margins around  the
image   and   miscellaneous  cutoff  criteria  based   on   this
information.  It also stores the frames in a direct-access  file
which  is used in the "one-step-forward" and "one-step-backward"
modes. By specifying  iusedirect =2 in the $CNTRL namelist, only
the  first  frame is used to determine margins and  the  direct-
access  file  is  not  used.  This  makes  the  animation  start
immediately,  but  the "one-step" modes (Forward  and  Backward)
will not work.


5.6. ...How to create a black-and-white or colour postscript
image

Three types of postscript images can be created (saved in the
files 'moviemol.ps1', 'moviemol.ps2' etc. up
to .ps9 in one session) when the key "P" is pressed:

    b/w with grayscale. This is the default postscript image
    type.

    b/w  and  no grayscale. This is often to be recommended  for
    publication. Invoke this option by setting    ishadeps  =  0
    in  the  $CNTRL namelist (or the $PS namelist).  The  little
    "light-spot" then of course also disappears from your atoms.
    (In  general,  of you want to get rid of the light-spots  on
    the  screen  and   in  your postscript files,  you  can  set
    'sizelamp= 0.' in the $CNTRL namelist).

    Colour postscript. Invoke this option by setting    icolorps
= 1    in the $CNTRL namelist  (or the $PS namelist).

'ishadeps'  and 'icolorps' are included in the $CNTRL  namelist.
Anything   more  fancy  concerning  the  postscript  images   is
controlled from the $PS namelist.

The  atomic symbols in the postcript file are by default all  of
the  same  size  (regardless of how they appear on the  screen).
The  size  can  be  controlled by  'pssymbolsize'  in  the   $PS
namelist. If you want the symbol sizes to be proportional to the
atomic  raould  set         ifixpssymbol =  0       in  the  $PS
namelist.



5.7. ...Virtual-reality mode

In   "Virtual-reality"  mode,  entered  by  pressing  "V",   the
viewpoint  rather than the molecules are rotated or  translated.
When  Moviemol creates the first image of the molecules, it does
so  by  calculating the projection on a plane  centered  on  the
screen of a virtual model positioned right behind, and scaled to
fit  into  the real physical dimensions of, the screen.  In  the
virtual  mode,  when  zooming  in, the  molecules  are  actually
transferred closer to the viewer, and projected onto the screen.
But  in  virtual-reality mode, the viewer,  instead,  is  moving
closer  to  the stationary molecules. It is as if sitting  in  a
small  spaceship  where  the screen  is  your  window,  and  you
manoevre your ship around the molecular model. For translations,
the  translation  of  the molecules and the translation  of  the
viewer,  are in fact (reciprocally) equivalent, but not  so  for
rotations.  In Virtual-reality mode, the rotation axes  are  now
situated at the center of the screen instead of at the center-of-
mass  of  your assembly of molecules. This is very practical  if
you  want  to "walk" into a crystal structure, for example,  and
want to look in different directions.

In  virtual-reality mode, the molecules that are closer  to  the
viewer  than  the  screen  are  not  displayed  (the  clip-plane
position  is 0.0, see Section 4.3). The default is otherwise  to
show  all molecules that are as close to the viewer as 0.9 times
the  'eyedistance'  (i.e. the approximate screen-eye  distance),
measured from the screen.

Initially, since Moviemol scales the virtual model to  fit  onto
the  screen, its maximum dimensions may be 10 cm or  so.  To  be
able  to  fly your ship in among the molecules, you may want  to
increase  the size of the model, which can be done  by  pressing
")" or "(".



5.8. ...Displaying crystal structures

By setting   'idisplaycell=1'    in  the $CNTRL namelist  a unit
cell  will  be drawn, with corners at the fractional coordinates
(0.,0.,0.),   (1.,0.,0.),  (0.,1.,0.),  (1.,1.,0.),  (0.,0.,1.),
(1.,0.,1.), (0.,1.,1.,) and (1.,1.,1.).  The x, y, z coordinates
in  the  .xyz file should then also be given in fractional  unit
cell  coordinates. This non-default unit for the coordinates  is
signalled  by setting  iunit=5 (or  icrystal=1)  in  the  $CNTRL
namelist. The unit-cell axes and angles are  given  in the  .xyz
file,  on a line immediately above the number of atoms for  each
frame.

The   widths  of  the  axes  can  be  changed  by  the  variable
'axiswidth' and their color by  'axiscolor'. When the unit  cell
is  displayed, the maximum number of atoms allowed in each frame
is slightly lower than normal (1468 instead of 1600).

Remember the possibility to set  'ipersp=0'. This will draw your
crystal in an orthographic projection, which can look  very nice
for  some structures.  Also remember that in addition to the  5o
(default value) rotations executed by the arrows on the keyboard
(see  Section 3), the keys  'X', 'Y'  and  'Z' will rotate  your
crystal  structure in intervals of 90o . This can be very  handy
for examining structures.



5.9. ...Interfacing Moviemol with an MD run

There  is  the  possibility to close and  reopen the  coordinate
file  when the end of your movie is reached. This can be useful,
e.g.  if  you want to continuously monitor the atomic  positions
during  an  MD  simulation run.  In such a case,  make  your  MD
program  write the atomic coordinates to the Moviemol coordinate
file, and the updated coordinates will then be displayed (if you
specify  the  variable  'icloseopen=1' in  the  .ctl  file;  see
Section 4.3). Note, that this is not foolproof, because in  case
the  MD  program is writing the coordinates at exactly the  same
time  as Moviemol wants to read them, Moviemol will abort.  Also
note  that if you want to monitor , for example, an MD  run,  by
displaying  only the most recent frame (perhaps  in  a  separate
window  on  your  workstation while running  the  simulation  in
another window), this can be achieved by having just the results
for the last timestep in the file that Moviemol should read, and
then  setting  icloseopen=1 and iforever=1  in the  $CNTRL  file
(see Section 4.3).

The  interfacing of Moviemol with e.g. an MD program is  further
facilitated   by   the   following   feature.   By    specifying
'ireadstdinp=1'  in the .ctl file (which then has to  be  called
moviemol.ctl;  see  further Section  4.1)   Moviemol  will  then
expect the coordinates to be read from 'standard input'.  It  is
consequently possible to run Moviemol like this:    moviemol   <
ex1.xyz    <return>.
Now  the  coordinates from e.g, an MD program ("mdexe")  can  be
displayed  as they are generated , using the following  command:
mdexe | moviemol   <return>.



5.10. ...The program's default values in the radius, colour and
weight arrays

Colours and radii and chemical symbols for atomic numbers 101-
500 generally follow those in the range 1-100. Some details were
given in Section 4.2.

Colour codes:
    0=black  4=red        8=grey           12=salmonpink
    1=darkblue    5=purple 9=blue           13=magenta
    2=green  6=toffee 10=greenyellow    14=yellow
    3=lightblue   7=lightgrey   11=turquoise
15,16=white


                            H
He
                            Li  Be      B   C   N   O   F
Ne
            Na  Mg      Al  Si  P   S   Cl  Ar
            etc.


  data  atomcolor/ 3,                              13,
X                      14, 5,      2,  0,  1,  4,  5,
15,
X                      13, 11,     14, 6,  7,  14, 10,
15,
X                 13, 13, 10*13,   13, 7,  7,  4,  4,
4,
X                 13, 13, 10*13,   13, 13, 7,  7,  4,
4,
X                 13, 13, 24*13,   13, 13, 13, 13, 7,
4,
X                 13, 13, 12*13,   /

This  is  the colour scheme for elements 1-100 and for  elements
101-200 and 201-300. For elements 301-500 all atom colours are =
11.



 data radvdw /    1.2,                            1.4
X           1.8,     1.4,    1.7,     1.7,     1.6,
1.6,     1.5,     1.5,
X           2.3,1.7,    1.7,     2.1,     1.8,     1.8,
1.8,     1.9,
X           2.8,2.1,10*1.4,  1.9,1.9,1.8,1.8,1.8,1.9,
X           2.9,2.2,10*1.4,  1.9,2.2,2.1,2.1,1.9,2.2,
X           3.0,2.3,24*1.4,  2.0,2.0,2.1,2.1,1.9,2.2,
X           3.1 2.4 12*1.6   /

This is the scheme for elements 1-100 and for elements 101-500.




                            H
He
                            Li  Be      B   C   N   O   F
Ne
            Na  Mg      Al  Si  P   S   Cl  Ar
            etc.


 data radcov /    0.4,                            0.4,
X           1.3,0.9,    0.8,0.8,0.8,0.8,0.7,0.7,
X           1.5,1.3,    1.2,1.2,1.1,1.0,1.0,1.0,
X           2.0,1.7,10*1.3,  1.3,1.2,1.2,1.2,1.1,1.2,
X           2.1,1.9,10*1.4,  1.4,1.4,1.4,1.4,1.3,1.3,
X           2.2,2.0,24*1.4,  1.5,1.5,1.5,1.5,1.4,1.4,
X           2.3,2.1,12*1.5   /

This is the scheme for elements 1-100 and for elements 101-500.




data weight  /    1.0,                            4.0,
X           6.9,9.0,    10.8,    12.0,    14.0,    16.0,
19.0,    20.2,
X           23.0,    24.3,        27.0,    28.0,    31.0,
32.0,    52.0,    40.0,
X           39.1,    40.1,    10*55.,  69.7,    72.6,
74.9,    79.0,    79.9,    83.8,
X           85.5,    87.6,    10*101.,115., 119.,    122.,
128.,    127.,    131.,
X           133.,    137.,    24*190.,204., 207.,    209.,
210.,    210.,    222.,
X           223.,    226.,    12*241.  /

This is the scheme for elements 1-100 and for elements 101-500.




6. Additional programs


 6.1. Conversion from Gaussian92 or Hondo v8.0 normal
coordinates to Moviemol input

One  useful  application area for Moviemol, is the visualization
of  normal-mode  vibrations as obtained from  standard  quantum-
mechanical   packages.  It  is easy to  write  a  program  which
transforms  the output fromsuch programs to Moviemol input,  but
we can of course provide you with the  source code we have used,
if  you  are  interested.  Our  program  "vibromol.f"   reads  a
Gaussian92  or  Hondo  v8.0 normal-mode  alculation  output  and
creates a Moviemol input. The amplitudes can either be chosen at
will  or  they  can be chosen to correspond to amplitudes  of  a
classical   oscillator  in  thermal  equilibrium  at   a   given
temperature  or  of a quantum-mechanical oscillator  in  thermal
equilibrium.   The   vibrational   modes   can   be   visualized
individually or all of them simultaneously.

 6.2. Conversion from Crystal Coordinates to Moviemol input.

Most  crystallographic  program systems can  put  out  cartesian
coordinates,  which  can  thereafter be  displayed  in  Moviemol
(note,  however,  that  cell-type  data   can  be  displayed  in
Moviemol if iunit=5 or icrystal=1 is specified, see above).

    



7. Six demonstration examples

Some illustrative examples are shipped along with the Moviemol
program. Please note that the .ctl files belonging to these
examples are unnecessarily elaborate! We have made it that way
to show you as many examples  as possible of different options
available in Moviemol.

  Ex. 1:
    The first example is called "ex1". To display this, give the
    command   "moviemol",  and type "ex1"  at  the  prompt  (see
    Section  2).  This example illustrates an MD  simulation  of
    water vapour at 400 K, using the MCYL [by G.C. Lie and  E.C.
    Clementi,  1986] water-water potential. Ref.: L. Ojamae  and
    K. Hermansson (1993).
    
    Ex. 2:
    This  is  an  MD simulation of a solution of  Al3+  ions  in
    water, at about 300K. Only one Al3+ ion, its first hydration
    shell  and  a few molecules from the second hydration  shell
    have been selected for display.
    Ref.:  A.  Bakker, K. Hermansson, J. Lindgren, P.  Bopp  and
    M.M. Probst, To be published.

 Ex. 3:
    Example  3  illustrates  one phonon  mode  in  the  LiOH.H2O
    crystal,  calculated   by  ab initio  periodic  Hartree-Fock
    calculations.
    Ref.:  L. Ojamae, K. Hermansson, C. Pisani, M. Causa and  C.
    Roetti,
         Acta Cryst. B50,  268-279 (1994).

 Ex. 4:
    This  example  illustrates one of the intramolecular  normal
    modes in the triflate ion (CF3SO3-). The force field and the
    normal modes were calculated in the Gaussian program and the
    Moviemol  frames  were generated via our vibromol.f  program
    (Section 6.1).
    Ref.: S. P. Gejji, K. Hermansson and J. Lindgren ,
         J. Phys. Chem. 97,  3712-3715 (1993).

 Ex. 5:
    This  is a single-frame picture of the crystal structure  of
    RbH3(SeO3)2 determined by neutron diffraction.
    Ref.: R. Tellgren  and R. Liminga,
         Ferroelectrics 15,  15-20 (1977).

 Ex. 6:
    This  is  a  single-frame picture of  the  C60   buckminster
    fullerene structure.
    Ref.:  H.W.  Koto, J.R. Heath, S.C. O'Brian, R.F.  Curl  and
    R.E. Smalley
         Nature 318,  162 (1985).



8. Authors and Trademarks


For communication concerning the Moviemol program, contact one
of the authors or send an email to:
                moviemol@kemi.uu.se

Authors:
Dr. Kersti Hermansson               Dr. Lars Ojamae
Dept. of Inorganic Chemistry         Department of Chemistry
Uppsala University             The Ohio State University
Box 531                  120 West 18th Avenue
S-751 21 Uppsala, Sweden        Columbus, OH 43210-1173
Phone:  +46 (0)18-183767        Phone:  +1 614-292-7806

Reference to the program:
K. Hermansson and L. Ojamae, University of Uppsala, Institute of
Chemistry,
Report UUIC-B19-500 (1994).



IBM is a registred trademark and RISC System/6000 is a trademark
of International Business Machine Corporation.
Silicon Graphics is a registred trademark and Graphics Library
is a registred trademark of Silicon Graphics, Inc.
X Window System is a trademark of the Massachusetts Institute of
Technology.
NDP is a trademark of Microway, Inc.
Postscript is a trademark of Adobe Systems Incorporated.
Gaussian92 is a trademark of Gaussian, Inc., Pittsburgh, PA
(1992).
Hondo v8.0 by M. Dupuis et al., in: MOTECC, Ed. E. Clementi,
ESCOM, Leiden (1990).



This program manual  was written on January 3, 1995.
Copyright  (C)  1995  Kersti Hermansson & Lars Ojamae
