planeWave
The planeWave
class applies the Multipoles
class to model plane waves, that can be used for interactions with a
spherical scatterer. It computes multipolar field contributions for
specified polarizations (linear or circular) and supports visualization
of field components or total intensity. The implementation uses vector
spherical harmonics and sets beam coefficients to unity for plane waves,
simplifying the multipolar expansion.
Creating an instance of the planeWave
class initializes
the beam parameters, spherical coordinate grids, and multipolar
coefficients. It inherits from the Multipoles
class, using
its parameters (l_max
, m_max
, wl
,
domain
, nr
, radius
) and sets up
the plane wave properties with a fixed maxJ = 40
for a good
approximation.
planeWave(wavelength, domain, polarization="x")
float — wavelength of the incident beam (in microns).
domain_class
object — spatial domain for field
evaluation.
str — polarization type: "x"
, "y"
,
"left circular"
, or "right circular"
. Defaults
to "x"
.
Computes the total multipolar field for the plane wave by summing over
\(j\)-indexed electric and magnetic
multipole contributions: \[A =
\sum_{j=1}^{{\text{max}_j}} i^j \sqrt{2j+1} \left[ A_{j m_z}^{(m)} + i p
A_{j m_z}^{(e)} \right]\] where \(A_{j
m_z}^{(e/m)}\) are computed using get_multipoles()
with the selected spatial_fun
("bessel"
,
"hankel"
, etc.).
Returns the analytic field profile for a plane wave with given
polarization in the circular or Cartesian basis, e.g. \(A=\exp{ikz}\mathbf{e_x}\) for polarization
in \(x\). Used for visualization and
comparison. Also returns labels for the field components.
Visualizes the real part of the plane wave field across all defined
planes (to confirm oscillations in the direction of propagation instead
of a constant value). Can display:
Individual components: plot="components"
Total intensity: plot="total"
The globalnorm
flag sets whether all plots share a
common color scale.
The class currently supports polarizations: "x"
,
"y"
, "left circular"
, and
"right circular"
.