Module cluster

Module cluster 

Source
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:

SolverParticlesMethodUse it for
particle_cluster, cylindrical_particle_clusterany T-matricesdense LUthe full cluster T-matrix and gradients of the particle T-matrices and positions
sphere_clusterhomogeneous nonmagnetic spheres in vacuumdense LUthe full cluster T-matrix and gradients of radii, permittivities and positions
InteractionFactorany T-matrices, or the spheres of sphere_cluster_factordense LU, keptmany incident fields with one factorization
IterativeSphereClusterhomogeneous nonmagnetic spheres in vacuumGMRES, no dense matrixlarge 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-rstreams
particle_clusterTMatrix.cluster(tmats, positions).interaction.solve()
cylindrical_particle_clusterTMatrixC.cluster(tmats, positions).interaction.solve()
sphere_clusterthe same with TMatrix.sphere T-matrices
interaction()TMatrix.interaction.solve()
InteractionFactor, IterativeSphereClusternone

Modules§

interaction 🔒
Dense solves of (I - T C) X = T B through one LU factorization of I - 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§

IlluminateGradient
Gradients of the local T-matrix, the coupling and the incident fields of an IlluminateResidual.
IlluminateResidual
What InteractionFactor::record saves for its pullback: the shared factor and the total incident response B + C X and scattered fields of the requested columns.
InteractionFactor
The LU factorization of I - T C, kept with the local T-matrix T and the coupling C, for any number of incident-field solves.
InteractionGradient
Gradients of the inputs of interaction, in the order of its arguments.
InteractionResidual
What interaction saves for its pullback: the factorization of I - T C and the interacting T-matrix X.
IterativeGradient
Gradients of an IterativeResidual, without a dense coupling matrix or its gradient.
IterativeResidual
What IterativeSphereCluster::record saves for its pullback: the shared cluster, the incident fields, the GMRES options and the solution.
IterativeSolution
Scattered local multipoles for only the requested incident columns.
IterativeSphereCluster
The matrix-free counterpart of sphere_cluster: the same spheres, solved with GMRES for the requested incident columns only.
ParticleClusterGradient
Gradients of the inputs of particle_cluster and cylindrical_particle_cluster, in the order of their arguments: the local matrices, the positions of the basis and the wavenumbers.
ParticleClusterResidual
What particle_cluster and cylindrical_particle_cluster save for their pullback: the interaction solve, with one local block per particle, and the expansion residual of the coupling.
SphereClusterGradient
Gradients of the inputs of sphere_cluster, in the order of its arguments.
SphereClusterResidual
What sphere_cluster saves 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.