`hotwheels` is a codebase for hydrodynamic N-body cosmological simulations, developed during my free time over the past few years.
`hotwheels` is a codebase for hydrodynamic N-body cosmological simulations, developed by **Antonio Ragagnin**.
As part of my commitment to advancing simulation tools, I am working on a flexible and modular implementation of a [Gadget](https://wwwmpa.mpa-garching.mpg.de/gadget/)-like code (temporarily named `hotwheels`). This new implementation incorporates lessons learned from over a decade of experience working with HPC and Gadget codes (e.g., OpenGadget3, see Dolag et al., in prep).
...
...
@@ -20,20 +20,22 @@ As part of my commitment to advancing simulation tools, I am working on a flexib
## Modules
-[core](https://www.ict.inaf.it/gitlab/hotwheels/core): Provides essential utilities for: (1) Compiling and executing C code from Python (`core.make`); (2) Generating and managing particle data structures as structures of arrays (SoAs) (`core.soa`); (3) General C utilities (e.g., MPI patterns, MyMalloc, panic handling, and timers in `core.c_utils`).
-[IO](https://www.ict.inaf.it/gitlab/hotwheels/io): Handles parallel reading and writing of Gadget1-2 snapshots, including support for [N-GenIC](https://www.h-its.org/2014/11/05/ngenic-code/) and [MUSIC](https://www-n.oca.eu/ohahn/MUSIC/)initial conditions, as well as HDF5 files.
-[IO](https://www.ict.inaf.it/gitlab/hotwheels/io): Handles parallel reading and writing of Gadget1-2 snapshots (thus including [N-GenIC](https://www.h-its.org/2014/11/05/ngenic-code/) and [MUSIC](https://www-n.oca.eu/ohahn/MUSIC/)formats), as well as HDF5 files.
-[tree](https://www.ict.inaf.it/gitlab/hotwheels/tree): A standalone octree implementation designed for GPU compatibility. It supports Hilbert or Morton ordering, multi-particle leafs, and can be used in standalone C projects.
-[domain](https://www.ict.inaf.it/gitlab/hotwheels/domain): A GPU-friendly domain decomposition module based on Hilbert particle ordering, independent of the traditional Gadget decomposition.
-[domain](https://www.ict.inaf.it/gitlab/hotwheels/domain): A GPU-friendly domain decomposition module based on Hilbert particle ordering.
-[PM](https://www.ict.inaf.it/gitlab/hotwheels/pm): A standalone particle-mesh (PM) module, heavily inspired by the Gadget PM implementation.
-[integrate](https://www.ict.inaf.it/gitlab/hotwheels/integrate): Provides APIs and callbacks for cosmological and non-cosmological integration. This module also manages cosmological parameters.
-[barnes_hut](https://www.ict.inaf.it/gitlab/hotwheels/barnes_hut): **[To-Do]** A Gadget-like short-range gravity and potential computation module, based on the [Barnes & Hut (1986)](https://www.nature.com/articles/324446a0) algorithm.
-[FoF](https://www.ict.inaf.it/gitlab/hotwheels/fof): **[To-Do]** a simple stand-alone C friend-of-friend (FoF) halo identification.
-[PESPH](https://www.ict.inaf.it/gitlab/hotwheels/PESPH): **[To-Do]** A pressure-entropy smoothed particle hydrodynamics (SPH) module.
-[SH03](https://www.ict.inaf.it/gitlab/hotwheels/SH03): **[To-Do]** A star formation recipe based on [Springel & Hernquist (2003)](https://ui.adsabs.harvard.edu/abs/2003MNRAS.339..289S/abstract), with cooling processes handled by [Grackle](https://grackle.readthedocs.io/en/latest/).
## Run Your Own Simulations
-[A refined PM DMO run with fixed timesteps](run_pm_dmo_NFW_fixed_timestep.md)
-[A cosmological PM DMO run with fixed timesteps](run_pm_dmo_NFW_fixed_timestep.md)
Currently it is possible to run particle-mesh gravity only simulations with and without comoving integrations:
-[A refined PM DMO run with fixed timesteps](run_pm_dmo_NFW_fixed_timestep.md)
-**soon:** A cosmological PM DMO run with fixed timesteps