Release Date – March 10, 2016

We are pleased to announce the release of Version 2.5 of the Enzo code. This is a periodic release that includes all changes committed to the Enzo BitBucket repository since August 2014. This release contains some new features and a number of enhancements and bugfixes.

New features include: support for Version 2.0 of the Grackle chemistry and cooling library; refinement by Must Refine particles and metal mass; a cosmic ray fluid including pressure, diffusion, and injection for the ZEUS solver; Kinetic stellar feedback; power-of-two memory allocation to decrease fragmentation; and many new problem types.

There have been a number of enhancements to the hydro, MHD, radiation transport, and star particle routines, and a variety of performance enhancements to the same set of packages.

There have also been a number of significant bugfixes, including several that may increase the stability and efficiency of production multi-physics simulations.

We urge all users to update to the latest version if they are using Enzo 2.4 or earlier. While one can obtain the release by downloading a tar file, we strongly encourage all users to use enzo from a clone of the mercurial repository, which will facilitate reproducible work with the code.

  • New Feature: AGORA isolated galaxy problem and related Goldbaum, Forbes & Krumholz feedback routines (PR #253, PR #295)
  • New Feature: Grackle 2.0 support (PR #260)
  • New Feature: Support for several new test problems for MHD (PR #244, PR #299)
  • New Feature: Implementation of stochastic forcing in turbulence problems (PR #251)
  • New Feature: Refinement by metal mass (PR #288)
  • New Feature: Must Refine particles (PR #309)
  • New Feature: New 2D test problems for hydro and MHD (PR #305)
  • New Feature: Power-of-2 memory allocation (enhances memory performance) (PR #297)
  • New Feature: Cosmic ray pressure/diffusion/injection (PR #300)
  • New Feature: Simpson et al. Kinetic stellar feedback (PR #277)
  • Enhancement: HDF5 hierarchy output no longer default due to code slowdown (PR #245)
  • Enhancement: New Stampede makefiles (intel and gnu compilers) (PR #246)
  • Enhancement: Ignore grid hydro parameters on restart - use global values (PR #250)
  • Enhancement: FLD solver speedup and scaling improvement (PR #254, PR #264)
  • Enhancement: RNG streams now reproducible in parallel (PR #262)
  • Enhancement: Updated default value of solar metallicity to be consistent with Cloudy (PR #272)
  • Enhancement: Minor performance improvements (PR #273)
  • Enhancement: hydro_rk solver speedups (PR #286)
  • Enhancement: Misc. small fixes/updates from John Wise regarding star particles and sink particles (PR #287)
  • Enhancement: Updates to Enzo's inline FOF halo finder (PR #283)
  • Enhancement: Can now calculate dust temperature from command line (PR #282)
  • Enhancement: Ray tracing has several optimizations and new features, most of which promote speed and/or stability (PR #294)
  • Enhancement: Enzo native chemistry solver updated with timestep limiter, H2 self-shielding, non-cosmological redshift (PR #289)
  • Enhancement: CollapseTest and PhotonTest updated for correctness and flexibility (PR #298)
  • Enhancement: Pop III star star cluster formation and feedback improvements and new features (PR #293)
  • Enhancement: UniformGravity support in MUSCL (PR #310)
  • Enhancement: UngridTranspose=2 is now default (PR #313)
  • Enhancement: GalaxySimulation enhancements (PR #300)
  • Enhancement: MHD CT cosmology update (PR #318)
  • Bugfix: Misc. MHD bug fixes and cleanup (PR #243, PR #257, PR #265, PR #269, PR #271, PR #278)
  • Bugfix: Makefile updates and fixes (PR #256, PR #285, PR #301, PR #302)
  • Bugfix: Typo in TurbulenceSimulation (PR #248)
  • Bugfix: Doc cleanup (PR #252, PR #259, PR #263, PR #267)
  • Bugfix: Fixed "output cooling time only" and "output smoothed dm field only" options (PR #255)
  • Bugfix: Fixed MaximumGravityRefinementLevel to work with SiblingList (PR #238)
  • Bugfix: CommunicationLoadBalanceGrids fix for MinProc (PR #258)
  • Bugfix: Small stability/reproducibility fixes (PR #261, PR #266, PR #275)
  • Bugfix: Removed excessive unnecessary code warnings (PR #268)
  • Bugfix: Added missing input file in CoolingTest_Grackle (PR #279)
  • Bugfix: Fix to Grid::CheckForExternalReflections doing right side incorrectly (PR #274)
  • Bugfix: Enzo-performance module hang in parallel (PR #296)
  • Bugfix: MUSCL pressure support for EOS=0 corrected (PR #281)
  • Bugfix: Color density floor to PPM reconstruction (PR #284)
  • Bugfix: ReadParameterFile memory leak (PR #306)
  • Bugfix: StochasticForcing works with all solvers (PR #308)
  • Bugfix: Compilation problem with new-problem-types-yes (PR #307)
  • Bugfix: WriteParameterFile doesn't write correct TimeActionTime (PR #312)
  • Bugfix: LoadBalancing when all grids have equal work (PR #311)
  • Bugfix: Flux correction for metal fields (PR #314)
  • Bugfix: Minor bugs in gFLDSplit and gFLDProblem solvers (PR #317)
  • Bugfix: mismatched new/delete in Grid_ProjectSolutionToParentGrid (PR #319)
  • Bugfix: float/double mismatches (PR #320)
  • Bugfix: compiler warnings found with -Werror (PR #321)
  • Bugfix: 2D simulation segfault (PR #322)
  • Bugfix: Enhancing compilibility w/photon-no (PR #323)
  • Bugfix: Checking of cosmic ray fluid parameteters upon startup (PR #325)

Release Date – Aug. 8, 2014

We are pleased to announce the release of version 2.4 of the Enzo code. This is a periodic release that includes all changes committed to the Enzo BitBucket repository since July 2013. This release contains some new features and a number of enhancements and bugfixes.

Enzo now has bindings to version 1.0 of the grackle chemistry and cooling library. Grackle is based on Enzo's own cooling and chemistry code and includes updated rate and chemistry tables, as well a number of enhancements and new features that are not available in Enzo's native chemistry and cooling modules.

Enzo's solvers and physics modules have also seen improvements, including updates for the GPU MHD solver, the FLD solver, and the MHD-CT solver, the Jeans pressure floor, the Cen & Ostriker star particle, tracer particles, and particle splitting.

There have also been a number of infrastructure improvements, including a new progress meter script (which allows the user to monitor simulations during runtime), updates for geometric refinement regions and the shear refinement criterion, improved control over the frequency of hierarchy rebuilds, updates for test problem initialization (which is now more memory efficient), and improvements to the GalaxySimulation, KelvinHelmholtz, and CosmologySimulation problem types. There is also a new rotating turbulent sphere problem type.

There have also been a number of significant bugfixes, including several that may increase the stability and efficiency of production multi-physics simulations.

We urge all users to update to the latest version if they are using Enzo 2.3 or earlier. While one can obtain the release by downloading a tar file, we strong encourage all users to use enzo from a clone of the mercurial repository, which will facilitate reproducible work with the code.

  • New Feature: A progess meter script has been added to the bin directory ( PR #233)
  • New Feature: Added a rotating turbulent sphere test problem ( PR #206)
  • New Feature: Hierarchy rebuilds can now be controlled dynamically ( PR #196)
  • New Feature: Grackle chemistry and cooling ( PR #194)
  • Enhancement: Conversion factors from code units to CGS units are now written with increased precision ( PR #239)
  • Enhancement: Improved compatibility for cosmology simulations that include FLD, chemistry, and cooling. ( PR #230, )
  • Enhancement: Significant updates for the unigrid FLD solver ( PR #216)
  • Enhancement: Particle splitting has been reimplemented with an improved algorithm ( PR #188)
  • Enhancement: CosmologySimulation can now be run with MHDCT ( PR #223)
  • Enahncement: PPM simulations that use MinimumPressureSupport now use an improved algorithm for runs with cooling ( PR #220)
  • Enhancement: Added a parameter that allows fully manual control over the root grid decomposition ( PR #219, PR #226, )
  • Enhancement: Documentation on how to add a new BaryonField has been added. ( PR #221)
  • Enhancement: The galaxy simulation can now be run without using comoving coordinates ( PR #204)
  • Enhancement: Added a timestep-independent star particle creation mechanism ( PR #197)
  • Enhancement: Improvements to the tracer particle implementation ( PR 193)
  • Enhancement: Improvements to the Kelvin-Helmholtz test problem ( PR #192)
  • Enhancement: Buffer zones on processor boundaries will now be properly flagged for refinement. ( PR #190, PR #218)
  • Enhancement: The shear refinement criterion is now compatible with more simulation types ( PR #189)
  • Enhancement: AccelerationBoundary is now compatible with point source gravity ( PR #117)
  • Enhancement: Test problems will generate more efficient hierarchies during problem initialization ( PR #182)
  • Enhancement: Improvements for the CPU and GPU Dedner MHD solvers ( PR #177, PR #200)
  • Enhancement: New refine region mechanics ( PR #155, PR #172, PR #227)
  • Enhancement: MHDCT works with outflow boundary conditions ( PR #176, PR #198)
  • Bugfix: Fixed an issue with the emissivity field in the FLD module having incorrect unit ( PR #241)
  • Bugfix: Compilation issues for the FLD module in 32-bit mode have been resolved ( PR #240)
  • Bugfix: The internal energy field is no longer made conservative during flux correction if cooling is turned on ( PR #228)
  • Bugfix: Fixed an issue where incorrect fluxes were being generated for the internal energy in simulations that used flux correction. This may improve stability in some applications. ( PR #217)
  • Bugfix: FinalRedshift is no longer derived from StopTime, preventing desynchronization between these parameters ( PR #236)
  • Bugfix: The FLD radiative transfer parameter file is now only written by the root processor ( PR #235)
  • Bugfix: Fixed issues with mpgrafic and P-GroupFinder ( PR #215)
  • Bugfix: Fixed issues with transport of color fields at refinement boundaries. ( PR #199)
  • Bugfix: Remove AddParticleAttributes, which sometimes causes particle metadata to be incorrectly zeroed out ( PR #208)
  • Bugfix: The -g command line option now works as expected ( PR #207)
  • Bugfix: A buggy MIN macro was causing ComputeTimestep to be called twice ( PR #200)
  • Bugfix: Fix for simulations that use ExternalGravity but no self gravity ( PR #201)
  • Bugfix: Inits now uses increased precision when writing subgrid locations. ( PR #195)
  • Bugfix: Use Agg as the plotting backend for performance_tools ( PR #192)
  • Bugfix: AddFeedbackSphere is now compatible with the Zeus hydro solver ( PR #187)
  • Bugfix: Fixed issues MHD test problems ( PR #185, PR #186)
  • Bugfix: Fixes for uninitialized memory errors reported by valgrind ( PR #181, PR #184)
  • Bugfix: Fixed issues with compiling in mixed precision mode ( PR #181)
  • Bugfix: Fixed an issue with NumberOfOutputsBeforeExit functionality ( PR #179)
  • Bugfix: Fixed an issue with header include order in the RK solvers ( PR #178)
  • Bugfix: MagneticField is not set to NULL after being deleted ( PR #175)
  • Bugfix: Fixed an issue that caused the build to fail if hg is not present ( PR #174)
  • Bugfix: Fixed Haardt & Madau 2012 radiation field rates ( PR #171)

Release Date – July. 10, 2013

We are pleased to announce the joint release of Enzo 2.3 and the Enzo method paper, entitled "Enzo: An Adaptive Mesh Refinement Code for Astrophysics." Enzo 2.3 brings some new physics packages, improvements to the code, and some needed bug fixes. The method paper describes in detail the algorithms used for every physics package presented in this release, along with test problems and a description of the community development practices that have made the code so successful. The new physics modules in Enzo 2.3 include a constrained transport MHD method (MHDCT) and a new radiation background described by Haardt & Madau 2012, a PPM implementation for CUDA, and improvements to the CUDA MHD solver. Code improvements include MPI performance timers and improvements to the inline interface between Enzo and the analysis package yt, and several new problem types, including a cluster potential problem, a magnetic reconnection problem that utilizes the new MHDCT solver, and a particle orbit problem. Bug fixes to the gravity, chemistry, and radiation solvers are also included.
The components of this release can be found by following these links:
  • The paper can be found here
  • The code to reproduce the tests can be found at here
  • Enzo 2.3 can be found here
  • The continually updated development branch can be found here
  • A full list of changes can be found here
  • Documentation can be found at enzo-project.org , along with links to the above.

Release Date – Nov. 30, 2012

We are proud to announce the public release of Enzo version 2.2. This intermediate release contains a few new physics modules, reorganized and updated documentation, revamped answer testing, improvements to code infrastructure, as well as numerous bug fixes. In a little bit more detail:

  1. New physics capabilities — (a) Thermal and chemical feedback from Type Ia supernovae, with mass loss and luminosity fits provided by K. Nagamine; (b) H2-regulated star formation, in which the star formation rate is proportional to the density of molecular hydrogen (determined from Krumholz, McKee, & Tumlinson 2009), rather than total gas density.
  2. Upgrades to the Enzo Answer Testing Framework — Includes both functional improvements and vastly improved documentation. The results of two test suites ("quick" and "push") have been uploaded to an Amazon Cloud instance, allowing users to compare to an Enzo Community "gold standard". Alternatively, answer testing can also be done by comparing to locally generated results.
  3. Improved Documentation — (a) Descriptions of 175 previously undocumented parameters; (b) Parameters have been broken up into groups; (c) Brief explanations of the functionality provided by (most) Enzo source files; (d) Description of the new Enzo performance timers; (e) Examples of how to debug Enzo.
  4. Code infrastructure improvement — All fortran routines have been modified to explicitly specify the type at compile time, eliminating the need for compiler flags to ensure 64-bit precision.
  5. Timing and performance measurement and plotting tools — Support for simple, lightweight measurements for the timing and performance of Enzo. This allows one to examine which functions are using the majority of the simulation runtime, and how this varies across multiple processors.

With this release we continue our efforts to consolidate The Enzo Project's web presence, with the goal of lowering the barrier to entry for new users and easing further code development:

  • Enzo's main webpage continues to be http://enzo-project.org. Links and information can be found here for both developers and general users.
  • Both stable and development versions of the Enzo code are now hosted on Bitbucket.
  • For news and updates please follow our google+ page: The Enzo Project
  • New Feature: Supernova Ia feedback (no PR)
  • New Feature: H2-regulated star formation prescription (PR #41)
  • New Feature: Light-weight timing and performance measuring tool (PR #35)
  • Enhancement: Fortran precisions are now explicit. (PR #80)
  • Enhancement: Improved inline yt analysis. (PR #13)
  • Enhancement: Support for ghost-zone input/output. (PR #8)
  • Enhancement: Reorganized and improved code documentation. (PR #79, and many more)
  • Enhancement: Improvements to answer testing. (PR #82, and many more)
  • Enhancement: Docs for enzo performance measurement/analysis. (PR #38)
  • Bugfix: Generalizing the conversion to conserved quantities. (PR #75)
  • Bugfix: Fixing the set-acceleration-boundary compile flag. (PR #77)
  • Bugfix: Bug fix in hydro shock tubes initialization (PR #76)
  • Bugfix: Fix precision settings in WriteParameterFile. (PR #74)
  • Bugfix: Fixing create_config_info.py to replace ^M with \n in the output of 'hg diff'. (PR #73)
  • Bugfix: MAX_ANY_DIRECTION check (PR #72)
  • Bugfix: Fixing memory leak. (PR #71)
  • Bugfix: Shocks on output bugfix (PR #70)
  • Bugfix: Backporting Mike's hdf5 hierarchy fixes. (PR #69)
  • Bugfix: fix too-many-files issue with make dep (PR #65)
  • Bugfix: Changing MAX_ANY_SINGLE_DIRECTION from 3079 to 1024. (PR #62)
  • Bugfix: Minor fixes to H2 chemistry & cooling (PR #61)
  • Bugfix: Removing extra 1/dom factor in MetalCooling = 1 (PR #59)
  • Bugfix: Removing unused experimental chemistry code (PR #60)
  • Bugfix: Adding -fdefault-double-8 for example machine files for GNU v4.6+ (PR #54)
  • Bugfix: Change default setting for (the inaccurately named) bitwise-identicality setting to no (PR #47)
  • Bugfix: Subgrid size change and FOF bugfix (PR #46)
  • Bugfix: Fixed tracer particle allocation (PR #44)
  • Bugfix: Sink particle merging fixes (PR #40)
  • Bugfix: Fixed small errorPartition Grid only if not already partitioned (PR #28)
  • Bugfix: Small changes for GENum in AddFeedbackSphere and IdentifyPhysicalQuantites to avoid confusion with DensNum. (PR #25)
  • Bugfix: Fix for Ghost Zone IO (PR #34)
  • Bugfix: Fixing some errors in the description of Cen & Ostriker star (PR #33)
  • Bugfix: moved ENZO_FAIL before the loop to see if fields already exist. this loop will be infinite if OldNumberOfBaryonFields + FieldsToAdd > MAX_NUMBER_OF_BARYON_FIELDS, so it's best to do the check first. (PR #31)
  • Bugfix: Corrected Make.config.target's transposition of branch and revision info (PR #30)
  • Bugfix: Fixing small error (3.5%) in TemperatureUnits in CosmologyGetUnits.C (PR #26)
  • Bugfix: Small doc fix. (PR #22)
  • Bugfix: Changing enzo_unit_tests.h to Unix file format (PR #19)
  • Bugfix: Bugfix MetalCooling=1 missing a factor of density (PR #16)
  • Bugfix: Make inits work for 2D cosmology simulations (PR #12)
  • Bugfix: Deleting LevelArray variable after HDF5 hierarchy is written (PR #9)
  • Bugfix: make HDF5Hierarchy work with particles-128 (PR #11)
  • Bugfix: Fix urgent Ghost Zone bug (PR #14)
  • Bugfix: dtPhoton lower limit (PR #5)
  • Bugfix: HDF5 Hierarchy fix (PR #1)
  • Bugfix: Fix the rotating cylinder test problem (PR #4)

Enzo 2.1.1

Release Date – Oct. 27, 2011

A minor release featuring mostly bugfixes. See the changelog for details.


Enzo 2.1.0

Release Date – Oct. 17, 2011

We are proud to announce the public release of Enzo version 2.1. New with this release is an extensive answer testing facility, additional physics capabilities, and AMR performance enhancements. New physics capabilities include isotropic and anisotropic heat conduction, X-ray ionization/heating, massive black hole particles, 4th-order accurate gravity solver, distributed stellar feedback, shock tracking, and improved molecular hydrogen chemistry. Performance improvements include Hilbert curve dynamic load balancing, faster ray tracing, and ray merging. We have improved Enzo’s inline analysis using the yt project, as well as user documentation for the entire Enzo codebase. We have also simplified the generation of multi-mesh cosmological initial conditions.

In addition to code upgrades, we have upgraded and reorganized our online repositories and documentation. The Enzo Project’s main website is now http://enzo-project.org/ . Links and information can be found here for both developers and general users. Our stable releases will continue to live on our Google code website: http://code.google.com/p/enzo/ . Users can clone a mercurial repository of our stable release code or download a tarball of the code (http://code.google.com/p/enzo/downloads/list A simple quick-start guide can also be found here: http://code.google.com/p/enzo/wiki/EnzoBootCamp We will now support versioned documentation for all stable releases since Enzo 2.0 in addition to the development code on enzo-project.org. The documentation for Enzo 2.1 is located here: http://enzo-project.org/docs/2.1/.

Development will now move to our new Bitbucket repository where all users are encouraged to make contributions to the code by forking the main repository, located at https://bitbucket.org/enzo/enzo-dev . An explanation of new developer guidelines can be found here: http://enzo-project.org/docs/2.1/developer_guide/index.html. The current release of Enzo 2.1 features contributions, bug fixes and enhancements from an additional ten individuals (over the course of 2700 changesets) since Enzo 2.0, and through our new development infrastructure we are expanding our ability to solicit and review contributions.

Enzo development is supported by grants AST-0808184 and OCI-0832662 from the National Science Foundation.

Enzo 2.1.1

  • Enhancement: Test suite is now fully operational. See run/README for more details.
  • Enhancement: The “must refine” region can move with a user-defined, time-dependent refine region (parameter RefineRegionFile and refinement option 12)
  • Bugfix: Enzo now compiles with HDF5 v1.6.x (Michael Kuhlen)
  • Bugfix: User-defined time-dependent refine region now works with code time (David Collins)
  • Bugfix: Photon timesteps no longer go to tiny numbers (~1e-20) in certain situations when using the HII-restricted timestepping algortihm.

Enzo 2.1.0

  • New feature: Isotropic and anisotropic heat conduction
  • New feature: X-ray ionization and heating
  • New feature: Massive black hole particles
  • New feature: Testing suite
  • New feature: Shock tracking
  • New feature: Distributed stellar feedback across multiple cells
  • Enhancement: Improved molecular hydrogen chemistry at high densities
  • Enhancement: Fourth-order accurate gravity solver
  • Enhancement: HDF5 based hierarchy file (off by default)
  • Enhancement: Dust cooling -- Molecular hydrogen formation on dust grains
  • Enhancement: Time-dependent Lyman-Werner radiation backgrounds
  • Enhancement: Type Ia SNe and planetary nebulae feedback
  • Enhancement: HLLC and HLL Riemann solvers for HD (HydroMethod=0)
  • Enhancement: HLLD Riemann solver for MHD
  • Enhancement: Improved inline analysis with yt
  • Enhancement: Simplifed multi-mesh cosmological initial conditions with inits.
  • Enhancement: Improved and expanded documentation
  • Performance improvement: Load balancing on a space-filling curve
  • Performance improvement: Parallel ray tracing
  • Performance improvement: Ray tracing load balancing
  • Changed all FORTRAN files to .F instead of .src to remove the pre-processing step.
  • Various bugfixes over the past year.

Release Date – Jul. 1, 2010

We are proud to announce the public release of Enzo version 2.0. Enzo is a parallel code for astrophysical and cosmological simulations utilizing adaptive mesh refinement. Enzo 2.0 features many new physics capabilities including ideal MHD, radiation transport (ray tracing and flux limited diffusion), star particle class, metallicity-dependent cooling, and several new hydro solvers. More importantly, we have introduced new software tools to make using and developing Enzo easier. We have adopted distributed version control using Mercurial which supports the growing Enzo developer community. The documentation has been made more accessible and is now distributed with the source code. We have more than doubled the number of test problems and example problems as well as the number of developers!) In addition, we have added solution testing to the nightly regression tests.

Enzo 2.0 is the product of developments made at UC San Diego, Stanford, Princeton, Columbia, MSU, CU Boulder, CITA, McMaster, SMU, and UC Berkeley.

Enzo 2.0 now lives at http://enzo.googlecode.com/ to reflect its multi-institutional provenance. Prospective users are also encouraged to view online lectures from the 2010 Enzo Users' Workshop at http://lca.ucsd.edu/workshops/enzo2010.

Enzo development is supported by grants AST-0808184 and OCI-0832662 from the National Science Foundation.

Not Available.