advanced radiative transfer in dusty systems
SKIRT code overview


The core component of the SKIRT project obviously is the SKIRT command line program, which allows simulating radiation transfer in dusty astrophysical systems. Its key features are summarized on the SKIRT project introduction page and are extensively described elsewhere in the documentation; see the SKIRT documentation index.

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:

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 and/or adjusting the user's response to one of the preceding questions.


The SMILE subproject implements the mechanisms for handling configuration files in SKIRT and MakeUp. The code in this subproject is designed as a generic framework that can be used outside of the SKIRT project as well. As a user of SKIRT, you don't need to be concerned with SMILE, and you can safely skip the remainder of this section.

SMILE stands for "Simple Metadata Interactive Language Editing". SMILE is a metadata language that can represent configuration files for software programs or other simple datasets. A SMILE dataset can be stored as a text file using a subset of the standard XML format, which makes it easy to create, modify and use electronically. In addition, the SMILE XML format is fairly accessable for direct viewing and editing by a moderately advanced user.

The SMILE project includes utilities for creating and editing SMILE datasets. At the most basic level, a command-line tool offers a text-based question and answer session for creating a SMILE file of a particular type, given a SMILE schema file. More advanced utilities offer a Wizard-style graphical user interface. Furthermore, the SMILE project includes a C++ library that allows establishing a direct correspondence between C++ classes and objects in a client application on the one hand, and SMILE datasets on the other hand.

System requirements

The SKIRT code should compile and run on any recent version of Unix, Mac OS X, and Microsoft Windows. The code is written in C++14, which is supported by all recent C++ compilers. SKIRT uses the CMake build system, which is widely available. The SKIRT command-line programs can be built without any further dependencies. The MakeUp utility uses the Qt development environment to implement its graphical user interface, so you need to install a recent version of the Qt framework to build this utility.

Furthermore, there are some optional dependencies. For example, to enable the multi-processing capabilities of SKIRT, the host system must provide an implementation of the standard Message Passing Interface (MPI). As a side note, the use of multiple parallel execution threads within a single process is supported without extra dependencies.

For further details on these requirements and dependencies, refer to The SKIRT Installation Guide.