## General tab

- ALGORITHM: The type of mesh algorithm used ("finite-difference" is currently the only available option).
- BACKGROUND INDEX: The refractive index of the surrounding, background medium in the simulation region.
- SOLVER TYPE: Can choose either a 2D or 3D solver.
- FREQUENCY/WAVELENGTH: The frequency or wavelength to calculate results for.

## EME setup tab

Includes settings for the y and z geometry of the simulation region. Also includes the following settings:

X MIN: Minimum x position of solver region. The first cell group starts from this position.

ENERGY CONSERVATION: Allows you to select the type of energy conservation for the interface S-matrix. The interface S-matrix is calculated at each interface of the neighboring cells considering the modes in the left- and right- hand side of the interface. The choices are 'none', 'passive', or 'conserve energy'.

- none: no energy conservation is applied.
- make passive: do nothing if the norm of the interface S-matrix is equal to or less than 1, or force the norm to be equal to 1 if the original norm is larger than 1. This is the default setting and is suitable in most cases.
- conserve energy: force the norm of the interface S-matrix to be 1. This is often necessary for periodic devices like Bragg gratings.

[[NOTE:]] The interface S-matrix for each interface can be found under the EME solver object after propagating the field by clicking the 'eme propagate' button. It is named S_i_i+1 for the i-th cell where i=1, 2, ..., N-1 and N is the total number of cells. Please refer to this link to learn how the matrix norm is calculated. |

NUMBER OF CELL GROUPS: Sets the number of cells in the solver region.

NUMBER OF MODES FOR ALL CELL GROUPS: Sets number of modes to solve for in all cells.

ALLOW CUSTOM EIGENSOLVER SETTINGS: Allows you to set a different number of modes to solve for different cell groups in the CELL GROUP DEFINITION table. In addition, users can set other mode solving properties such as the guess effective index, bent waveguide properties ... etc by clicking on the "Custom settings for cell group" button below the table

- CELL GROUP DEFINITION: Allows you to set the span of each cell group, the number of cells in each cell group, the subcell method to use (none or CVCS , which can be modified later in analysis mode after "run" if necessary ), and number of modes to solve for in each cell. Displays the cell range of the group, and start and stop positions of the cell group.
- DISPLAY CELLS: Displays cell boundaries in the CAD.
- CLEAR SETTINGS FOR CELL GROUP: Clears the custom settings for the selected cell group.
- CUSTOM SETTINGS FOR CELL GROUP: Allows you to make custom settings for the selected cell group (please refer FDE settings).

Other quantities such as y, y span, z and z span are the same as FDE to define the cell cross sections.

### Periodicity

NUMBER OF PERIODIC GROUPS: Number of regions of the structure that are periodic.

PERIODIC GROUP DEFINITION: Defines the cell regions that have periodicity and the number of periods in each region.The "start cell group" and the "end cell group" are the sequential numbers in the "cell group definition".

CELL GROUP SEQUENCE: Displays the current setup and periodicity. For example [1,(2)^10,3] indicates that there are three cell groups and the second cell group is repeated ten times.

Note: Cell group periodicity and EME profile monitors EME field profile monitors should not be used with the Cell group periodicity feature. EME profile monitors will not correctly reconstruct the field profile when Cell group periodicity is used. |

## Transverse mesh settings tab

Since the propagation axis in the EME solver is in the x-direction, the mesh settings only apply in the y and/or z directions depending on the solver type (2D XY, 2D XZ, or 3D). This is the same as FDE settings.

### Mesh definition

The default uniform mesh in can be defined by setting the 'Number of mesh cells', or by setting a target mesh size using 'Maximum mesh step'.

### Maximum mesh step settings

DY, DZ: Target mesh size when using 'Maximum mesh step' mesh definition

### Mesh grading

GRADING FACTOR: Determines the maximum rate at which the mesh can be modified. For example, if dx(i+1) = a*dx(i), then 1/(GRADING FACTOR) <= a <= GRADING FACTOR. The grading factor should be between 1 and 2. The default setting is sqrt(2).

### Minimum mesh step settings

MIN MESH STEP: sets the minimum mesh step for the entire solver region including the mesh override regions.

