# AstigmaticGaussianBeam

This class implements the simple astigmatic Gaussian beam described in Kochkina et al., Applied Optics, vol. 52, issue 24, 2013. The simple astigmatic Guassian distribution allows both an elliptical intensity profile and different waist locations for the two principal axes of the ellipse. When equal waist sizes and equal waist distances are specified in the two directions, this source becomes equivalent to GaussianBeam.

# Name

name: Optional name for the source.

# Source Region

Specification of the source region.

# Center + size

Object definition through a center position and size.

center: Center of the object in x, y, and z-directions.

Type: floating-point number

  • Unit: m, μm (default), or nm
  • Default: (0, 0, 0)

size: Size of the object in x, y, and z-directions.

Use Infinity to define a geometry extending to infinity in both directions along an axis.

Type: floating-point number

  • Unit: m, μm (default), or nm
  • Constraint: greater than or equal to 0
  • Required field

# Bounds

Object definition through minimum and maximum coordinate bounds.

min: Values of the x, y, and z coordinates defining the object lower corner.

Type: floating-point number

  • Unit: m, μm (default), or nm
  • Required field

max: Values of the x, y, and z coordinates defining the object upper corner.

Type: floating-point number

  • Unit: m, μm (default), or nm
  • Required field

# Direction

direction: Specifies propagation in the positive or negative direction of the injection axis.

Options:

  • +: Propogate in the positive direction of the injection axis
  • -: Propogate in the negative direction of the injection axis

Required field

# Waist Sizes

waist_sizes: Size of the beam at the waist in the local x and y directions.

Type: floating-point number

  • Unit: m, μm (default), or nm
  • Constraint: greater than 0
  • Default: (1, 1)

# Waist Distances

waist_distances: Distance to the beam waist along the propagation direction for the waist sizes in the local x and y directions. When direction is + and waist_distances are positive, the waist is on the - side (behind) the source plane. When direction is + and waist_distances are negative, the waist is on the + side (in front) of the source plane.

Type: floating-point number

  • Unit: m, μm (default), or nm
  • Default: (0, 0)

# Polar Angle

angle_theta: Polar angle of the propagation axis from the injection axis.

Type: floating-point number

  • Unit: rad or degree (default)
  • Default: 0

# Azimuth Angle

angle_phi: Azimuth angle of the propagation axis in the plane orthogonal to the injection axis.

Type: floating-point number

  • Unit: rad or degree (default)
  • Default: 0

# Polarization Angle

pol_angle: Specifies the angle between the electric field polarization of the source and the plane defined by the injection axis and the propagation axis.

  • 0 specifies P polarization (default)
  • 90 degrees or π/2 rad specifies S polarization

At normal incidence when S and P are undefined, 0 defines:

  • Ey polarization for propagation along x
  • Ex polarization for propagation along y
  • Ex polarization for propagation along z

Type: floating-point number

  • Unit: rad or degree (default)
  • Default: 0

# Source Time

source_time: Specification of the source time-dependence.

Options:

Required field

# Number of Frequency Points

num_freqs: Number of points used to approximate the frequency dependence of the injected field.

Type: integer

  • Default: 3

Note: For simulations which are not very broadband and the source is very large (e.g. metalens simulations), decreasing the value to 1 may lead to a speed up in the preprocessing.