4.12.1.4. singleScattering.scatterer

scattering.scatterer.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/>.

This module implements the scatterer class which is the parent class for all of the specific scattering models. The parent scatterer class is intended to provide an abstraction layer or a common interface to the various scattering models.

4.12.1.4.1. Module Contents

4.12.1.4.1.1. Classes

Scatterer

Parent Scatterer class from which every scattering method inherits

Liu_DB

Parent Scatterer class from which every scattering method inherits

Hong_DB

Parent Scatterer class from which every scattering method inherits

Leinonen_DB

Parent Scatterer class from which every scattering method inherits

Aydin_DB

Parent Scatterer class from which every scattering method inherits

4.12.1.4.1.2. Attributes

light_speed

light_speed = 299792458.0[source]
class Scatterer(diameter=1.0, frequency=None, wavelength=None, refractive_index=None, dielectric_permittivity=None, alpha=0.0, beta=0.0, theta_inc=0.0, theta_sca=0.0, phi_inc=0.0, phi_sca=0.0, aspect_ratio=1, volume=-99)[source]

Bases: object

Parent Scatterer class from which every scattering method inherits

diameter

Equivalent size of the target in meters. The user should know how to properly define it.

frequency, wavelength

The frequency [Hz] or the wavelength [meters] of incident light, see set_electromagnetic_wave function for details.

refractive_index, dielectric_permittivity

The refractive index or the relative dielectric permittivity of the scattering target, see set_dielectric_properties for further details

alpha, beta, gamma

Euler angles of the particle orientation… … still do not know if I need all of them

theta_inc, theta_sca
phi_inc, phi_sca
makeArray(self, var)[source]
ravel_input(self)[source]
unravel_output(self)[source]
set_electromagnetic_wave(self, wavelength, frequency)[source]

Convenience setter of the properties of the incoming electromagnetic wave

This setter function resolve the ambiguity of specifing either wavelength or the frequency which should not be set indipendently in orderto avoid internal inconsistencies

Parameters
  • wavelength (scalar real wavelength [meters] of the incoming) – electromagnetic wave

  • frequency (scalar real frequency [Hz] of the incoming electromagnetic) – wave

set_dielectric_properties(self, refractive_index, dielectric_permittivity)[source]

Convenience setter of the dielectric properties of the scatterer instance

This setter resolve the ambiguity of specifing either dielectric permittivity or the refractive index of the medium which should not be set independently in order to avoid internal inconsistencies

Parameters
  • refractive_index (scalar complex refractive index [dimensionless] of) – the scattering target

  • dielectric_permittivity (scalar complex relative dielectric) – permittivity [dimensionless] of the scattering target

set_scattering_geometry(self, geometry)[source]

Convenience setter of the scattering geometry that takes as input a 4-element array containing all 4 incident and scattering angles

Any update of the geometry should call the scattering_angle function in order to correctly update this value

Parameters

geometry (A tuple of 6 elements containing (theta_inc, theta_sca,) – phi_inc, phi_sca, alpha, beta) [rad]

estimate_amplitude_matrix(self, S1, S2, S34, Ra, Rb)[source]
class Liu_DB[source]

Bases: Scatterer

Parent Scatterer class from which every scattering method inherits

diameter

Equivalent size of the target in meters. The user should know how to properly define it.

frequency, wavelength

The frequency [Hz] or the wavelength [meters] of incident light, see set_electromagnetic_wave function for details.

refractive_index, dielectric_permittivity

The refractive index or the relative dielectric permittivity of the scattering target, see set_dielectric_properties for further details

alpha, beta, gamma

Euler angles of the particle orientation… … still do not know if I need all of them

theta_inc, theta_sca
phi_inc, phi_sca
class Hong_DB[source]

Bases: Scatterer

Parent Scatterer class from which every scattering method inherits

diameter

Equivalent size of the target in meters. The user should know how to properly define it.

frequency, wavelength

The frequency [Hz] or the wavelength [meters] of incident light, see set_electromagnetic_wave function for details.

refractive_index, dielectric_permittivity

The refractive index or the relative dielectric permittivity of the scattering target, see set_dielectric_properties for further details

alpha, beta, gamma

Euler angles of the particle orientation… … still do not know if I need all of them

theta_inc, theta_sca
phi_inc, phi_sca
class Leinonen_DB[source]

Bases: Scatterer

Parent Scatterer class from which every scattering method inherits

diameter

Equivalent size of the target in meters. The user should know how to properly define it.

frequency, wavelength

The frequency [Hz] or the wavelength [meters] of incident light, see set_electromagnetic_wave function for details.

refractive_index, dielectric_permittivity

The refractive index or the relative dielectric permittivity of the scattering target, see set_dielectric_properties for further details

alpha, beta, gamma

Euler angles of the particle orientation… … still do not know if I need all of them

theta_inc, theta_sca
phi_inc, phi_sca
class Aydin_DB[source]

Bases: Scatterer

Parent Scatterer class from which every scattering method inherits

diameter

Equivalent size of the target in meters. The user should know how to properly define it.

frequency, wavelength

The frequency [Hz] or the wavelength [meters] of incident light, see set_electromagnetic_wave function for details.

refractive_index, dielectric_permittivity

The refractive index or the relative dielectric permittivity of the scattering target, see set_dielectric_properties for further details

alpha, beta, gamma

Euler angles of the particle orientation… … still do not know if I need all of them

theta_inc, theta_sca
phi_inc, phi_sca