Sources#

class PlaneWave#

Bases: BaseSource

Monochromatic plane wave source.

This source models a spatially uniform incident field with a specified wavelength, polarization, and electric field amplitude.

add_to_scene(self: PyMieSim.single.source.BaseSource, scene: object, **kwargs) None#
property amplitude#

Electric field amplitude.

Returns:

Field amplitude with units of electric field (V/m).

Return type:

pint.Quantity

property polarization#

Convenience Jones vector.

Returns the first row of polarization_element as a vector [Ex, Ey].

Returns:

Complex array of shape (2,).

Return type:

numpy.ndarray

property wavelength#

Wavelength in vacuum.

Returns:

Wavelength with units of length.

Return type:

pint.Quantity

property wavenumber_vacuum#

Vacuum wavenumber.

This is defined as k0 = 2*pi / wavelength.

Returns:

Wavenumber with units of inverse length.

Return type:

pint.Quantity

class Gaussian#

Bases: BaseSource

Monochromatic Gaussian beam source.

This source models a diffraction limited Gaussian beam characterized by its wavelength, polarization, numerical aperture, and optical power.

Notes

The numerical_aperture is treated as dimensionless and is used to derive the beam waist and related quantities in the C++ implementation.

add_to_scene(self: PyMieSim.single.source.BaseSource, scene: object, **kwargs) None#
property amplitude#

Electric field amplitude.

Returns:

Field amplitude with units of electric field (V/m).

Return type:

pint.Quantity

property area#

Effective beam area.

Returns:

Area with units of square length.

Return type:

pint.Quantity

property numerical_aperture#

Numerical aperture.

Returns:

Dimensionless numerical aperture.

Return type:

pint.Quantity

property optical_power#

Optical power.

Returns:

Optical power with units of watts.

Return type:

pint.Quantity

property peak_intensity#

Peak on axis intensity.

Returns:

Peak intensity with units of power per area.

Return type:

pint.Quantity

property polarization#

Convenience Jones vector.

Returns the first row of polarization_element as a vector [Ex, Ey].

Returns:

Complex array of shape (2,).

Return type:

numpy.ndarray

property waist#

Beam waist radius.

Returns:

Waist radius with units of length.

Return type:

pint.Quantity

property wavelength#

Wavelength in vacuum.

Returns:

Wavelength with units of length.

Return type:

pint.Quantity

property wavenumber_vacuum#

Vacuum wavenumber.

This is defined as k0 = 2*pi / wavelength.

Returns:

Wavenumber with units of inverse length.

Return type:

pint.Quantity