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.
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.
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 0Beware: 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.