4.12.1.7. singleScattering.tmatrix

singleScattering.tmatrix.py

Copyright (C) 2017 - 2018 Davide Ori dori@uni-koeln.de Institute for Geophysics and Meteorology - University of Cologne

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Tmatrix spheroid scatterer object and member functions

4.12.1.7.1. Module Contents

4.12.1.7.1.1. Classes

TmatrixScatt

This is class implement the Tmatrix model of scattering for a spheroid

4.12.1.7.1.2. Attributes

RADIUS_EQUAL_VOLUME

RADIUS_EQUAL_AREA

RADIUS_MAXIMUM

SHAPE_SPHEROID

SHAPE_CYLINDER

SHAPE_CHEBYSHEV

deg2rad

rad2deg

RADIUS_EQUAL_VOLUME = 1.0[source]
RADIUS_EQUAL_AREA = 0.0[source]
RADIUS_MAXIMUM = 2.0[source]
SHAPE_SPHEROID[source]
SHAPE_CYLINDER[source]
SHAPE_CHEBYSHEV = 1[source]
deg2rad[source]
rad2deg[source]
class TmatrixScatt(diameter=0.001, frequency=None, wavelength=None, refractive_index=None, dielectric_permittivity=None, theta_inc=0.0, phi_inc=0.0, theta_sca=0.0, phi_sca=0.0, alpha=0.0, beta=0.0, aspect_ratio=1.0)[source]

Bases: singleScattering.scatterer.Scatterer

This is class implement the Tmatrix model of scattering for a spheroid Inherits all the attributes from Scatterer and introduce the aspect_ratio as an additional parameter. aspect_ratio is the ratio between the vertical and the horizontal dimansion of the spheroid

Todo

The underlying Fortran code by Mishchenko is capable of calculating the scattering properties of Cylinders and Chebyshev particles. We might want to enable that.

_init_tmatrix(self)[source]

Initialize the T-matrix. The T-Matrix is computed for the current setup and it is not dependent on particle orientation or incident and scattered direction. Thus it is kept unchanged for any further calculation. If either, wavelength, size, refractive index, aspect_ratio of the particle changes, this this function must be invoked again. The T-matrix is calculated and stored in the Fortran submodule memory space and is unaccessible by the python interface

get_SZ(self, alpha=None, beta=None)[source]

Get the S and Z matrices for a single orientation. From the stored T-matrix, this function calculates the S and Z matrices for a specific orientation as described in Mischenko (2000) AO “Calculation of the amplitude matrix for a nonspherical particle in a fixed orientation”

extinction_xsect(self)[source]

Calculates the total extinction cross section

scattering_xsect(self)[source]

Calculates the scattering cross section by integrating over the all the whole 4pi solid scattering angle

backscatter_xsect(self)[source]

Calculates the backscattering cross section for the current incident angle.