diff --git a/README.md b/README.md index c4a8bebb7879d2e47754625f68c1973482e22221..8c0c341c6f727cd4e86adc9634d97402ac6fe4a3 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [TOC] -`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 ## The roadmap (to do list)