Most updates by John C. Vernaleo (vernaleo@astro.umd.edu)
Directed by Dr. Chris Reynolds

Center for Theory and Computation
Department of Astronomy
University of Maryland at College Park


Original code (v1.0b) Developed by:
Laboratory of Computational Astrophysics
University of Illinois at Urbana-Champaign

We do ask that any research that uses our modified code acknowledges
us by including the following text:

    This work used the modified version of ZEUS-MP provided by John
    Vernaleo, Barry McKernan, and Chris Reynolds at the Department of
    Astronomy, University of Maryland.

It would also be nice (but is in no way required) if you let us know
that you are using that code.

This version has only been tested on GNU/Linux using the intel compilers and 
and recent (around 3.2 or greater) versions of the GNU compilers.  It is known 
NOT to work with the portland group (PG) compiler
on GNU/Linux.  Other operating systems have not been tested although as long 
as they have the GNU compilers, lam, and the hdf4 libraries porting should 
not be a problem.  It only works with the lam mpi libraries.

In src directory, configure.pl script may be altered and used to set library 
paths differently.  Current compiler options appear to give best performance.

Problem files and boundary update routines must be put in makefile manually,
and should follow examples in makefile (so they can go on their own lines).

Additional physics (eg, radiative cooling or kinematic viscosity) are included
in Makefile by default, and are enabled or disabled in zeusmp.def file.

Once problem files are set, and zeusmp.def is correct, compile with:
	make clean (only needed if this is not the first time compiling in 
		    this directory).
	make compile
	   or
	make compile > /dev/null or to a file (so that only errors and warnings
are shown on the screen)

The choose.pl script in the problems directory can help by putting properly 
named zmp_inp and zeusmp.def files where they belong.  See script for more 
details.

Wrapper script (mpiwrap.pl) may be used to run executable.  It will take care
of starting and stopping lam for you.  Just edit lamhosts file and on first 
node you are running on, type:
	 ./mpiwrap.pl &
It is important to have the & because mpi programs do not always go into the 
background well after being started.  The screen output goes to 
zeusmp.x_output.txt and my be viewed by tail -f zeusmp.x_output.txt
This is better than directly running the executable since you may now log off
the node you are running on.

Wrapper automatically chooses the most recent restart dump to run from, so
for a new run, make sure no restart files are in the exe directory.

---------------------------------------------------------------------------
ZMP_INP namelist options

In ggen2 you may set x2units='pi' or x2units='dg' for degrees.  Similar for x3.

Currently, you still cannot set x2min=0 in RTP, but you can set it to 
something close.

-----------------------------------------------------------------------------
ZEUSMP.DEF options

To use GNU compiler you must have no options set under operating system.  So
do not define LINUX as the Operating System.  Also, the first character in
the zmp_inp file cannot be a space with using the GNU compiler.

To use the Intel compiler, you must set the operating system as LINUX.  This 
is done automatically by the configure script if you use it.  So as long as 
you uses configure.pl and chose intel in it, you may leave Operating system
blank in the zeusmp.def file.

Define PNEWT for pseudo-newtonian force law in ZRP coordinates (provided by 
Barry McKernan).

For MHD torus (provided by Barry McKernan) , define PROBLEM torus and SPECIAL 
toruswrite.

To use Alfven speed limiter (provided by Barry McKernan for MHD torus problem)
define ALFVENLIMIT

Note, there are some options that must be defined.  If you do not want
to use the given option, it must be set to empty.  These include:
VISCOSITY, PROBLEM, SPECIAL, RESTART, and BNDYUPDATE.

NOTE:
For MHD runs with inflow boundaries, the code does NOT set the ghost
zones.  These must be set by the user in the problem file.

------------------------------------------------------------------------------
This work was made possible by financial support from NASA under the
Chandra Theory Program grant TM45007X and the National Science
Foundation under grant AST0205990.
