# Total-Field Scattered-Field (TFSF)

Total-field scattered-field (TFSF) source that can inject a plane wave in a finite region. The TFSF source injects 1 W/μm² of power along the injection_axis. Note that in the case of angled incidence, 1 W/μm² is still injected along the source's injection_axis, and not the propagation direction, unlike a PlaneWave source. This allows computing scattering and absorption cross sections without the need for additional normalization.

# 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

# Injection Axis

injection_axis: Specifies the injection axis. The plane of incidence is defined via this injection_axis and the direction. The propagation axis is defined with respect to the injection_axis by angle_theta and angle_phi.

Options:

  • x (0 in Simulation JSON)
  • y (1 in Simulation JSON)
  • z (2 in Simulation JSON)

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

# 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.