# Tidy3D Model

Tidy3D models perform the computation of the S matrix of a component by extruding it and simulating the resulting 3D structure using Tidy3D's smatrix (opens new window) plugin.

All the settings of a Tidy3D model relate to the generation of Tidy3D FDTD simulations. Most parameters have similar names to their Tidy3D counterpart and the same meaning. Parameters that are specific to PhotonForge's model are detailed below.

# Bounds overrides

Bounds overrides serve to limit the simulation size created from the extruded component. This is useful, for example, to remove back end of line (BEOL) layers that don't interfere with the optical response of the device, but that would dramatically increase the z dimension of the simulation.

The min settings (x min, y min, and z min) override the bounding box of the simulation on the lower side, and the max settings on the upper side. In either case, an empty setting (default) disables the override in that axis and side (upper/lower bound).

# Port symmetries

Port symmetries indicate which S matrix elements are equal in order to eliminate unnecessary FDTD runs. Each configured Input section eliminates the simulation run that computes the S matrix elements relative to that input. Instead, those elements are computed from another simulation according to the configured port remapping.

For example, in a conventional Y junction, assuming the main input at P0 and split outputs at P1 and P2, the transmission coefficient from P0 to P1 is the same as from P0 to P2. Also, due to symmetry, the reflection coefficient for P1 is the same as the on for P2. In other words, the simulation run using P2 as input can be directly mapped to the simulation run using P1 as input, which can be configured by setting the Input: P2 section as follows:

  • P0: P0
  • P1: P2
  • P2: P1 (because this is the Input: P2 section, this mapping will instruct the model to use the simulation with input set to P1)

Those settings will inform the model that instead of simulating input P2, use the simulation run for input P1 remapping ports P2 with P1 (input), P1 with P2, and keeping P0 as is. That way, only 2 simulations are required to compute the full S matrix of the 3-port component.

WARNING

If all inputs are mapped to other inputs, no simulation would be run, so that's an invalid setting for Tidy3D models.