# Far field cross-sections

### Extinction

The extinction cross-section may be obtained from the optical theorem as the interference between incident and scattered fields,

\[\sigma_\text{ext} = 4\pi\kappa^{-1} k_1 \Im\left(\mathbf{P} \cdot \mathbf{E_\text{inc}}^* \right).\]

`CoupledDipole.extinction!`

— Function`extinction(kn::Real, P::Array{Complex}, Ein::Array{Complex})`

Extinction cross-section for each incident angle

`kn`

: wavenumber in incident medium`P`

:`3N_dip x N_inc`

matrix, polarisations for all incidences`Ein`

:`3N_dip x N_inc`

matrix, incident field for all incidences

### Absorption

The absorption cross-section is obtained by evaluating the work done by the total field, (but excluding self-reaction), on the dipoles:

\[\sigma_\text{abs} = 4\pi \kappa^{-1} k_1 \left[\Im\left(\mathbf{P} \cdot \mathbf{E}^* \right) - \frac 2 3 \kappa^{-1} k_1^3 |\mathbf{P}|^2\right].\]

`CoupledDipole.absorption!`

— Function`absorption(kn::Real, P::Array{Complex}, E::Array{Complex})`

Absorption cross-section for each incident angle

`kn`

: wavenumber in incident medium`P`

:`3N_dip x N_inc`

matrix, polarisations for all incidences`E`

:`3N_dip x N_inc`

matrix, total field for all incidences

### Scattering

The scattering cross-section can be computed in two ways:

- as the difference between extinction and absorption
- by integrating the flux of the Poynting vector over all scattering directions in the far-field.

Comparing both results might be useful as a consistency check.

\[\sigma_\text{sca} = \kappa^{-2} k_1^4 \iint_\Omega \left|\sum_i \left(\mathbb{I} - \mathbf{\hat n}\otimes\mathbf{\hat n}\right) \mathbf{P}_i \mathrm{exp}(-ik_1 \mathbf{r}_i\cdot\mathbf{\hat n})\right|^2 \text{d}\Omega.\]

`CoupledDipole.scattering!`

— Function`scattering(positions::Vector{SVector{3}}, ScatteringVectors::Vector{SVector{3}}, weights::Vector{Real}, kn::Real, P::Array{Complex})`

Scattering cross-section for each incident angle, obtained by numerical cubature over the full solid angle of scattering directions

`positions`

: vector of cluster particle positions`ScatteringProjectorz`

:`N_inc`

-vector of far-field directions`weights`

:`N_inc`

-vector of cubature weights`kn`

: wavenumber in incident medium`P`

:`3N_dip x N_inc`

matrix, polarisations for all incidences