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
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.
Updated: July 2013