Polarization#

class LeftCircular#

Bases: PolarizationState

Left circular polarization state. This class represents a left circular polarization state, where the electric field rotates in a left-handed manner as it propagates. It can be initialized with an optional angle in radians to specify the orientation of the polarization.

__init__(self: PyMieSim.polarization.LeftCircular) → None#
class PolarizationState#

Bases: pybind11_object

Polarization state binding for PyMieSim. This class represents the polarization state of the source in PyMieSim. It can be initialized either with a Jones vector or with an angle in radians.

__init__(*args, **kwargs)#

Overloaded function.

  1. __init__(self: PyMieSim.polarization.PolarizationState, jones_vector: collections.abc.Sequence[complex | typing.SupportsComplex | typing.SupportsFloat | typing.SupportsIndex]) -> None

    Initializes the polarization state using a Jones vector. The Jones vector should be a list or array of two complex numbers representing the x and y components of the electric field, respectively.

    param jones_vector:

    Two complex electric-field components along x and y.

    type jones_vector:

    list or numpy.ndarray

    For example, PolarizationState(jones_vector=[1+0j, 0+1j]).

  2. __init__(self: PyMieSim.polarization.PolarizationState, angle: object) -> None

    Initializes the polarization state using an angle in radians. Zero radians gives linear polarization along x; pi/4 radians gives linear polarization at 45 degrees.

    param angle:

    Linear polarization orientation, carrying angular units.

    type angle:

    pint.Quantity

class RightCircular#

Bases: PolarizationState

Right circular polarization state. This class represents a right circular polarization state, where the electric field rotates in a right-handed manner as it propagates. It can be initialized with an optional angle in radians to specify the orientation of the polarization.

__init__(self: PyMieSim.polarization.RightCircular) → None#