Jump to content

Treams: Difference between revisions

From IdeaWazaWiki
→Applications: added one application
remove deletion notice
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Open-source software for electromagnetic scattering calculations}}
{{Draft topics|computing|physics}}
{{Draft topics|computing|physics}}
{{AfC topic|stem}}
{{AfC topic|stem}}
{{AfC submission|||ts=20260924090241|u=Posolubile|ns=118}}
 
{{Draft article}}
{{Draft article}}
{{lowercase title}}
 
{{Infobox software
{{Infobox software
| name = treams
| name = ''treams''
| author = Dominik Beutel
| author = Dominik Beutel
| developer = Dominik Beutel, Ivan Fernandez-Corbaton, [[Carsten Rockstuhl]]
| developer = Dominik Beutel, Ivan Fernandez-Corbaton, [[Carsten Rockstuhl]]
| programming_language = [[Python (programming language)|Python]], [[Cython]]
| programming_language = [[Python (programming language)|Python]], [[Cython]]
| genre = [[Computational electromagnetics]]
| license = [[MIT License]]
| license = [[MIT License]]
| website = {{URL|https://tfp-photonics.github.io/treams/}}
| website = {{URL|https://tfp-photonics.github.io/treams/}}
| repo = {{URL|https://github.com/tfp-photonics/treams}}
}}
}}


'''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.<ref name="Beutel2024">{{cite journal
'''treams''' is an [[open-source software]] package for calculations of [[electromagnetic scattering]] based on the [[T-matrix method]]. It can be used for finite and periodic arrangements of scatterers of different schapes.<ref name="Beutel2024">{{cite journal
| last1 = Beutel
| last1 = Beutel
| first1 = Dominik
| first1 = Dominik
Line 33: Line 30:
== Capabilities ==
== 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.
treams computes T-matrices analyticalaly for spheres and for infinitely long cylinders, including multilayered spheres and cylinders. It can also import external T-matrices, e.g. from T-matrix database<ref name="Asadova2026">{{cite arXiv
| last1 = Asadova
| first1 = Nigar
| last2 = Boussaoud
| first2 = Kaoutar
| last3 = Meyer
| first3 = Jörg
| last4 = Tristram
| first4 = Frank
| last5 = Rockstuhl
| first5 = Carsten
| title = A T-matrix database to promote information-driven research in nanophotonics
| eprint = 2602.02101
| class = physics.optics
| year = 2026
}}</ref>. If the T-matrices of single scatterers are known, T-matrices of corresponding clusters and periodic arrays of these scatterers can be also calculated. Then the quantities such as fields outside the structures, scattering, extinction and absorption cross-sections, multipolar decompositions may be extracted. <ref name="Beutel2024" />


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.<ref name="Beutel2024" /><ref name="Beutel2023" />
Periodic systems can be considered in different dimensions. Particle arrays can be placed near multilayered substrates, for which transmission and reflection can be calculated. Fore some geometries, the package can be also used to compute band structures.<ref name="Beutel2024" /><ref name="Beutel2023" />


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.<ref name="Beutel2024" />
Isotropic chiral media are implemented directly, and scatterers from anisotropic material can be introduced through externally calculated T-matrices.<ref name="Beutel2024" />


== Method ==
== 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.<ref name="Beutel2024" />
In the [[T-matrix method]], incident and scattered fields are expanded into a set of basis functions. Fields expanded into [[vector spherical harmonics]] can be represented in helicity or parity (TE/TM) bases, also cylindrical harmonics basis and plane wave basis are available. The T-matrix of a nanostructure connects the coefficients of the incident field with those of the scattered field. For clusters and arrays, the fields scattered by one particle act as incident fields for the others, and the basis change is performed using translation addition theorems<ref>{{cite journal|first1=R. C.|last1=Wittmann|doi=10.1109/8.7220|title=Spherical wave operators and the translation formulas|journal=IEEE Transactions on Antennas and Propagation|volume=36|number=8|pages=1078–1087|year=1988|bibcode=1988ITAP...36.1078W |url=https://zenodo.org/record/1262852 }}</ref><ref name="Beutel2024" />


Periodic calculations require sums over the repeated lattice. In treams these are evaluated with the [[Ewald summation|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.<ref name="Beutel2023">{{cite journal
For periodic systems, the same interaction has to be summed over the repeated lattice. treams evaluates these sums using the [[Ewald summation|Ewald method]]. <ref>V. E. Babicheva, A. B. Evlyukhin, ''Mie-resonant metaphotonics'', ''Advances in Optics and Photonics'' '''16''', 539–658 (2024), https://doi.org/10.1364/AOP.510826.</ref><ref name="Beutel2023">{{cite journal
| last1 = Beutel
| last1 = Beutel
| first1 = Dominik
| first1 = Dominik
Line 58: Line 70:
| doi = 10.1103/PhysRevA.107.013508
| doi = 10.1103/PhysRevA.107.013508
}}</ref>
}}</ref>
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.<ref name="Beutel2024" />


== Applications ==
== Applications ==
 
treams has been used for dispersion and band-structure calculations in periodic plasmonic lattices,<ref>N. de Gaay Fortman, D. Pal, P. Schall, A. F. Koenderink, ''ACS Photonics'' '''12''', 1163–1173 (2025), {{doi|10.1021/acsphotonics.4c02323}}.</ref> for the electromagnetic response of metasurfaces coupled to quantum-emitter arrays,<ref>F. Lindel, C. J. Sánchez Martínez, J. Feist, F. J. García-Vidal, ''Phys. Rev. Lett.'' '''137''', 103802 (2026), {{doi|10.1103/71nx-b83j}}.</ref> and for reflectance calculations of transition-metal dichalcogenide nanosphere arrays.<ref>I. J. Bundgaard, C. G. Ferreira, Y. Lebsir, C. Tserkezis, ''ACS Appl. Nano Mater.'' '''9''', 16632–16642 (2026), {{doi|10.1021/acsanm.6c01961}}.</ref> It has also been discussed in comparison with other multiple-scattering codes such as ''Multem 3''<ref>A. Shalev, K. Ladutenko, I. Lobanov, V. Yannopapas, A. Moroz, ''Comput. Phys. Commun.'' '''301''', 109218 (2024), {{doi|10.1016/j.cpc.2024.109218}}.</ref> and described as a T-matrix toolkit for periodic structures in a paper on ''TorchGDM'', which also uses an interface to ''treams'' for T-matrix- and Mie-based effective-model construction.<ref>S. Ponomareva, A. Patoux, C. Majorel, A. Azéma, A. Cuche, C. Girard, A. Arbouet, P. R. Wiecha, ''SciPost Phys. Codebases'' '''60''' (2025), https://scipost.org/SciPostPhysCodeb.60.</ref> An acoustic implementation, ''acoustotreams'', was introduced in 2026.<ref>N. Ustimenko, C. Rockstuhl, ''acoustotreams – A Python package for acoustic-wave scattering based on the T-matrix method'', arXiv:2606.22573 (2026).</ref>
treams has been applied to 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 calculations were compared with [[COMSOL Multiphysics]] simulations and used to interpret experimentally measured band structures.<ref name="Fortman2025">{{cite journal
| last1 = de Gaay Fortman
| first1 = Nelson
| last2 = Pal
| first2 = Debapriya
| last3 = Schall
| first3 = Peter
| last4 = Koenderink
| first4 = A. Femius
| title = Accessing Beyond-Light Line Dispersion and High-Q Resonances of Dense Plasmon Lattices by Bandfolding
| journal = ACS Photonics
| volume = 12
| issue = 2
| pages = 1163–1173
| year = 2025
| doi = 10.1021/acsphotonics.4c02323
}}</ref>
 
In quantum nanophotonics, Lindel ''et al.'' employed treams to obtain the reciprocal-space electromagnetic response and structure-enhanced driving fields of periodic metasurfaces coupled to arrays of quantum emitters.<ref name="Lindel2026">{{cite journal
| last1 = Lindel
| first1 = Frieder
| last2 = Sánchez Martínez
| first2 = Carlos J.
| last3 = Feist
| first3 = Johannes
| last4 = García-Vidal
| first4 = Francisco J.
| title = Close Encounters between Periodic Light and Periodic Arrays of Quantum Emitters
| journal = Physical Review Letters
| volume = 137
| issue = 10
| article-number = 103802
| year = 2026
| doi = 10.1103/71nx-b83j
}}</ref>
 
Bundgaard ''et al.'' used the package to calculate T- and S-matrices and reflectance spectra of periodic arrays of transition-metal dichalcogenide nanospheres in a study of electrically tunable structural colors.<ref name="Bundgaard2026">{{cite journal
| last1 = Bundgaard
| first1 = Ida Juliane
| last2 = Ferreira
| first2 = Catarina G.
| last3 = Lebsir
| first3 = Yonas
| last4 = Tserkezis
| first4 = Christos
| title = Exploring Transition Metal Dichalcogenide Nanostructures for Electrically Tunable Structural Colors
| journal = ACS Applied Nano Materials
| volume = 9
| issue = 35
| pages = 16632–16642
| year = 2026
| doi = 10.1021/acsanm.6c01961
}}</ref>
 
The software has also been discussed in the context of other multiple-scattering implementations. The 2024 release paper for ''Multem 3'' identifies treams as a T-matrix-based electromagnetic scattering code and discusses its lattice-summation approach.<ref name="Shalev2024">{{cite journal
| last1 = Shalev
| first1 = Artem
| last2 = Ladutenko
| first2 = Konstantin
| last3 = Lobanov
| first3 = Igor
| last4 = Yannopapas
| first4 = Vassilios
| last5 = Moroz
| first5 = Alexander
| title = Multem 3: An updated and revised version of the program for transmission and band calculations of photonic crystals
| journal = Computer Physics Communications
| volume = 301
| article-number = 109218
| year = 2024
| doi = 10.1016/j.cpc.2024.109218
}}</ref>
 
The framework has further been adapted to acoustic scattering. ''acoustotreams'', introduced in 2026, uses the corresponding T-matrix and S-matrix formulation for finite and periodic arrangements of acoustic scatterers and for stratified media.<ref name="Ustimenko2026">{{cite arXiv
| last1 = Ustimenko
| first1 = Nikita
| last2 = Rockstuhl
| first2 = Carsten
| title = acoustotreams – A Python package for acoustic-wave scattering based on the T-matrix method
| eprint = 2606.22573
| class = physics.class-ph
| year = 2026
}}</ref>
 
== Implementation ==
 
treams is written in [[Python (programming language)|Python]] and [[Cython]] and is distributed under the [[MIT License]].<ref name="Beutel2024" />


== See also ==
== See also ==
* [[T-matrix method]]
* [[T-matrix method]]
* [[Mie scattering]]
* [[Mie scattering]]

Latest revision as of 02:48, 2 October 2026

Template:Draft topics Template:AfC topic

Template:Draft article

Template:Infobox software

treams is an open-source software package for calculations of electromagnetic scattering based on the T-matrix method. It can be used for finite and periodic arrangements of scatterers of different schapes.[1]

Capabilities

treams computes T-matrices analyticalaly for spheres and for infinitely long cylinders, including multilayered spheres and cylinders. It can also import external T-matrices, e.g. from T-matrix database[2]. If the T-matrices of single scatterers are known, T-matrices of corresponding clusters and periodic arrays of these scatterers can be also calculated. Then the quantities such as fields outside the structures, scattering, extinction and absorption cross-sections, multipolar decompositions may be extracted. [1]

Periodic systems can be considered in different dimensions. Particle arrays can be placed near multilayered substrates, for which transmission and reflection can be calculated. Fore some geometries, the package can be also used to compute band structures.[1][3]

Isotropic chiral media are implemented directly, and scatterers from anisotropic material can be introduced through externally calculated T-matrices.[1]

Method

In the T-matrix method, incident and scattered fields are expanded into a set of basis functions. Fields expanded into vector spherical harmonics can be represented in helicity or parity (TE/TM) bases, also cylindrical harmonics basis and plane wave basis are available. The T-matrix of a nanostructure connects the coefficients of the incident field with those of the scattered field. For clusters and arrays, the fields scattered by one particle act as incident fields for the others, and the basis change is performed using translation addition theorems[4][1]

For periodic systems, the same interaction has to be summed over the repeated lattice. treams evaluates these sums using the Ewald method. [5][3]

Applications

treams has been used for dispersion and band-structure calculations in periodic plasmonic lattices,[6] for the electromagnetic response of metasurfaces coupled to quantum-emitter arrays,[7] and for reflectance calculations of transition-metal dichalcogenide nanosphere arrays.[8] It has also been discussed in comparison with other multiple-scattering codes such as Multem 3[9] and described as a T-matrix toolkit for periodic structures in a paper on TorchGDM, which also uses an interface to treams for T-matrix- and Mie-based effective-model construction.[10] An acoustic implementation, acoustotreams, was introduced in 2026.[11]

See also

References

  1. ↑ 1.0 1.1 1.2 1.3 1.4 Beutel, Dominik; Fernandez-Corbaton, Ivan; Rockstuhl, Carsten (2024). "treams – a T-matrix-based scattering code for nanophotonics". Computer Physics Communications 297. doi:10.1016/j.cpc.2023.109076. 
  2. ↑ Template:Cite arXiv
  3. ↑ 3.0 3.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:10.1103/PhysRevA.107.013508. 
  4. ↑ Wittmann, R. C. (1988). "Spherical wave operators and the translation formulas". IEEE Transactions on Antennas and Propagation 36 (8): 1078–1087. doi:10.1109/8.7220. Bibcode: 1988ITAP...36.1078W. https://zenodo.org/record/1262852. 
  5. ↑ V. E. Babicheva, A. B. Evlyukhin, Mie-resonant metaphotonics, Advances in Optics and Photonics 16, 539–658 (2024), https://doi.org/10.1364/AOP.510826.
  6. ↑ N. de Gaay Fortman, D. Pal, P. Schall, A. F. Koenderink, ACS Photonics 12, 1163–1173 (2025), Template:Doi.
  7. ↑ F. Lindel, C. J. Sánchez Martínez, J. Feist, F. J. García-Vidal, Phys. Rev. Lett. 137, 103802 (2026), Template:Doi.
  8. ↑ I. J. Bundgaard, C. G. Ferreira, Y. Lebsir, C. Tserkezis, ACS Appl. Nano Mater. 9, 16632–16642 (2026), Template:Doi.
  9. ↑ A. Shalev, K. Ladutenko, I. Lobanov, V. Yannopapas, A. Moroz, Comput. Phys. Commun. 301, 109218 (2024), Template:Doi.
  10. ↑ S. Ponomareva, A. Patoux, C. Majorel, A. Azéma, A. Cuche, C. Girard, A. Arbouet, P. R. Wiecha, SciPost Phys. Codebases 60 (2025), https://scipost.org/SciPostPhysCodeb.60.
  11. ↑ N. Ustimenko, C. Rockstuhl, acoustotreams – A Python package for acoustic-wave scattering based on the T-matrix method, arXiv:2606.22573 (2026).