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/ * c * * c * provided your 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