# Mode Settings

The Mode Settings tab contains the definitions for the set of optical modes calculated by the mode solver. Here, you should specify, for example, the mode plane, bend radius, polarization, frequencies, or direction.

# Plane

Definition of the structure cross-section containing the geometry and medium information to calculate the optical modes.

# Background Medium

Simulation background medium.

Options:

# Center + size

Constructs the mode plane using a center position and size.

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

Type: floating-point number

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

size: Size of the mode plane 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

Constructs the mode plane from minimum and maximum coordinate bounds.

min: Values of the x, y, and z coordinates defining the mode plane 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 mode plane upper corner.

Type: floating-point number

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

# Specification

Stores specifications for the mode solver to find an electromagnetic mode.

Note, the planar axes are found by popping the injection axis from {x, y, z}. For example, if injection axis is y, the planar axes are ordered {x, z}.

# Number of Modes

num_modes: Number of modes returned by the mode solver.

Type: integer

  • Unit: unitless
  • Constraint: greater than 0
  • Default: 5

# Target Effective Index

target_neff: Guess for effective index of the mode.

Type: floating-point number

  • Unit: unitless
  • Constraint: greater than 0
  • Default: None

# Precision

precision: Numerical precision used by the mode solver.

Options:

  • Single
  • Double
  • Auto

The corresponding saved values are single, double, and auto.

Default: Double

# Number of PML Layers

num_pml: Number of PML layers in the two in-plane directions.

Type: integer pair

  • Unit: unitless
  • Constraint: each value greater than or equal to 0
  • Default: (0, 0)

# Polarization Filtering and Sorting

Use the Polarization Filtering controls to filter and sort modes. In the saved model, these values are stored in sort_spec; they include filtering and sorting keys, reference values, order, modes to keep, and an optional bounding box for the fill_fraction_box metric. The older filter_pol field is accepted for legacy simulations but is not shown as a separate control.

# 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

# Bend Radius

bend_radius: A curvature radius for simulation of waveguide bends.

Can be negative, in which case the mode plane center has a smaller value than the curvature center along the tangential axis perpendicular to the bend axis.

Type: floating-point number

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

# Bend Axis

bend_axis: Index into the two tangential axes defining the normal to the plane in which the bend lies.

This must be provided if bend_radius is not None.

For example, for a ring in the global xy-plane, and a mode plane in either the xz or the yz plane, the bend_axis is always 1 (the global z axis).

Options:

  • None
  • 0
  • 1

Default: None

# Track Mode Frequency

track_freq: Use Track Mode Frequency to turn mode tracking on or off based on mode similarity. The saved value is stored inside sort_spec; the legacy top-level field is accepted for older simulations. It can take values lowest, central, or highest, which correspond to the lowest, central, or highest frequency. If None, no mode tracking is performed.

Options:

  • None
  • central
  • lowest
  • highest

Default: central in sort_spec.

# Group Index Computation Control

group_index_step: Control the computation of the group index alongside the effective index. If set to a positive value, it sets the fractional frequency step used in the numerical differentiation of the effective index to compute the group index. If set to True, a value of 0.15 is used.

Options:

  • False: The mode solver will not calculate the group index.
  • True: The mode solver will calculate the group index using a fractional frequency step of 0.15 or other user input value.

Default: True

# Frequencies

Definition of the mode wavelengths/frequencies.

Options:

  • Wavelengths: Definition of mode wavelengths in units of m, μm (default), or nm.
  • Frequencies: Definition of mode frequencies in units of THz (default) or Hz.

Default: Wavelengths

# Enter wavelength/frequency range

Create an evenly spaced list of wavelength/frequency points between a minimum and a maximum value.

min: Minimum wavelength/frequency value.

  • Required field Default: None

max: Maximum wavelength/frequency value.

  • Required field Default: None

number of points: Number of wavelength/frequency points.

  • Required field Default: None

# Custom wavelength/frequency list

Create a custom list of wavelength/frequency points. Click the Edit list button to include, edit, or exclude wavelength/frequency values from the list.

# Direction

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

Options:

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

Default: +

# Colocate

colocate: Whether mode fields are stored at grid cell boundaries (primal grid nodes).

Options:

  • Yes
  • No

Default: Yes

# Conjugated Dot Product

conjugated_dot_product: Whether mode decomposition uses a conjugated dot product.

Options:

  • True
  • False

Default: True

# Subpixel Averaging

subpixel: Controls averaging at material interfaces.

Options:

  • Enabled: Use the configured dielectric, metal, and PEC interface methods.
  • Disabled: Use staircasing at the interfaces.

When enabled, you can configure the interface methods for dielectric, metal, and PEC boundaries. The default methods are PolarizedAveraging for dielectric interfaces, Staircasing for metal interfaces, and PECConformal for PEC interfaces.

Default: Enabled

# Structure Priority Mode

structure_priority_mode: How structures without an explicit priority are ordered when they overlap.

Options:

  • Equal: Give structures without an explicit priority the same priority.
  • Conductor: Give conductor structures higher priority.

Default: Equal