[FLASH-USERS] FLASH3.2 Release

Klaus Weide klaus at flash.uchicago.edu
Thu Jul 2 19:46:06 EDT 2009


The Flash Center is pleased to announce the release of the next
version of the FLASH code, version 3.2. FLASH 3.2 includes several new
features and resolves many bugs found in previous releases up to 3.1.1.


Capabilities added since the FLASH3.1.1 release include:

* An Unsplit Hydrodynamics Solver.

* Ability to apply the equation of state to face and scratch variables. 
  There are two new interfaces in the Eos unit to get and put data from the
  Grid data structures which allow the Eos unit to operate on all supported
  Grid data structures. The setup script is also enhanced to be able to 
  determine mapping between Grid data structures, and the corresponding 
  indices into the eosData array used by the Eos_wrapped interface. This 
  capability has been well tested for the cell centered variables, but
  has had limited testing with face and scratch variables.

* Enhancement in the IO unit to the collective mode of operation in HDF5. 
  Please note that the collective mode is known to be unreliable on the BG/P
  platform when used for writing the metadata describing Grid or Particles 
  variables. This is an issue with the MPI-IO implementation on the platform,
  IBM is aware of it.

* Significant performance improvement in the algorithm to map paramesh 
  grid to a uniform grid which, when coupled with the multigrid solver, 
  permits the coarse grid exact solve at higher resolution in parallel. 

* A new add-on unit to compute radiative transfer using Hybrid characteristics
  is available upon request from Natalie Hinkel at Arizona State University.
  The algorithm was originally developed by Erik-Jan Rijkhorst, and has since
  been translated to FLASH3.

* Added logic for limiting maximum refinement, based on time or on distance
  from a center (currently only for Cartesian and 2D-cylindrical geometries).
  Original contributions by Sean Couch. New runtime parameters added for this.

* Fixes and improvements in Config file parsing: Now can use CONSTANT keyword
  to make a runtime parameter as unmodifiable (and several code units now use
  this); Now can use a range like "[ TINY ... ]" to indicate that a runtime
  parameter must be positive.

* A longer list of changes is contained in the User's Guide in section 1.2,
  What's New in This Release.


Issues that have become known since the FLASH3.1.1 release and have been
fixed in FLASH 3.2 include:

* A bug in the Driver unit that could leave the mesh in a non-deterministic 
  state upon initialization when using active particles.

* In FLASH3.1.1 we gave up on assigning unique MPI tags to messages in
  various places, since this would lead to tag values exceeding the
  allowed maximum of at least one MPI implementation. The change had the
  undesirable effect of causing deadlocks in some tests, which we have
  not been able to fully analyze.  So for Paramesh4.0, we are reverting
  back to the method for assigning message tags that was used before
  FLASH3.1.1.  (by defining PM_UNIQUE_MPI_TAGS)

* Removed a directional bias in Hydro PPM solver when "hybrid_riemann"
  was used: decision for when to use the alternative Riemann solver
  should depend on the cells left and right of a zone interface, not
  just the right one.

* Many more issues that have been resolved are listed at
  http://flash.uchicago.edu/website/codesupport/knownIssues.html .



Improvements and bug fixes since FLASH 3.1 that were already part of
release FLASH 3.1.1a include -

* Fixed mapping of active particles to the mesh.  The problem was that
  the mapping routines used some data from Paramesh which wasn't yet
  updated, resulting in potentially undefined behavior.  The solution was
  to introduce a routine named
  GridMain/paramesh/paramesh4/gr_ensureValidNeighborInfo.F90 which
  ensures data is valid before we query internal PARAMESH data
  structures. (Already in FLASH 3.1.1.)

* Fixed an additional bug in the same section of the code when
  calculating the block/processor/corner IDs of neighboring blocks when
  a block face touches 4 neighbors at a higher refinement level (3D
  simulations only). (Already in FLASH 3.1.1.)

* Now fidlr can read PnetCDF output files without failing.

* Bugs in implementations of Balsara's algorithm for prolonging 
  divergence-free face-centered magnetic fields have been fixed.

* A redundancy for keeping both magnetic resistivity and magnetic
  viscosity has been removed in materialProperties/MagneticResistivity
  unit. Only magnetic resistivity is being used with proper scalings
  in this release.

* There was a problem with overflowing MPI tag values in PARAMESH when 
  using certain MPI implementations.  This has now been resolved in
  pm4dev.  The old behaviour of assigning each MPI message a unique
  tag ID can be restored by defining PM_UNIQUE_MPI_TAGS pre-processor
  definition in setup script call.

* There was extremely poor performance when reading particle data
  from a checkpoint file on BG/P.  We revert to the old contiguous
  particle attribute read of FLASH 3.0 when particle fields are the same
  in the checkpoint file and flash3 binary to improve performance.

* Introduced an alternative implementation of PFFT routines which map
  FLASH grid data to a pencil grid
  (Grid/GridSolvers/Pfft/MeshReconfiguration/PtToPt).  This
  implemetation uses less memory than the FLASH 3.1 implementation
  (Grid/GridSolvers/Pfft/MeshReconfiguration/Collective).  The PtToPt
  routines make use of a file named
  (flashUtilities/datastructures/linkedlist/ut_listMethods.includeF90)
  which can be included in any Fortran module to construct a linked list
  of user-specified node types.




The release is available at:

http://flash.uchicago.edu/website/download/

A stripped down version of FLASH3 that may be downloaded without a
license is also available at

http://flash.uchicago.edu/website/codesupport/

This version is essentially the FLASH framework without any
implementations.  The Flash Center is also providing support for
"add-ons" to the code. Please see the section on "What's new in this
release" in the first chapter of the User's Guide for details.


FLASH Code Group



More information about the flash-users mailing list