## Cosmology
## Nyx Github Page
You can find the Github page for ## Nyx Email Support ListIf you are interested in using Nyx, please join our Nyx mailing list to receive any updates and see questions other users are asking: https://groups.google.com/forum/#!forum/nyx-help.## OverviewThe 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 FrameworkThe 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.## HydrodynamicsThe 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 StateNyx 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 MatterDark 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.## Self-gravityNyx 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 NyxOur 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. ## VisualizationThe AMReX output file format is compatible with |