Welcome to treams’ documentation!¶
The package treams provides a framework to simplify computations of the electromagnetic scattering of waves at finite and periodically infinite arrangements of particles. All methods are suitable for the use of chiral materials. The periodic systems can have one-, two-, or three-dimensional lattices. The lattice computations are accelerated by converting the occurring slowly converging summations to exponentially fast convergent series.
To accommodate the periodic structures of different dimensionalities, three types of solutions to the vectorial Helmholtz equation are employed: plane waves, cylindrical waves, and spherical waves. For each of those solution sets, the typical manipulations, e.g. translations and rotations, are implemented, as well as transformations between them.
The package contains two subpackages: lattice
and special
. The former
contains mainly the functions for computing the lattice series. The latter can be seen
as an addition to the special functions implemented in scipy.special
. It
contains the mathematical functions that are typically necessary in T-Matrix method
computations.
Finally, three classes are the main point of interaction for the user. They allow access to the underlying functions operating directly on the spherical and cylindrical T-matrices or the S-matrices based on the plane wave solutions.
Features¶
T-matrix calculations using a spherical or cylindrical wave basis set
Calculations in helicity and parity (TE/TM) basis
Scattering from clusters of particles
Scattering from particles and clusters arranged in 3d-, 2d-, and 1d-lattices
Calculation of light propagation in stratified media
Band calculation in crystal structures