Reference#

TREAMS: T-Matrix scattering code for nanophotonic computations.

Classes#

The top-level classes and functions allow a high-level access to the functionality.

Basis sets#

CylindricalWaveBasis(modes[, positions])

Basis of cylindrical waves.

PlaneWaveBasisByUnitVector(modes)

Plane wave basis.

PlaneWaveBasisByComp(modes[, alignment])

Partial plane wave basis.

SphericalWaveBasis(modes[, positions])

Basis of spherical waves.

Matrices and Arrays#

PhysicsArray(arr[, ann])

Physics-aware array.

SMatrix(arr[, ann])

S-matrix for a plane wave.

SMatrices(smats, **kwargs)

Collection of four S-matrices with a plane wave basis.

TMatrix(arr[, ann])

T-matrix with a spherical basis.

TMatrixC(arr[, ann])

T-matrix with a cylindrical basis.

Other#

Lattice(arr[, alignment])

Lattice definition.

Material([epsilon, mu, kappa])

Material definition.

Functions#

bfield(r, *, basis[, k0, material, ...])

Magnetic flux density.

changepoltype([poltype, where])

Matrix to change polarization types.

chirality_density(basis, k0[, material, ...])

dfield(r, *, basis, k0[, material, ...])

Displacement field.

efield(r, *, basis, k0[, material, ...])

Electric field.

expand(basis[, modetype, k0, material, ...])

Expansion matrix.

expandlattice([lattice, kpar, basis, ...])

Expansion matrix in lattices.

hfield(r, *, basis, k0[, material, ...])

Magnetic field.

permute([n, k0, material, modetype, poltype])

Permutation matrix.

plane_wave(kvec, pol, *[, k0, basis, ...])

Array describing a plane wave.

rotate(phi[, theta, psi, where])

Rotation matrix.

translate(r, *, basis[, k0, material, ...])

Translation matrix.

Modules#

These modules provide basic functionality for transformations within one basis set, i.e. one module, like translations and rotations as well as transformations among them. The functions in there provide an intermediate stage between the purely mathematical functions found in the two subpackages lattice and special and the higher-level classes and functions.

sw

Spherical wave module.

cw

Cylindrical wave module.

pw

Plane wave module.

This module is for loading and storing data in HDF5 files and also for creating meshes of sphere ensembles.

io

Loading and storing data.

Finally, two modules for calculating scattering coefficients and doing miscellaneous tasks.

coeffs

Scattering coefficients for high-symmetry cases.

misc

Miscellaneous functions.

Global configuration variables are stored in

config

Configuration.

Some convenience classes for the implementation are defined in

util

Utilities.

Subpackages#

These subpackages allow a low-level access to the implementation of the lattice sums and mathematical functions

lattice

Lattice sums.

special

Special (mathematical) functions.

Internal#

These modules contain internal functions and classes that are not intended for the enduser. Nonetheless, they are documented here for the sake of completeness and to allow for an easier understanding and further development of the code.

_core

Basis sets and core array functionalities.

_operators

Operators for common transformations including different types of waves.