PyUltraLight: A Pseudo-Spectral Solver for Ultralight Dark Matter Dynamics
Abstract
PyUltraLight simulates the dynamics of ultralight dark matter in a non-expanding background. PyUltraLight can describe the evolution of several interacting ultralight dark matter halos or one or more halos orbiting a central, fixed Newtonian potential, the latter scenario corresponding to dwarf galaxies orbiting a massive central galaxy. We verify PyUltraLight by showing that it reproduces qualitative dynamical features of previously published simulations and demonstrate that it has excellent energy-conservation properties. PyUltraLight is implemented in a Python-based Jupyter notebook, solving the Schrodinger-Poisson equation governing ultralight scalar field dark matter dynamics in the non-relativistic regime using a symmetrised split-step pseudospectral algorithm. The notebook interface makes it simple to specify simulation parameters and visualise the resulting output but performance-critical routines are managed via calls to computationally efficient compiled libraries. PyUltraLight runs on standard desktop hardware with support for shared memory mutlithreading and is available on GitHub.
Cite
@article{arxiv.1807.04037,
title = {PyUltraLight: A Pseudo-Spectral Solver for Ultralight Dark Matter Dynamics},
author = {Faber Edwards and Emily Kendall and Shaun Hotchkiss and Richard Easther},
journal= {arXiv preprint arXiv:1807.04037},
year = {2018}
}
Comments
available at: https://github.com/auckland-cosmo/PyUltraLight