[go: up one dir, main page]

Skip to content

Two-moment AMR radiation hydrodynamics (with self-gravity, particles, and chemistry) on CPUs/GPUs for astrophysics

License

Notifications You must be signed in to change notification settings

quokka-astro/quokka

Repository files navigation

Quality Gate Status Bugs Lines of Code OpenSSF Best Practices OpenSSF Scorecard AMReX yt-project

QUOKKA

Quadrilateral, Umbra-producing, Orthogonal, Kangaroo-conserving Kode for Astrophysics!

The Quokka methods paper is now available: https://arxiv.org/abs/2110.01792

For detailed instructions on installing the code, please refer to the Quokka Documentation. You can start a Discussion for technical support, or open an Issue for any bug reports.

Quokka is a two-moment radiation hydrodynamics code that uses the piecewise-parabolic method, with AMR and subcycling in time. Runs on CPUs (MPI+vectorized) or NVIDIA GPUs (MPI+CUDA) with a single-source codebase. Written in C++17. (100% Fortran-free.)

Here is a a Kelvin-Helmholz instability simulated with Quokka on a 512x512 uniform grid:

Animated GIF of KH Instability

This is a 3D Rayleigh-Taylor instability simulated on a $256^3$ grid:

Image of 3D RT instability

Quokka also features advanced Adaptive Quokka Refinement:tm: technology:

Image of Quokka with Baby in Pouch

Dependencies

  • C++ compiler (with C++17 support)
  • CMake 3.16+
  • Python 3.8+
  • MPI library with GPU-aware support (OpenMPI, MPICH, or Cray MPI)
  • HDF5 1.10+ (serial version)
  • CUDA 11.7+ (optional, for NVIDIA GPUs)
  • ROCm 5.2.0+ (optional, for AMD GPUs)
  • ADIOS2 2.9+ with GPU-aware support (optional, for writing terabyte-sized or larger outputs)

Problems?

If you run into problems, please start a Discussion for technical support. If you discover a bug, please let us know by opening an Issue.