System of equations

CoupledDipole.propagator_freespace_labframe!Function
propagator_freespace_labframe!(A,
    kn, R::Vector{SVector{3}},
    AlphaBlocks::Vector{SMatrix{3,3}})

Interaction matrix

  • A: 3N_dip x 3N_dip interaction 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)
source
CoupledDipole.incident_field!Function
incident_field!(Ein,
    Ejones,
    kn, R::Vector{SVector{3}},
    IncidenceRotations)

Incident field at particle positions

  • Ein: 3N_dip x N_inc matrix, 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
source
CoupledDipole.polarisation!Function
polarisation!(P, E, AlphaBlocks)

Self-consistent dipole moments from the electric field, P = αE

  • P: 3N_dip x N_inc matrix, polarisations for all incidences
  • E: 3N_dip x N_inc matrix, total field for all incidences
  • AlphaBlocks: N_dip-vector of 3x3 Smatrices (polarisability tensors in the lab frame)
source