Enable your science with Nyx

Nyx is one of a suite of AMReX-based codes that share common computational patterns and features. Nyx specializes in cosmological flows, where dark matter and gas interact gravitationally.

Physics Capabilities

Nyx solves the equations of N-body + hydro on an adaptive grid with full self-gravity.

learn more

Performance

Nyx is built on the AMReX adaptive mesh refinement library, and uses an advanced MPI + tiled OpenMP approach to parallelism to get great performance on modern architectures. It scales from 1 to 100,000 cores, and is run at most national supercomputing facilities.

learn more

Science

Nyx has been used for scientific explorations of the Lyman-alpha forest and other cosmological simulations.

learn more

Getting Started

a detailed walkthrough of running your first Nyx problem is provided in the User's Guide

Development

Nyx is BSD-licensed and hosted on github. Contributions are welcomed.

Nyx is written in a mix of C++ and Fortran. The main driver, memory management, and parallelization are implemented in C++ (using the AMReX framework) and the physics kernels are written in Fortran. New code features are done either on the "development" branch or in a separate feature branch and periodically merged into "master". If you want to contribute to Nyx, clone the Nyx git repo, make your changes on "development" and then issue a pull-request to the Nyx "development" branch.