System of equations
CoupledDipole.interaction_matrix_labframe! — Functioninteraction_matrix_labframe!(A,
    kn, R::Vector{SVector{3}},
    AlphaBlocks::Vector{SMatrix{3,3}})Interaction matrix
- A:- 3N_dip x 3N_dipinteraction matrix
- kn: wavenumber in incident medium
- R:- N_dip-vector of 3-Svectors of particle positions
- AlphaBlocks:- N_dip-vector of 3x3 Smatrices (polarisability tensors in the lab frame)
CoupledDipole.incident_field! — Functionincident_field!(Ein,
    Ejones,
    kn, R::Vector{SVector{3}},
    IncidenceRotations)Incident field at particle positions
- Ein:- 3N_dip x N_incmatrix, right-hand side of coupled-dipole system
- Ejones: tuple of 2 2-Svectors defining 2 orthogonal Jones polarisations
- kn: wavenumber in incident medium
- R:- N_dip-vector of 3-Svectors of particle positions
- IncidenceRotations:- N_inc-vector of rotation 3-Smatrices
CoupledDipole.polarisation! — Functionpolarisation!(P, E, AlphaBlocks)Self-consistent dipole moments from the electric field, P = αE
- P:- 3N_dip x N_incmatrix, polarisations for all incidences
- E:- 3N_dip x N_incmatrix, total field for all incidences
- AlphaBlocks:- N_dip-vector of 3x3 Smatrices (polarisability tensors in the lab frame)