MSTM Version 3.0: April 2013

MSTM (Multiple Sphere T Matrix) is a fortran-90 code for calculation of the electromagnetic scattering and absorption properties of a system of spherical surfaces.  The code is designed to run either on serial platforms or distributed—memory compute clusters.  

The 3.0 version of MSTM extends the formulation to arbitrary configurations of spherical surfaces.    The spheres can now be located internally or externally to each other,  subject to the constraint that a surface cannot intersect (or cut) any other surface.       

All material – including the external medium – can be optically active, i.e., characterized by L and R refractive index values.     

The MSTM code can compute both near and far—field properties of the spherical surface system.     The plot on the right, for example, shows electric field amplitude within and about a sphere with 40 eccentrically—positioned layers, each with progressively larger real refractive index, and excited by a plane wave.  

The exciting field can be a plane wave or a Gaussian—profile beam.      The code can calculate properties for a fixed orientation of the target with respect to the incident direction, or, via analytical T matrix methods, the random orientation cross sections and scattering matrix values of the target.

Version 3.0 includes many new input file options, including the ability to perform multiple runs over looped parameter values.  

The 3.0 code has been modified considerably from version 2.2.     I am going to keep the old 2.2 package available on the site, yet it will no longer be maintained.    

I have compiled and run the code on a serial windows machine using gfortran, and on a parallel compute cluster using mpich + gfortran.    So far so good.

Please be advised that the initial release of MSTM 3.0 is likely to have bugs.     There is a very wide parameter space and it is impossible for me to check all possible combinations of input and output variables.    And in this respect I need your help: please alert me to any errors, glitches, hangups, and other problems you encounter with the code, and I will try to fix them as quickly as possible.     I will post the bug fixes to MSTM 3.0 as they occur.    I much appreciate your patience.         

The version 3.0 package (codes, documentation, input files, and executables for serial windows machines) can be downloaded from here.       The manual will, hopefully, answer all of your questions regarding the use and capabilities of the code.   If it does not answer all questions, or if you have problems or detect a bug, or if you want to offer suggestions for improvements, the number to call is       

Some examples of MSTM applications can be found in mstm gallery-v3.0.     The file uses the LaTeX animate package to create pdf-based animations via a sequence of EPS graphics files.     There is no video compression, and the file is big (32 MB) and will get bigger as I add more examples.   The animations usually run on windows machines using the latest adobe reader.    I would recommend that you download the file and open it with the reader as opposed to viewing it in your web browser.

I would welcome your contributions to the gallery: send me graphics (vector or bitmap) that nicely illustrate some interesting feature of scattering, as revealed by MSTM, and I will submit them to a distinguished panel of experts for evaluation and possible inclusion.    

Please send bug reports, comments, questions, etc., to