SOC is the name of a program that is used to model the scattering and thermal emission of interstellar dust. The name was originally an acronym for Scattering with OpenCL, which refers to the fact that the program is implemented using OpenCL.

The program was used in the code comparison published in Gordon et al. 2017. However, since then the main program has been translated from C++ to Python and some additional features have been added. Because the main computations are carried out in OpenCL kernels, which are compiled to machine code, the use of Python in the main program did not result in any significant degradation of the run times. On the contrary, the main program is now much shorter and allows easier modifications and tests of alternative implementation details.

This page describes the use of the Python version of SOC. Our goal has been to keep SOC simple so that it only concentrates on the actual radiative transfer calculations. SOC needs only minimal information of the dust models, which is given through input files. SOC can calculate dust temperatures for grains that are in equilibrium with the radiation field but the emission of stochastically heated grains is handled outside SOC (for example, using DustEM).

A SOC run needs the following files that are described on separate pages:

  • A parameter file that lists some run parameters and refers to additional files.
  • A cloud file that describes the density distribution in the model.
  • A dust file that defines the absorption and scattering properties of the dust. Additionally, there may be files for tabulated scattering functions.
  • Files describing the radiation field. This is separated to isotropic background and internal point sources.

… to be continued.