SIROCCO: A Publicly Available Monte Carlo Ionization and Radiative Transfer Code for Astrophysical Outflows
Résumé
Outflows are critical components of many astrophysical systems, including accreting compact binaries and active galactic nuclei (AGN). These outflows can significantly affect a system's evolution and alter its observational appearance by reprocessing the radiation produced by the central engine. Sirocco (Simulating Ionization and Radiation in Outflows Created by Compact Objects - or "the code formerly known as Python") is a Sobolev-based Monte Carlo ionization and radiative transfer code. It is designed to simulate the spectra produced by any system with an azimuthally-symmetric outflow, from spherical stellar winds to rotating, biconical accretion disc winds. Wind models can either be parametrized or imported, e.g. from hydrodynamical simulations. The radiation sources include an optically thick accretion disc and various central sources with flexible spectra and geometries. The code tracks the "photon packets" produced by the sources in any given simulation as they traverse and interact with the wind. The code assumes radiative near-equilibrium, so the thermal and ionization state can be determined iteratively from these interactions. Once the physical properties in the wind have converged, Sirocco can be used to generate synthetic spectra at a series of observer sightlines. Here, we describe the physical assumptions, operation, performance and limitations of the code. We validate it against tardis, cmfgen and cloudy, finding good agreement, and present illustrative synthetic spectra from disc winds in cataclysmic variables, tidal disruption events, AGN and X-ray binaries. Sirocco is publicly available on GitHub, alongside its associated data, documentation and sample input files covering a wide range of astrophysical applications.