Skip to content

A Python library to analyse zoom-in hydrodynamic simulations of groups and clusters of galaxies.

License

Notifications You must be signed in to change notification settings

edoaltamura/swiftzoom

Repository files navigation

SWIFTzoom Logo Banner - Light SWIFTzoom Logo Banner - Dark

Python version PyPI version Conda version License Slack Organisation CircleCI - Main Branch Develop Branch Build Documentation OpenSSF Best Practices GitHub repo size GitHub contributors

A Python library to analyse zoom-in hydrodynamic simulations of groups and clusters of galaxies run with SWIFT, a parallel, multi-purpose numerical simulation software for hydrodynamic simulations in astrophysics and cosmology.

Complete documentation is available at the ReadTheDocs repository.

Installing

You can install SWIFTzoom using the Python packaging manager pip by typing:

pip install swiftzoom

Main features

  • Project template. A standard, intuitive and repeatable structure for data science pipelines for simulation-based projects. This feature is inspired by Cookiecutter Data Science and Kedro, the data science tool developed by QuantumBlack, AI by McKinsey.
  • Snapshot-catalogue binding. Combines the efficiency of swiftsimio and swiftgalaxy with halo-catalogue information from velociraptor to accelerate the analysis of single objects.
  • Radial profiles. A sub-module to compute radial distribution profiles of widely-used quantities (e.g. density, temperature, pressure, entropy) and a template for defining custom profiles.
  • Lagrangian tracking. A tool for tracking an ensemble of particles backwards and forwards in time from a given snapshot by matching unique particle IDs.
  • Map visualisation. A high-level easy-to-use abstraction of the swiftsimio visualisation submodule to produce maps of the particles in the simulation.

Requirements

This package requires python v3.8.0 or higher. Lower versions are not tested and may present compatibility issues.

Python packages

  • numpy, required for the core numerical routines.
  • swiftsimio, required to read data from the SWIFT HDF5 output files efficiently.
  • swiftgalaxy, required to bind the zoom-object with its catalogue dataset.
  • unyt, required for symbolic unit calculations (depends on sympy).

Citing

While under development, you can acknowledge this repository by citing Altamura et al. (2023):

@ARTICLE{2023MNRAS.520.3164A,
       author = {{Altamura}, Edoardo and {Kay}, Scott T. and {Bower}, Richard G. and {Schaller}, Matthieu and {Bah{\'e}}, Yannick M. and {Schaye}, Joop and {Borrow}, Josh and {Towler}, Imogen},
        title = "{EAGLE-like simulation models do not solve the entropy core problem in groups and clusters of galaxies}",
      journal = {\mnras},
     keywords = {hydrodynamics, methods: numerical, software: simulations, galaxies: clusters, galaxies: fundamental parameters, galaxies: groups - tions, Astrophysics - Cosmology and Nongalactic Astrophysics, Astrophysics - Astrophysics of Galaxies},
         year = 2023,
        month = apr,
       volume = {520},
       number = {2},
        pages = {3164-3186},
          doi = {10.1093/mnras/stad342},
archivePrefix = {arXiv},
       eprint = {2210.09978},
 primaryClass = {astro-ph.CO},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2023MNRAS.520.3164A},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}