A Monte Carlo ray-tracing model for scattering and polarization by large particles with complex shapes

Published in 2000: J. Geophys. Res. 105, 29,291-29,314

W.M. Grundy1,3, S. Douté2,3, and B. Schmitt2,3

(1) Lowell Observatory, Flagstaff Arizona.

(2) Laboratoire de Planétologie de Grenoble, Grenoble, France.

(3) Formerly at Laboratoire de Glaciologie at Géophysique de l'Environnement, St. Martin d'Hères, France.


Abstract

We present a new model based on Monte Carlo ray tracing which simulates scattering and linear polarization by particles with arbitrary shapes and sizes much larger than the wavelength. The model, called S-Scat, provides a powerful tool for exploring the relationship between actual physical properties of large particles and the single-particle parameters used in multiple-scattering radiative transfer models, and will be particularly valuable for studies of icy outer solar system surfaces. We describe the model algorithm and apply the model to examine absorption and scattering behavior of single, irregular particles as functions of particle size, shape, and optical constants. Single-scattering albedos are investigated first, with results used to test the validity of the widely used equivalent slab model. Single-scattering phase functions are examined next, along with possibilities of parameterization via simple analytic expressions. Finally, the behaviors of linear polarization functions are explored, along with internal path lengths and the spatial distribution of scattered light in close proximity to the particle.


Software

You are welcome to use and/or modify the S-Scat program for your own non-commercial purposes (but be aware that it comes with no warrantee whatsoever). Instructions for use can be obtained by invoking the program with the "-help" argument. The source code should be quite easy to compile and/or port to other architectures, since it's so simple. I do it with "gcc sscat.c -lm -O3 -o sscat".

To use S-Scat, you will need shape files. Try these examples.

You'll really want to make your own shapes. The shape format is plain ascii - there are two consecutive 3-column lists, each preceeded by the number of lines in the list. End with a lone zero. The first list defines corner points with (x,y,z) coordinates (units are cm). The next list defines triangular facets by their corners (numbering starts at zero). The corners must be ordered such that the right-hand-rule makes the thumb point toward the shape's exterior (if you do it consistently backwards, you've described a bubble inside some other material). The simplest possible closed solid shape describable with this scheme has 4 faces and 4 corners, like a tetrahedron:
4
+0.94280904     +0.0            -.3333333333
+0.0            +0.0            1.0
-0.47140452     +0.81649658     -.3333333333
-0.47140452     -0.81649658     -.3333333333
4
0       1       3
2       1       0
3       1       2
0       3       2
0
Beware: if you make non-closed shapes, or shapes with interpenetrating facets, I don't know what S-Scat will do with them. Probably not what you intended, at any rate.

Other Products