Personal tools
You are here: Home Codes ZEUS 3D readme3.4
Document Actions

readme3.4

by streeter last modified 2005-08-31 05:43

Click here to get the file

Size 9.1 kB - File type text/plain

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


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: