[FLASH-USERS] FLASH 4.0.1 bug fix release

Klaus Weide klaus at flash.uchicago.edu
Thu Feb 28 17:10:03 EST 2013


The Flash Center is making available bug fixes to FLASH 4.0 in two forms:

 (1) as an update tar file, and 
 (2) as a diff file for the "patch" command.

The differences from FLASH 4.0 are limited strictly to bug fixes. No new 
features have been added, and documentation is unchanged.

The release string (in file RELEASE) is updated to "4.0.1_release" to help 
users identify their code version.


(1) To get the updated tar file:

 * Go to the Flash Code Web page at http://flash.uchicago.edu/site/flashcode/
   and use the 'Code Request' and 'Download' links. Or go to
   http://flash.uchicago.edu/coderequest (if you have not yet signed a
   license agreement) or to http://flash.uchicago.edu/download directly.

   You are required to have signed the License Agreement before 
   downloading the code.

   Select FLASH4.0.1 from the list of available downloads.

(2) To apply the patch file:

 * Download file FLASH4_0-to-4_0_1.diff from
   http://flash.uchicago.edu/site/flashcode/user_support/FLASH4_0-to-4_0_1.diff .
   A License Agreement or password is not required.

 * Change to the top level directory (i.e., the directory containing the
   source, sites, tools, etc. subdirectories) of your existing FLASH 4.0
   directory tree.

 * Run

    patch -p0 --dry-run < FLASH4_0-to-4_0_1.diff

   to verify that the patch can be applied cleanly.

   If you get error messages, you probably are in the wrong directory, or 
   your FLASH version is not 4.0, or you have made local changes that 
   interfere with the patch. If it is not possible to fix the problem,
   revert to getting the tar file as per (1).

 * Run

    patch -p0 < FLASH4_0-to-4_0_1.diff

   to update FLASH 4.0 to FLASH 4.0.1.


A description of the differences follows.  If you have questions about 
these fixes, please address them to the flash-users mailing list.


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!  Fixes to FLASH 4.0 included in FLASH 4.0.1 patch  !!!!! 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

*** HYPRE Fix ***

* A non-symmetric matrix could be generated by our AMR HYPRE adapter
  in certain situations, leading to failure to converge in PCG solver.
  The constructed matrix was not symmetric, because there was a
  mismatch between the order in which graph edges where created and
  given values for some cells.  This only affected coarse cells that
  have finer neighboring cells across more than one cell face.

  Only changed file: source/Grid/GridSolvers/HYPRE/paramesh/gr_hypreSetupGrid.F90
  r18739


*** PFFT Fixes ***

* PFFT fixes for unusual pencil grid configurations.
  We have found errors when the global number of grid points along a
  particular dimension is not a multiple of the number of MPI ranks in
  the PFFT MPI cartesian communicator in the same dimension.  This
  situation did not always cause problems, but errors could be
  introduced in particular when using PFFT in combination with
  Multigrid ("Hybrid Multigrid") as a Poisson solver and when
  there was
* a small number of Paramesh blocks per pencil process, and/or
* a prime number of pencil processes which own Paramesh blocks at
  the refinement level of the PFFT grid.
  Fixes apply to DirectSolver and HomBcTrigSolver.
  Bug reported by: Mateusz Ruszkowski 2013-01-21

* Only MPI ranks which are part of the pencil process grid should
  access certain arrays.  In the previous implementation there are
  accesses to unallocated arrays by the MPI ranks which are not part
  of the PFFT process grid.  The patch avoids undefined behavior.

* Use the correct communicator, pfft_comm(IAXIS) instead of gr_meshComm.
  Avoids possible hang with DirectSolver.

* Change in gr_pfftInitMetaData.F90 addresses a problem with
  DirectSolver/SecondOrder_FD3p (not normally used). Added some lines
  of diagnostic output.

  r18725,r18735,r18736,r18949,r18970,r18972
  
  NOTE: For Hybrid Multigrid configurations, we now recommend using
  the HomBcTrigSolver variant of PFFT. To do this, eliminate explict
  references to "DirectSolver" and use "PfftSolver=HomBcTrigSolver"
  on the setup command line.



*** Barnes-Hut Tree Solver Fixes ***
* Several bug fixes of the BHTree solver. The bugs could lead to
  code crashes in case of non-cubic computational domains.
  Corrected some size calculations.
  Grid_solvePoisson now uses the poisfact argument.
  Generalized BHTree code to not assume in some places that the
  source variable is DENS_VAR.
  Contributed by: Richard Wunsch, John ZuHone
  r17970,r18021,r18825,r19041,r19097


*** Active Particles Time Advancement Fix ***
* Fixed a long-standing bug in active particle time advancement, where
  the old timestep was being used to advance the particle positions
  instead of the current one. This only affects active particles with
  mass that are being advanced using the leapfrog time advancement
  routine (without cosmology).
  Contributed by: John ZuHone
  Only changed file: ../ParticlesMain/active/massive/Leapfrog/pt_advanceLeapfrog.F90
  r18678


*** Misc Fixes related to Hydro / MHD ***

* Fixes in explicit viscosity for split (PPM) Hydro.
  Bug reported by: Elke Roediger 2012-11-07
  Only changed file: source/physics/Diffuse/DiffuseFluxBased/Diffuse_visc.F90
  r18212

* Indexing error in guard cell filling for face variables (3D Staggered Mesh MHD).
  Bug reported by: Mateusz Ruszkowski 2012-11-07
  Only changed file: .../Paramesh4dev/PM4_package/source/amr_1blk_guardcell_srl.F90
  r18220

* Modified current calculation when adding resistive fluxes for Staggered Mesh MHD.
  Only changed file: .../unsplit/MHD_StaggeredMesh/hy_uhd_addResistiveFluxes.F90
  r18170


*** Misc Infrastructure Fixes ***

* Fix for inexact block boundaries.
  When runtime parameters nBlockX, nBlockY, or nBlockZ are different
  from 1, rightmost block boundaries are computed in a way that may
  make their values differ slightly from rightmost domain
  boundaries. The preferred change (to be included in a future FLASH
  release) is to change the way block boundaries are computed, but
  that can introduce unexpected differences in checkpoint files; here
  we just modify some code to use comparison with a tolerance, instead
  of testing for exact equality, when detecting boundaries.
  r18053

* Avoid accessing optional logical dummy arguments when they are not
  present.  One must not assume short-circuit evaluation of logical
  expressions in Fortran.
  Only changed file: source/Grid/GridMain/paramesh/Grid_getListOfBlocks.F90
  r18896


!!!!!  END OF FIXES  !!!!!



More information about the flash-users mailing list