### Actual number of mesh cells used

Displays the number of mesh cells in each direction.

### Number of mesh cells without override regions

Displays the number of mesh cells in each direction if no mesh override regions are used.

## Boundary conditions tab

The boundary conditions that are supported by FDTD/MODE Solutions are listed below.

Perfectly matched layer (PML)1 boundaries absorb electromagnetic waves incident upon them. They essentially model open (or reflectionless) boundaries. In FDTD and varFDTD simulation regions, the user can directly specify all the parameters that control their absorption properties including the number of layers. To facilitate the selection of PML parameters, a number of profiles (or predefined sets of parameters) are available under the boundary conditions tab. In most simulation scenarios, the user only needs to choose one of the predefined profiles and fine-tune the number of layers. PML boundaries perform best when the surrounding structures extend completely through the boundary condition region. This will be the default behavior of structures whether or not they were drawn to end inside or outside the PML region.

1 J. P. Berenger, Perfectly Matched Layer (PML) for Computational Electromagnetics. Morgan & Claypool Publishers, 2007.

Metal boundary conditions are used to specify boundaries that behave as a Perfect Electric Conductor (PEC). The component of the electric field parallel to a metal (PEC) boundary is zero; the component of the magnetic field H perpendicular to a metal (PEC) boundary is also zero. Metal boundaries are perfectly reflecting, allowing no energy to escape the simulation volume along that boundary. In the FDE solver, metal BC is the default setting .

PMC

Perfect Magnetic Conductor (PMC) boundary conditions are the magnetic equivalent of the metal (PEC) boundaries. The component of the magnetic field H parallel to a PMC boundary is zero; the component of the electric field perpendicular to a PMC boundary is also zero.

Periodic BC should be used when both the structures and EM fields are periodic. Periodic boundary conditions can be used in one or more directions (i.e. only in the x-direction) to simulate a structure that is periodic in one direction but not necessarily in other directions.

Bloch BC should be used when the structures and the EM fields are periodic, but a phase shift exists between each period. Bloch boundary conditions are used in FDTD and propagator simulations predominantly for the following two simulations:

- Launching a plane wave at an angle to a periodic structure – in this situation, accurate reflection and transmission data can be measured at a single frequency point for a given simulation.
- Calculating the bandstructure of a periodic object – in this situation, a broadband pulse is injected via a dipole source into a periodic structure.

Note: if you choose the BFAST plane wave source, the Bloch BCs will be automatically overridden and use its built_in boundary conditions.

Symmetric/anti-symmetric boundary conditions are used when the user is interested in a problem that exhibits one or more planes of symmetry; both the structure and source must be symmetric. Symmetric boundaries are mirrors for the electric field and anti-mirrors for the magnetic field. On the other hand, antisymmetric boundaries are anti-mirrors for the electric field, and mirrors for the magnetic field. Careful consideration must be given to whether symmetric or anti-symmetric boundary conditions are required, given the vector symmetry of the desired solution. For meaningful results, the sources used must have the same symmetry as the boundary conditions. Further information about symmetric and anti-symmetric boundary conditions can be found in Choosing between symmetric and anti-symmetric BCs.

- ALLOW SYMMETRY ON ALL BOUNDARIES: Allows symmetric boundary conditions with periodic structures (this option is not available in the boundary condition tab of mode sources and mode expansion monitors).

## Material tab

### Mesh Refinement:

Mesh refinement can give sub-cell accuracy for a simulation. See the Mesh refinement options page for more information.

### FIT MATERIALS WITH MULTI-COEFFICIENT MODEL

(For sampled material data) When MODE solves for modes, it uses material data that is obtained from a linear interpolation from the closest data points. This means that when a frequency sweep is run, the material data used can be discontinuous in time. This is especially problematic for properties such as dispersion which depends on a second derivative of the refractive index as a function of wavelength.

If you check this option, you can choose to fit two types of materials with a multi-coefficient model. Here are the options that are available when the checkbox is checked:

