CCSE Members of Nyx Development Team

  • Jean Sexton

  • Ann Almgren
  • Cosmological simulation

    Nyx Github Page

    You can find the Github page for Nyx at

    Nyx Email Support List

    If you are interested in using Nyx, please join our Nyx mailing list to receive any updates and see questions other users are asking:!forum/nyx-help.


    The development of Nyx began as part of an LDRD-funded project, continued under funding from the SciDAC-3 project, Computation-Driven Discovery for the Dark Universe, and is now a part of the DOE ECP ExaSky project.

    Nyx is used for large-scale cosmological simulations on massively parallel machines.

    Software Framework

    The Nyx software is based on the AMReX software framework, a follow-on to CCSE's BoxLib and now supported as part of the Exascale Computing Project.


    The hydrodynamic component of Nyx is mesh-based. Time integration of the hydro equations on the mesh is based on an unsplit version of the the piecewise parabolic method (PPM) with new limiters that avoid reducing the accuracy of the scheme at smooth extrema.

    Equation of State

    Nyx can follow an arbitrary number of isotopes or elements. The atomic weights and amounts of these elements are used to calculate the mean molecular weight of the gas required by the equation of state.

    Dark Matter

    Dark matter is represented as particles in Nyx. Each particle has a position, a mass, and a velocity associated with it. These particles contribute their mass to the mesh for the gravity solve, and their velocities are updated by the gravitational field interpolated from the mesh.


    Nyx uses a full Poisson solve on the mesh for the gravitational potential due to self-gravity (from both dark matter and baryons) in cosmological simulations. The equation is discretized using standard a 7-point stencil and the resulting problem is solved using multigrid with V-cycles and Gauss-Seidel relaxation.

    AMR in Nyx

    Our approach to adaptive refinement in Nyx uses a nested hierarchy of logically-rectangular grids with simultaneous refinement of the grids in both space and time. The integration algorithm on the grid hierarchy is a recursive procedure in which coarse grids are advanced in time, fine grids are advanced multiple steps to reach the same time as the coarse grids and the data at different levels are then synchronized. During the regridding step, increasingly finer grids are recursively embedded in coarse grids until the solution is sufficiently resolved. An error estimation procedure based on user-specified criteria evaluates where additional refinement is needed and grid generation procedures dynamically create or remove rectangular fine grid patches as resolution requirements change.


    The AMReX output file format is compatible with

  • VisIt

  • yt

  • Amrvis, a visualization tool developed by CCSE particularly for the AMReX style of plotfile which Nyx generates. A particularly useful feature in AmrVis is View/Dataset, which allows you to actually view the data -- not just a color or contour plot -- this can be handy for debugging. You can modify how many levels of data you want to see, whether you want to see the grid boxes or not, what palette you use, etc.