Expand description
Multiple scattering in clusters of particles: solves of (I - T C) X = T B.
Upstream: treams.TMatrix.cluster and treams.TMatrix.interaction.
T is the block-diagonal matrix of the particles’ own T-matrices, C couples
every pair of particles through the singular expansion between their centres,
and B holds incident fields, one column each. The scattered fields X follow
from one of four solvers:
| Solver | Particles | Method | Use it for |
|---|---|---|---|
particle_cluster, cylindrical_particle_cluster | any T-matrices | dense LU | the full cluster T-matrix and gradients of the particle T-matrices and positions |
sphere_cluster | homogeneous nonmagnetic spheres in vacuum | dense LU | the full cluster T-matrix and gradients of radii, permittivities and positions |
InteractionFactor | any T-matrices, or the spheres of sphere_cluster_factor | dense LU, kept | many incident fields with one factorization |
IterativeSphereCluster | homogeneous nonmagnetic spheres in vacuum | GMRES, no dense matrix | large clusters and few incident fields |
The dense solvers store C and its LU factors, n² entries for n modes in
total. IterativeSphereCluster stores only the geometry and the Mie
coefficients and applies C one particle pair at a time.
| treams-rs | treams |
|---|---|
particle_cluster | TMatrix.cluster(tmats, positions).interaction.solve() |
cylindrical_particle_cluster | TMatrixC.cluster(tmats, positions).interaction.solve() |
sphere_cluster | the same with TMatrix.sphere T-matrices |
interaction() | TMatrix.interaction.solve() |
InteractionFactor, IterativeSphereCluster | none |
Modules§
- interaction 🔒
- Dense solves of
(I - T C) X = T Bthrough one LU factorization ofI - T C. - iterative 🔒
- Matrix-free sphere clusters: GMRES solves for requested incident fields that never form the coupling matrix. treams-rs extension.
- particles 🔒
- Clusters of arbitrary spherical or cylindrical particle T-matrices.
- spheres 🔒
- Dense clusters of homogeneous nonmagnetic spheres in vacuum, with gradients of the radii, permittivities and positions.
Structs§
- Illuminate
Gradient - Gradients of the local T-matrix, the coupling and the incident fields of an
IlluminateResidual. - Illuminate
Residual - What
InteractionFactor::recordsaves for its pullback: the shared factor and the total incident responseB + C Xand scattered fields of the requested columns. - Interaction
Factor - The LU factorization of
I - T C, kept with the local T-matrixTand the couplingC, for any number of incident-field solves. - Interaction
Gradient - Gradients of the inputs of
interaction, in the order of its arguments. - Interaction
Residual - What
interactionsaves for its pullback: the factorization ofI - T Cand the interacting T-matrixX. - Iterative
Gradient - Gradients of an
IterativeResidual, without a dense coupling matrix or its gradient. - Iterative
Residual - What
IterativeSphereCluster::recordsaves for its pullback: the shared cluster, the incident fields, the GMRES options and the solution. - Iterative
Solution - Scattered local multipoles for only the requested incident columns.
- Iterative
Sphere Cluster - The matrix-free counterpart of
sphere_cluster: the same spheres, solved with GMRES for the requested incident columns only. - Particle
Cluster Gradient - Gradients of the inputs of
particle_clusterandcylindrical_particle_cluster, in the order of their arguments: the local matrices, the positions of the basis and the wavenumbers. - Particle
Cluster Residual - What
particle_clusterandcylindrical_particle_clustersave for their pullback: the interaction solve, with one local block per particle, and the expansion residual of the coupling. - Sphere
Cluster Gradient - Gradients of the inputs of
sphere_cluster, in the order of its arguments. - Sphere
Cluster Residual - What
sphere_clustersaves for its pullback: the Mie residual of each sphere, the translation plan between two spheres, the positions and the interaction solve.
Functions§
- cylindrical_
particle_ cluster - Couple the cylindrical T-matrices of different particles with fixed axial mode labels and solve for the interacting T-matrix.
- interaction
- Solve a multiple-scattering system for the interacting T-matrix
X = (I - T C)⁻¹ T, keeping its LU factorization for the pullback. - particle_
cluster - Couple the spherical T-matrices of different particles in a common embedding medium and solve for the interacting T-matrix.
- sphere_
cluster - Solve a finite cluster of homogeneous, nonmagnetic spheres in vacuum.
- sphere_
cluster_ factor - Assemble and factor a sphere cluster for repeated requested illuminations.