The SKIRT project
advanced radiative transfer for astrophysics
Components of the SKIRT project

This topic briefly introduces the key components of the SKIRT project, i.e. the SKIRT code, the MakeUp graphical user interface, and the Python Toolkit for SKIRT. For further information on how to install these components and for details on system requirements and dependencies, see the Installation Guide. For a summary of features, see Key features of the SKIRT code and Key features of the Python Toolkit for SKIRT (PTS).

SKIRT

The core component of the SKIRT project is the SKIRT command line program, which allows simulating radiation transfer in astrophysical systems. The configuration for a particular SKIRT simulation is fully defined by means of a parameter file in XML text format. These parameter files can be created and edited in the following ways:

  • You can create a new parameter file through a user-friendly Q&A session in a terminal window, driven by the SKIRT command-line program. Because there are no external depencies, this method works in all circumstances.
  • You can open an existing parameter file in any text editor and make changes. Because the XML format is largely self-documenting, it is straigthforward to adjust, say, the value of a scaling length in the model, or to add a second instrument with a new viewing angle.
  • If the MakeUp utility has been built, you can create or adjust a parameter file using the graphical wizard-like interface offered by that utility.

MakeUp

The MakeUp utility is built as a separate program, so it does not need to run on the same computer as the SKIRT command line program. The consecutive wizard panes follow the same pattern as the Q&A session driven by the command-line program, with the important benefit of a graphical user interface. One key advantage of the graphical wizard is the ability to navigate backward in the Q&A sequence. This allows verifying or adjusting your responses to the preceding questions.

Python Toolkit for SKIRT (PTS)

The overall workflow in which SKIRT simulations take part can be exceedingly complex. For example:

  • Input data for SKIRT must be converted from some third-party format.
  • SKIRT output data must be further analyzed, plotted, or processed into final results.
  • A large number of SKIRT simulations must be performed and the results must be organized accordingly.

Radiative transfer simulations can be very resource-intensive, which is why the SKIRT code is written in the compiled language C++. For the peripheral functions listed above, however, ease of development is much more important than execution speed. The Python language, properly extended with the relevant third-party libraries, perfectly fits the bill. Commonly available Python packages handle the data formats used in astronomy and support scientific computations. Plotting capabilities support quick graphs for initial analysis up to publication-quality figures.

The Python Toolkit for SKIRT (PTS) includes basic tools for working with SKIRT from the command line and offers a set of Python functions that can be invoked from a custom Python pipeline or simply serve as inpiration for a desired implementation.