Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

121 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STARDUST

STARDUST, which stands for Spectrum Transport Around RaDiating Universal Source Type, is a cosmological 1D radiative transfer code described in detail by Krause et al. (2018). An earlier (unpublished) version of the code was used by Thomas & Zaroubi (2008), and the underlying physics is based on Fukugita & Kawasaki (1994).

What it does

Given a tabulated spectral energy distribution (SED) for a source embedded in a dark matter halo, STARDUST computes the resulting ionization state (HI/HII, HeI/HeII/HeIII) and gas temperature along a radial grid, at user-defined time intervals. It is useful for studying the Epoch of Reionization, the extragalactic UV background, and the ionizing influence of individual sources (quasars, Population III stars, star-forming galaxies) on their surroundings.

Getting started

Clone the repository:

git clone https://github.com/eor/STARDUST.git STARDUST

Then:

  1. Set up your environment — installing GSL, libconfig, and Boost on macOS, on an HPC cluster with environment modules, on an HPC cluster without them, or via an Apptainer/Singularity container.
  2. Build: cd src && cp Makefile.template Makefile (edit the paths once), then make.
  3. Run an example — three ready-made test cases with sample SEDs and configs live in tests/.

Repository layout

src/        C/C++ source for the STARDUST binary
scripts/    SED generation, plotting, and catalog-building helper scripts (Python)
tests/      Example configs, SEDs, and reference output for three test cases
docs/       Setup and usage documentation (see ROADMAP.md for development status)
plots/      Example output plots referenced in docs/EXAMPLES.md

Configuration

A simulation run needs a SED file and a config file (see docs/EXAMPLES.md for examples). Any parameter not set in the config file falls back to a default defined in src/config_defaults.h; changing those defaults requires recompiling.

Python helper scripts

The scripts under scripts/ (SED generation, plotting, catalog building) need numpy, scipy, and matplotlib. The STARDUST binary itself has no Python dependency. A conda environment file is provided:

conda env create -f environment.yml
conda activate stardust

References

Copyright and licence

STARDUST was created by Rajat Thomas and Fabian Krause.

© 2018 - 2026 The STARDUST Authors

This programme is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This programme is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this programme. If not, see http://www.gnu.org/licenses/.

About

Spectrum Transport Around RaDiating Universal Source Type

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages