Monte Carlo Radiation Transfer

This page contains links to documentation and the FORTRAN files of Monte Carlo radiation transfer codes that we have developed. The 3D codes are very adaptable and I have applied them to a wide variety of astronomy projects, including stellar coronae, hot star winds, star formation, planetary nebulae, the interstellar medium of the Milky Way and external galaxies. The documentation booklet is available in postscript and PDF format and describes the codes listed below. The codes are commented, but not extensively. The algorithms have been tested against set examples and other Monte Carlo codes. Setting up the density grid and illumination is fairly straightforward. Plase contact me if you have problems with particular setups and geometries and I will try to assist you.


A basic introduction to Monte Carlo scattered light problems is given in this booklet . This also describes the three scattered light codes available via the links below. Please also try the example sheet on Monte Carlo scattering codes that I developed for a course taught in St Andrews. You may wish to use the random number generator ran2.f from Numerical Recipes for the exmple sheet problems.

Here is a lecture on Monte Carlo radiation transfer basics and scattered light codes that I have prepared for the 2013 Monte Carlo Summer School in St Andrews: MC_SCATT_KW.PDF.

Scattered Light Codes:

Plane Parallel Isotropic Scattering
3D Cartesian Grid: Point Sources
3D Cartesian Grid: Diffuse Emission

The codes produce 2D images in unformatted f77 files which can be viewed with a simple IDL routine included with the codes. If you do not use IDL, Tom Robitaille has provided a Python script that will convert the images into FITS files. The script is available here.

Limitations of Cartesian Grid Codes:

While the 3D Cartesian grid codes are very flexible to setup and run, care must be taken when applying them. They are not well suited for systems where the density variations cannot be resolved by the grid. The circumbinary disk simulation is OK, because of the large inner radius. However, for disks around Classical T Tauri stars this code is not suitable. CTTS disks have a very wide range of sizescales: the scaleheight ranges from less than a stellar radius to many AU. For these problems, a more desirable gridding would incorporate a logarithmic radial grid and latitudinal gridding that becomes finer towards the disk midplane. Rather than gridding in (x,y,z) it is better to grid in spherical coordinates (r,theta,phi). We have developed spherical grid codes and they have been made available by Barb Whitney (see link below) and also check out the HYPERION code by Tom Robitaille.


3D Cartesion Grid: Photoionization by point sources


The development of these codes has been funded by grants from the USA: NASA Long Term Space Astrophysics Research Program (NAG 5-6039); the National Science Foundation (AST 99-09966); and from the UK: SERC/PPARC/NATO Postdoctoral Fellowship and a PPARC Advanced Fellowship.


Barbara Whitney
Jon Bjorkman
Michael Wolff

Kenny Wood

Updated: July 2013