- Fit sampled materials: By default, this is checked. Sampled material data will be fitted with a smooth multi-coefficient material model.
- Fit analytic materials: Check this option to fit a multi-coefficient model to the analytic material data. The only reason to fit analytic models with a multi-coefficient model is to compare MODE results with FDTD. FDTD simulations must fit a multi-coefficient model to the analytic data in order to run simulations, but the multi-coefficient model may not be able to fit the analytic model perfectly.
- Wavelength min/max or center/span: Set bandwidth over which to apply the fit.

## Advanced options tab

Note: This tab includes options that should only be changed if you are quite familiar with the meshing algorithm and techniques used. |

### Mesh settings

- FORCE SYMMETRIC X, Y, Z MESH: Will force a symmetric mesh about the y or z-axis. When this option is enabled, the meshing algorithm ONLY considers objects in the positive half of the simulation region. The mesh in the negative half is simply a copy of the positive half mesh. All physical structures and mesh override regions in the negative half will not be considered by the meshing algorithm. This option also forces a mesh point at the center of the simulation region. Forcing a symmetric mesh ensures that the mesh does not change when going from a simulation with symmetry to a simulation without symmetry.

### PML settings

- PML KAPPA: The normalized imaginary electric and magnetic conductivity used in the PML boundaries.
- PML SIGMA: The maximum normalized electric and magnetic conductivity used in the PML boundaries.
- PML LAYERS: The number of cells that are used for PML boundary conditions. Increasing this number will reduce the back-reflection arising from the PML boundaries but will also increase time and memory requirements for simulations.Defaults to a setting of 12.
- PML POLYNOMIAL: The polynomial power which determines how rapidly the electric and magnetic conductivity increases as the radiation propagates at normal incidence into the PML. The default setting of 3 denotes a cubic increase of electric and magnetic conductivity with increasing depth into the PML.
- SET DEFAULTS: This button resets the parameters of the advanced settings tab to the default settings.

### EME settings

