PyTMatrix is a Python interface to a T-matrix numerical scattering computation code originally developed at NASA GISS (Goddard Institute for Space Studies). It integrates into the NumPy/SciPy scientific framework. The software provides streamlined access to numerical T-matrix computations directly from the Python programming language. It retains the original numerical core written in Fortran 77, thus combining the flexibility of Python and the numerical performance of Fortran. It also provides tools for post-processing the output by integrating over various particle size and orientation distributions.

The PyTMatrix package was designed with the objective of providing a simple, extensible interface to T-Matrix electromagnetic scattering calculations performed using an extensively validated numerical core. The interface, implemented in the Python programming language, facilitates automation of the calculations and further analysis of the results through direct integration of both the inputs and the outputs of the calculations to numerical analysis software.

The software enables rapid specification of inputs (e.g., particle size, wavelength) and the integration of the outputs into further numerical analysis. These features are lacking in most comparable codes. For example, the original Fortran code used as part of the software needs to be recompiled for new input parameters.

The software is used to compute the electromagnetic scattering properties of spherical, spheroidal, and cylindrical particles. The focus is on microwave and light scattering by particles in the atmosphere, but these computations have many applications in optics and radio science.

This work was done by Jussi S. Leinonen of Caltech for NASA’s Jet Propulsion Laboratory. This software is available for license through the Jet Propulsion Laboratory, and you may request a license at: . NPO-49724

NASA Tech Briefs Magazine

This article first appeared in the October, 2016 issue of NASA Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.