
	   MONTE CARLO SIMULATION OF SPIN MODELS 
           (JAVA WITH MESSAGE PASSING USING MPI)
           ======================================

This program does a Monte Carlo simulation of a two dimensional Q-state 
Potts spin model, using either the standard Metropolis algorithm or the
Swendsen-Wang (S-W) cluster algorithm. The Metropolis algorithm is local 
and regular and easily parallelizable, the S-W algorithm is non-local 
and irregular and difficult to parallelize efficiently.

The functionality of the program is almost identical to the sequential
C program, except that there is no parallel Wolff algorithm, and the
program only works for a ferromagnet (there is no menu option to set 
the couplings).

For the S-W update, the connected component labeling is done using local 
label propagation (or "self-labeling") to match the labels across 
processors. For details of this algorithm, see the papers: 
  "Cluster Algorithms for Spin Models on MIMD Parallel Computers", by 
  P. Coddington and C. Baillie, Proc. of the 5th Distributed Memory 
  Computing Conference, Charleston (April 1990), eds. D. Walker and 
  Q. Stout (IEEE Computer Society Press, Los Alamitos, California, 1990),
  Caltech preprint C3P-862, 
and
  "Cluster Identification Algorithms for Spin Models - Sequential and 
  Parallel", by C. Baillie and P. Coddington, in Concurrency: Practice 
  and Experience 3, 129 (1991), Caltech preprint C3P-855.


