Laser

Laser#

class Laser(options)#

Bases: matlab.mixin.Heterogeneous, handle

Laser specifies monochromatic laser parameters and derived quantities.

Stores wavelength/frequency, polarization, direction/angles, phase, intensity and power. Provides dependent properties (e.g., Wavevector, AngularFrequency) and helpers (spacePhaseFunc(), timePhaseFunc(), spaceTimePhaseFunc(), rotate(), rotateToAngle()).

Example:

l = Laser(frequency=3.84e14, polarization=[1;0;0], direction=[0;0;1]);
k = l.AngularWavevector;  % [rad/m]
f = l.timePhaseFunc();    % function_handle for :math:`e^{i \omega t}`
Constructor Summary
Laser(options)#

Construct a Laser.

Parameters:
  • frequency (double, optional) – Linear frequency \(f\) [Hz] (sets \(\lambda\))

  • wavelength (double, optional) – Wavelength \(\lambda\) [m] (sets \(f\))

  • polarization (double(3,1), optional) – Jones vector \((E_x,E_y,E_z)\)

  • phase (double, optional) – Optical phase \(\phi\) [rad]

  • direction (double(3,1), optional) – Propagation direction unit vector \((x,y,z)\)

  • angle (double(1,2), optional) – Spherical angles \((\theta,\phi)\) [rad]

  • intensity (double, optional) – Intensity \(I\) [W/m^2]

  • power (double, optional) – Power \(P\) [W]

Property Summary
Angle (1,2) double = [0,0]#

Spherical angles \((\theta,\phi)\) in [rad]

AngularFrequency#

\(\omega = 2\pi f\) [rad/s]

AngularWavenumber#

\(k = 2\pi/\lambda\) [rad/m]

AngularWavevector#

\(\mathbf{k} = k\, \hat{\mathbf{k}}\) [rad/m]

Direction (3,1) double = [0;0;1]#

Propagation unit vector \(\hat{\mathbf{k}} = (x,y,z)\)

ElectricFieldAmplitude#

Field amplitude \(|E| = \sqrt{2 Z_0 I}\) in [V/m]

Frequency (1,1) double = NaN#

Linear frequency \(f\) in [Hz]

Intensity double = NaN#

Intensity \(I\) in [W/m^2]

IntensityLu#

Intensity in [mW/cm^2]

Phase (1,1) double = 0#

Optical phase \(\phi\) in [rad]

Polarization (3,1) double = [1;0;0]#

Jones polarization vector \((E_x,E_y,E_z)\). The definition here is the conjugate of wiki’s

Power double = NaN#

Optical power \(P\) in [W]

Wavelength (1,1) double = NaN#

Wavelength \(\lambda\) in [m]

WavelengthInAir#

\(\lambda_{\mathrm{air}}\) in [m]

Wavenumber#

\(k_0 = 1/\lambda\) [1/m]

Wavevector#

\(\mathbf{k}_0 = k_0\, \hat{\mathbf{k}}\) [1/m]

Method Summary
rotate(eul)#

Rotate direction and polarization by ZYZ Euler angles.

Parameters:

eul (double(1,3)) – Euler angles \([\alpha,\beta,\gamma]\) (ZYZ) in radians

Returns:

Self-reference

Return type:

Laser

rotateToAngle(angle)#

Rotate to target spherical angles \([\theta,\phi]\).

Parameters:

angle (double(1,2)) – \([\theta,\phi]\) in radians

Returns:

Self-reference

Return type:

Laser

spacePhaseFunc()#

Build \(e^{i(\phi - \mathbf{k}\cdot \mathbf{r})}\) phase function of space.

Returns:

function handle mapping position \(\mathbf{r}\) to phase factor

Return type:

function_handle

spaceTimePhaseFunc()#

Build \(e^{i(\omega t + \phi - \mathbf{k}\cdot \mathbf{r})}\) phase function.

Returns:

function handle mapping (\(\mathbf{r},t\)) to phase factor

Return type:

function_handle

timePhaseFunc()#

Build \(e^{i \omega t}\) phase function of time.

Returns:

function handle mapping \(t\) to phase factor

Return type:

function_handle