File contents
Z E U S - 3 D V E R S I O N 3 . 4 . 2
RELEASE NOTES -- 8/18/95
c ZEUS3.4.1 - ZEUS3.4.2 improvements (v3.4.1 fixes34 included)
c
c The following changes have been made to the code:
c
c 1. To enhance portability, EDITOR directives in the code were
c restructured so that even if none of the operating systems for
c which ZEUS-3D is known to work is defined, the preprocessed
c source code may still produce a viable executable. In other
c words, there is now a default for all machine-dependent blocks
c of code. EDITOR and the zeus34.s script also have reasonable
c defaults for all machine-dependent code.
c
c 2. ZEUS-3D has been ported to DEC Alpha (ALPHA) and Sun Solaris
c (SOLARIS).
c
c 3. The Convex Exemplars at NCSA can now run ZEUS-3D on multiple
c threads (and multiple HYPERnodes) with any choice of algorithm.
c
c 4. Two bugs, pointed out by Ruben Krasnopolsky, were corrected.
c In routine hdfdmp, 'pt' was changed to 'pb' so that the magnetic
c pressure in hdf dumps is output properly. In routine lorentz,
c an EDITOR directive "*endif -KSYM" was relocated to prevent
c compilation errors with KSYM defined due to the omission of the
c statement "165 continue".
c
c 5. To reduce a few compiler warning messages regarding
c unused statement labels in routines lorentz, mocemfs, and
c hsmoc, a few EDITOR directives were relocated.
c
RAF, August 1995
c
-----------------------------------------------------------------------
Z E U S - 3 D V E R S I O N 3 . 4 . 1
RELEASE NOTES -- 4/29/95
c ZEUS3.2 - ZEUS3.4 improvements (all v3.2.1 change decks absorbed)
c
c The following changes have been made to the code:
c
c 1. Robert A. Fiedler (NCSA/LCA) has rewritten many of the loops
c throughout the code for efficient execution on machines with a
c cache, especially for RISC-based multiprocessors, including the
c SGI Challenge, SGI Power Challenge, and the Convex Exemplar. As
c a bonus, the code is also about 10 percent faster on the Crays.
c
c 2. In parallelizing the code, RAF ran out of 3-D scratch
c arrays and was forced to add one more (wg3d). This also
c allows you to use the PDVCOOL algorithm with itote=1.
c
c 3. RAF modified EDITOR (now version 2.2) so that it inserts
c parallelization directives (if IUTASK=1) on the SGI Challenge/
c Power Challenge and Convex Exemplar. It also inserts directives
c for Convex C Series machines, but the resulting executable
c does not run properly as compiled.
c
c 4. The precision can be changed using the alias REAL. It is set
c to "real*8" for double precision on 32-bit word machines and to
c "real" for single precision on any machine. On machines other
c than Crays, the zeus34.s script sets REAL to real*8 by default.
c The routines that call NCAR and HDF graphics routines were
c modified to work for single or double precision as determined by
c REAL. The zeus34.s script contains an NCAR graphics loader that is
c compatiable with NCAR versions 3.1.2 AND 3.2.1.
c
c *******************************************************************
c * I M P O R T A N T N O T E S *
c * *
c * Do NOT use compiler flags (such as -r8) to promote variables *
c * declared as "real" to double precision, since the routines that *
c * call NCAR and HDF may not work when compiled that way. *
c * *
c * When you write your own source modules to use with ZEUS-3D *
c * (for example, a "myprob" or "userdump" routine), the floating- *
c * point variables should be typed in the following manner: *
c * *
c * REAL a, b, c(in,jn) *
c * *
c * so that EDITOR will substitute either "real" or "real*8" for *
c * REAL. *
c * *
c * The NAMELIST library must be compiled at the same precision as *
c * the ZEUS-3D source code. The namelist.a library files on the *
c * NCSA AFS file server were compiled with REAL aliased to real*8. *
c * There are files called edit22_nl.a on AFS (stored with xedit22 *
c * for each machine recognized by the zeus34.s script) which are *
c * just namelist libraries compiled with REAL aliased to "real". *
c * You can retrieve edit22_nl.a from the AFS directory *
c * *
c * /afs/ncsa/projects/lca/codes/zeus3d/editor/xeq/<machine_name> *
c * *
c * provided your <machine_name> is one of the ones listed in the *
c * script. For "unknown" hosts, edit22_nl.a is created in the *
c * process of building the xedit22 executable. *
c * *
c *******************************************************************
c
c 5. The latest MHD algorithm -- HSMOC, as implemented by B-I Jung,
c was added. It is the most stable algorithm developed so far.
c Define both the MOC and HSMOC macros in zeus34.mac to use this
c algorithm.
c
c Caution: the HSMOC algorithm may have problems at the origin for
c some problems (e.g., blast) in ZRP and RTP coordinates. We hope
c to fix this bug(?) very soon.
c
c 6. Viscous subcycling, as implemented by Mordecai Mac Low, was
c added (routine VISCSUB). To use it, set the alias
c ARTIFICIALVISC to "viscsub" instead of "viscous". This routine
c takes artificial time steps, updating the field variables through
c the viscous terms only, until it reaches the physical time step.
c
c 7. The code now runs well on Cray and Convex vector machines, SGI
c workstations and multiprocessors, HP workstations, Sun
c workstations, and IBM RS/6000 workstations. We expect good
c performance from our Convex Exemplar multiprocessors, once they
c go into production. See our frequently-updated "Zeus Benchmarks"
c WWW page (URL http://zeus.ncsa.uiuc.edu:8080/lca_benchmarks.html).
c
c 8. There are now a bunch of "portability macros" that are set
c in chgzeus by the zeus34.s script. They are simply the names of
c subroutines that appear in the ZEUS-3D source code that can be
c different on different operating systems. These help with porting
c because some compilers put an underscore at the end of each object
c code module. The macros are: CHECKIN, ETIME, ITIME, and IDATE.
c Other systems use different names for BLAS routines, depending on
c the precision of their arguments. These macros are: ISMAX, ISMIN,
c SASUM, and ISAMAX.
c
c 9. Bugs in VISCOUS relating to linear viscosity and periodic BCs
c were fixed.
c
c 10. RAF fixed bugs in the XYZ and ZRP voxel dumps, and added
c the ability to do RTP voxel dumps. Also, vector components
c such as vx, vy, vz can be dumped. Routine COPYIT was fixed
c in the process.
c
c 11. The location of a point mass is specified through its
c coordinates (x1ptm, x2ptm, x3ptm), rather than izero, jzero, kzero.
c This allows you to put a point mass anywhere, inculding outside
c the computational grid.
c
c RAF, April 1995
KNOWN BUGS
c 1. On the SGI Power Challenge (odin.ncsa.uiuc.edu), in RTP
c geometry, pixel dumps with the normal in the "3" direction
c cause a "segmentation violation". This works on the other
c platforms, however. No changes in optimization seem to fix
c this. On the same machine, i/o routines displayi, displayr,
c and nmlsts must be compiled at an optimization level lower
c than -O3. The zeus34.s script takes care of this automatically
c by adding a few lines to the makefile "makezeus" that EDITOR
c generates.
c
c 2. The HSMOC algorithm may lead to huge values of the magnetic
c field near the origin for ZRP (and possibly RTP), after just a
c few steps when the computational mesh includes R=0.
c
c 3. On Convex C Series machines, the directives inserted by
c EDITOR when IUTASK is set to 1 result in a code that crashes
c right away. Maybe different compiler flags would fix this.
c
c 4. The self-gravity module does not work in ZRP or RTP coords.
c yet because it must be generalized for appropriate boundary
c conditions. Also, it may not even work in XYZ. Developing a
c decent self-gravity module is a top priority at the LCA.
c
c
c RAF, April 1995