RCS $Id: README,v 1.6 1995/08/22 23:41:58 tuna Exp $

To compile water-nsquared:
-----------------
1. If you're running on a network of workstations, be sure that you
   have PVM installed correctly and functioning.

2. Compile the CRL library in the directory "../../src" (see the user
   documentation in "../../doc" for details).

3. Absolute paths for two input files (RANDOM_FILE, INPUT_FILE) used
   by the application are hard-coded into top.h. These #defines are
   intended to name the "random.in" and "input.512" files in the this
   directory; before compiling Water, you should replace them with
   paths corresponding to wherever you installed CRL on your local
   system.

4. Type "make -f Makefile.CM5" to make the CM-5 Barnes executable.

     -- or --

   Edit Makefile.TCPUNIX and change the definitions for PVM_ROOT and
   PVM_ARCH to whatever is appropriate for your local system. Once
   you've done so, type "make -f Makefile.TCPUNIX" to make the
   TCP/UNIX Barnes executable.

5. If you're running this program with PVM and the executable isn't
   already in your path, be sure to create a soft link to the
   executable from the directory ~/pvm3/bin/$PVM_ARCH.

How to run water-nsquared:
--------------------------
All versions of Water take a single argument: the number of processors
on which the user wishes to run. The desired number of processors must
match the number available (except on the CM-5, where the desired
number of processors must be less than or equal the number of
processors available).

The following information is taken from the SPLASH-2 distribution; it
is included below for convenience:
-------------------------------------------------------------------------------

GENERAL INFORMATION:

This code is an improvement over the original Water code in SPLASH,
but is mostly the same. The best source of descriptive information,
therefore is the original SPLASH report. The main change is that the
locking strategy around the updates to the water accelerations (in
interf.C) is improved: a process updates a local copy of the relevant
particle accelerations, and then accumulates into the shared copy once
at the end.

RUNNING THE PROGRAM:

To see how to run the program, please see the comment at the top of
the water.C file or run it as "WATER-NSQUARED -h". The input file has
10 parameters, of which the ones you would normally change are the
number of molecules and the number of processors. The other parameters
should be left at their values in the supplied input file in the
normal case. Please do not set the CUTOFF value (the last parameter)
to a nonzero number in the normal case.

The only compile-time option (ifdef) is one that says to change the
input distribution. The default input distribution of molecules
arranges them on a cubical lattice. For this, the number of molecules
must be an integer cube (8, 27, 64, 343, 512 ...). If one wants to use
a non-cube number of molecules, one can ignore the lattice and use a
random distribution of particles in a cubical space by invoking the
-DRANDOM compile-time option (see file initia.C). Note that a random
distribution does not make too much physical sense, since it does not
preserve chemical intermolecular distance ranges. If you do not use
the lattice but use -DRANDOM, please say so explicitly in any results
you report.

The program reads random numbers, to compute initial velocities, from
a file called random.in in the current working directory. It does this
rather than generate random numbers to facilitate repeatability and
comparability of experiments. The supplied file random.in has enough
numbers for about 512 molecules. If you need more, add more random
numbers between -4.0 and +4.0 to the file.