- CONVERGENCE TOLERANCE: The convergence tolerance used for the calculations - the default value corresponds to 1e-12 but can be increased by the user to speed convergence or decreased to improve accuracy
- MAX STORED MODES: Maximum number of modes for each cell in the EME setup.
- TOLERANCE 1: This setting is used when solving for the S matrix at each interface. The interface S matrices are calculated from a linear system of equations that attempt to match the tangential E and H field components and the solution of these equations requires a matrix inversion. When there are modes on one side of the boundary that are not well matched by any modes on the other side of the boundary, the solution to the linear system of equations can result in S matrix coefficients that are much larger than 1 and do not conserve energy. This tolerance setting is used to eliminate coupling completely to modes that cannot be expanded on the other side of the boundary. Using values close to zero will result in smaller field discontinuities but can lead to large energy conservation violations that cannot be corrected without perturbing the entire S matrix. Using values close to 1 will make energy conservation work much better but can increase field discontinuities. For periodic structures where precise energy conservation is important, this value should typically be between 0.5 and 1. This setting affects the calculation of all interface S matrices, regardless of the choice of the "energy conservation" setting.
- TOLERANCE 2: This setting is used to determine the maximum correction that will be made to a lossy interface S matrix to make it conserve energy. Ideally, all possible incident source conditions on an interface will result in perfect energy conservation. If the energy conservations settings is set to "conserve energy" then source conditions that result in loss are corrected to perfectly conserve energy. However, source conditions that result in a total transmitted and reflected power that is smaller than "tolerance 2" will be ignored which helps to avoid overcorrecting the original S matrix. For periodic structures where precise energy conservation is important, this setting should be quite small - typically 1e-5 or smaller - to ensure that no incorrect losses can occur. This setting will only be used when the "energy conservation" setting is set to "conserve energy".
- TOLERANCE 3: This setting is used for certain internal matrix calculations when trying to correct the interface S matrices to conserve energy or to be passive. It should be kept as small as possible, however, in some cases, numerical errors can result if it is too small. In general, this setting should not have as much impact on the results as tolerance 1 and tolerance 2. This setting will only be used when the "energy conservation" setting is set to "conserve energy" or "make passive".
- FRACTIONAL OFFSET FOR GROUP DELAY: The group delay of the device is calculated numerically using a finite-difference approximation of the derivative of the phase with respect to frequency. The “fractional offset for group delay” is the fraction of the frequency that is used for the finite difference step size. If this setting is too low, the change in phase may be heavily impacted by noise. If it is too large it is possible that the phase will change by more than \( 2\pi\), resulting in an incorrect group delay calculation. Reducing this setting from the default may be required for very long devices ( \(10^4+\) wavelengths) where the phase changes rapidly with frequency. Otherwise, the default setting should be used.
- ADDITIONAL PML MODE FACTOR: When PML boundary conditions are used, the eigenmode solver will find PML modes that partially reside in the boundary region. These modes are required for calculating radiation losses for the device using the EME solver. However, not all of the PML modes are useful for this purpose. To ensure that only useful PML modes are kept for propagation, the total number of modes found will be increased by the “additional pml mode factor”. The modes will then be sorted by loss and the modes with the highest loss will be eliminated, leaving the requested number of modes. For example, if you asked for 10 modes in a cell group and the "additional pml mode factor" is 2, then 20 modes will be calculated but only the 10 with the lowest loss will be retained. Increasing this setting may be necessary for situations where many PML modes are found, for example for SOI devices where the high-index substrate is included in the simulation region.
- CORRECT BACKWARD PROPAGATING MODES: When this is checked all modes will have imag(neff) ≥ -gain_max , however some modes may have negative real(neff) correspondent to a negative phase velocity. The value of gain_max should be zero when the waveguide is made from materials with no gain, however, we typically use a finite value for two reasons: firstly, there can be small numerical errors such that a mode with imag(neff) = 0 may be calculated to have a numerically small, negative value such as -1e-15, and secondly, the waveguide itself may be composed of some materials that, intentionally, have gain – in other words they have imag(n) < 0 where n is the material refractive index. The value of gain_max is given by gain_max = “maximum tolerated gain” + material_gain_max, where “maximum tolerated gain” is specified below and material_gain_max is the maximum value of |imag(n)| for any material in the waveguide that has gain. If no material in the waveguide has gain, then material_gain_max = 0.
- CORRECT BACKWARD PROPAGATING MODES WHEN PML IS PRESENT: By default, the detection and correction of backward propagating modes, as described above, is not performed when any of the FDE solver boundaries are PML. When PML boundaries are used, you must check this box to apply the correction of backward propagating modes. However, we do not generally recommend checking this box because PML itself can create small amounts of gain in some modes which is typically an indication that the PML is too close to the guiding structure and not that the backward propagating mode has been accidentally selected. In addition, evanescent modes with negative phase velocities are rarely found when PML is used.
- MAXIMUM TOLERATED GAIN: This quantity is used to calculate gain_max, as described above. Since this is typically used for avoiding accidental sign reversal due to small numerical errors, this value is typically very small and the default is 1e-12.
- ADD MATERIAL GAIN TO MAXIMUM TOLERATED GAIN: When this is checked, the material gain (if any gain materials are present) will be included in the calculation of gain_max, as described above. When this is unchecked, gain_max will be equal to “maximum tolerated gain”.

See EME error diagnostics for more information on the tolerance parameters.

## Results returned

- COEFFICIENTS: the modal expansion coefficients for each mode as a function of cells or x.
- GLOBAL ERRORS: the source-independent global errors as a function of cells or x, see EME error diagnostics.
- INTERNAL S-MATRIX: the S matrix of the device from the first cell interface to the last cell interface. Note that this does not depend on the ports or port modes, eg. if n modes are used in the first cell and m modes are used in the last cell, the internal S matrix will have dimensions [n+m, n+m].
- LOCAL ERRORS: the source-dependent local errors as a function of cells or x, see EME error diagnostics.
- USER S-MATRIX: the S matrix of the whole device including only the modes that have been selected in the Ports.

### Simulation benchmark

- TOTAL EME SIMULATION TIME: time to run EME simulation in seconds.
- NORMALIZATION TIME: normalization time in seconds.
- MODE CALCULATION TIME: mode calculation time in seconds.
- EME COMMUNICATION TIME: time spent on MPI communication between processes
- OVERLAP CALCULATION TIME: overlap calculation time in seconds.
- TOTAL PROCESSES: total number of processes.
- TOTAL THREADS: total number of threads per process.