ARTIS (Sim 2007; Kromer & Sim 2009) is a 3D radiative transfer code for Type Ia supernovae using the Monte Carlo method with indivisible energy packets (Lucy 2002). The latest version incorporates polarisation and virtual packets (Bulla et al. 2015), non-LTE physics appropriate for the nebular phase of Type Ia supernovae (Shingles et al. 2020), and alpha- and beta-decays with time-dependent thermalisation (Shingles et al. 2023).
The code is modern C++23 and scales to thousands of CPU cores across multiple node using MPI with shared memory windows on each node. Experimental support is also provided for OpenMP and C++ standard parallelism (for multicore CPU and upcoming GPU targets).
The ARTIS source code is available because it forms part of the method used to obtain published scientific results. Those interested in understanding the numerical techniques (in greater detail than the published descriptions) now have access to this code. We anticipate that some developers might find our code useful when building similar simulation codes, and in this case we ask that authors of any derivative works acknowledge and cite the ARTIS collaboration. This is in addition to the legal requirements of attribution and preservation of copyright notices on any substantial copies under the BSD 3-Clause licence.
We do not have the resources to support users of the code outside our team of direct collaborators.
Clone the source code repository:
git clone https://github.com/artis-mcrt/artis.git
cd artis
For macOS, it's recommend that you install homebrew llvm to get clang-format, clang-tidy, clangd language server and the clang C++ compiler.
brew install llvm
Install an MPI library that provides an mpicxx command, e.g., on macOS:
brew install open-mpi
Install the pre-commit hooks:
pip install pre-commit
pre-commit install
For editing, the clangd language server is recommended (e.g., with the VS Code plugin).
Distributed under the BSD 3-Clause license. See LICENSE for more information.