Treams
Template:Short description Template:Draft topics Template:AfC topic Template:AfC submission Template:Draft article Template:Lowercase title Template:Infobox software
treams is an open-source software package for electromagnetic scattering calculations based on the T-matrix method. It is designed for finite and periodic arrangements of scatterers and for systems containing stratified media.[1]
Capabilities
treams can calculate electromagnetic scattering by homogeneous and multilayered spheres and by infinitely long cylinders, including multilayered cylinders. Several particles can be combined into finite clusters and treated within a multiple-scattering calculation. Objects are not restricted to the geometries implemented directly in the package: a T-matrix obtained elsewhere can also be supplied and used in calculations of fields, cross sections or clusters.
The package also supports periodic arrangements of particles in one, two and three spatial dimensions. Periodic arrays can be combined with multilayered substrates, and quantities such as transmission and reflection can be calculated. Fully periodic systems can also be used for calculations of photonic modes and band structures.[1][2]
For finite systems, treams provides scattered fields and quantities derived from them, including scattering, extinction and absorption cross sections. Vector spherical harmonics decompositions can be expressed in different bases, including helicity and parity (TE/TM) bases. Isotropic chiral media are supported directly, more general material responses can be included through externally supplied T-matrices.[1]
Method
In the T-matrix method, the response of an individual scatterer is represented by a matrix relating the expansion coefficients of an incident field to those of the scattered field. For systems containing several scatterers, their T-matrices are coupled through translations of the corresponding field expansions.[1]
Periodic calculations require sums over the repeated lattice. In treams these are evaluated with the Ewald method, which transforms slowly converging direct lattice sums into rapidly converging series. The implementation covers one-, two- and three-dimensional lattices and permits several interacting sublattices.[2]
Vector spherical and cylindrical waves are used for T-matrix representations, while vector plane waves and an S-matrix description are used for stratified systems.[1]
Applications
treams has been used for simulations of periodic nanophotonic structures and photonic band structures. In 2025, de Gaay Fortman et al. used it to calculate the dispersion of dense plasmonic lattices with supercell perturbations. The results were compared with COMSOL Multiphysics simulations and used in the interpretation of experimentally measured band structures.[3]
The software has also been discussed in the context of other multiple-scattering implementations. The 2024 release paper for Multem 3 cites treams as a related T-matrix code for electromagnetic scattering.[4]
The treams framework has also been adapted to other wave-scattering problems. acoustotreams, introduced in 2026, follows the same T-matrix and S-matrix approach for acoustic scattering by finite and periodic arrangements of particles.[5]
Implementation
treams is written in Python and Cython and is distributed under the MIT License.[1]
See also
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Beutel, Dominik; Fernandez-Corbaton, Ivan; Rockstuhl, Carsten (2024). "treams – a T-matrix-based scattering code for nanophotonics". Computer Physics Communications 297. doi:.
- ↑ 2.0 2.1 Beutel, Dominik; Fernandez-Corbaton, Ivan; Rockstuhl, Carsten (2023). "Unified lattice sums accommodating multiple sublattices for solutions of the Helmholtz equation in two and three dimensions". Physical Review A 107 (1). doi:.
- ↑ de Gaay Fortman, Nelson; Pal, Debapriya; Schall, Peter; Koenderink, A. Femius (2025). "Accessing Beyond-Light Line Dispersion and High-Q Resonances of Dense Plasmon Lattices by Bandfolding". ACS Photonics 12 (2): 1163–1173. doi:.
- ↑ Shalev, Artem; Ladutenko, Konstantin; Lobanov, Igor; Yannopapas, Vassilios; Moroz, Alexander (2024). "Multem 3: An updated and revised version of the program for transmission and band calculations of photonic crystals". Computer Physics Communications 301. doi:.
- ↑ Template:Cite arXiv