Module particles

Module particles 

Source
Expand description

Clusters of arbitrary spherical or cylindrical particle T-matrices.

Upstream: treams.TMatrix.cluster(tmats, positions).interaction.solve() and its TMatrixC twin. The gradients are a treams-rs extension.

Structsยง

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.

Enumsยง

ParticleExpansion ๐Ÿ”’

Functionsยง

couple ๐Ÿ”’
Solve the interaction of the local matrices through the singular expansion coupling. The solve owns the only coupling matrix; the expansion pullback needs just the geometry.
cylindrical_particle_cluster
Couple the cylindrical T-matrices of different particles with fixed axial mode labels and solve for the interacting T-matrix.
framed_state_size ๐Ÿ”’
The two sections have independent fixed layouts. Framing lets each component validate its complete byte count before restoring numerical arrays.
invalid_state ๐Ÿ”’
particle_cluster
Couple the spherical T-matrices of different particles in a common embedding medium and solve for the interacting T-matrix.
validate_particle_blocks ๐Ÿ”’