Mode expansion monitor simulation objects allow you to analyze the fraction of power transmitted into any mode(s) of a non-absorbing waveguide or fiber. This page provides additional information to allow users to get the most accurate results from their simulations. See the Mode expansion monitor page for an overview of these objects and lists all input and output properties.

Note that if performing parameter extraction using FDTD, using ports and the S-parameter sweep tool is preferable since the port objects can act as both sources and monitors and return S-parameters as a result.

## What is mode expansion?

Consider a waveguide/fiber that supports a set of forward-propagating modes, \( \varphi_{m}^{\text{forward }}\) (with \(\mathbf{E}_{m}^{\text{forward}} \) and \( \mathbf{H}_{m}^{\text{forward}}\) ), and backward-propagating modes, \( \varphi_{m}^{\text{backward }}\) (with \(\mathbf{E}_{m}^{\text{backward}} \) and \( \mathbf{H}_{m}^{\text{backward}}\) ). If a complete basis state of modes is known, any input field can be expanded using these modes:

$$ \mathbf{E}_{in}=\sum_{m}\left(a_{m} \mathbf{E}_{m}^{forward}+b_{m} \mathbf{E}_{m}^{\text{backward}} \right) $$

$$\mathbf{H}_{in}=\sum_{m}\left(a_{m} \mathbf{H}_{m}^{forward}+b_{m} \mathbf{H}_{m}^{\text{backward}} \right) $$

\(a_{m} \) and \( b_{m} \) represent the complex transmission coefficient of the forward and backward propagating waves respectively. The forward and backward propagating modes are related by symmetry:

$$ \mathbf{E}_{m}^{ \text { backward }}=\mathbf{E}_{t, m}^{ \text{forward}}-E_{z, m}^{ \text{forward}} \hat{z} $$

$$ \mathbf{H}_{m}^{ \text { backward }}=-\mathbf{H}_{t, m}^{ \text{forward }}+H_{z, m}^{ \text{forward}} \hat{z} $$

where we decomposed \( \mathbf{E}_{m}^{ \text{forward}} \) in a transverse component \( \mathbf{E}_{t, m}^{ \text{forward}}\) and longitudinal component \( E_{z, m}^{ \text{backward}} \) (assuming the modes propagate in the z direction), and similarly for \( \mathbf{H}_{m}^{ \text{forward}} \). Thus, we can rewrite the expressions above for the input fields completely in terms of forward-propagating modes and simplify the notation by dropping the forward/backward notation and using \( \varphi_{m}\) (with \( \mathbf{E}_{m} \) and \( \mathbf{H}_{m} \) ) for the forward-propagating modes. If we assume power orthogonality of these modes according to

$$ \left\langle \varphi_{m} | \varphi_{n} \right\rangle \equiv 0.5^{*} \int \mathbf{S} \cdot \mathbf{E}_{m} \times \mathbf{H}_{n}^{*}=N_{m} \delta_{m n} $$

then the coefficients for any mode \( m \) can be determined from the overlap integrals:

$$ \ 0.5 * \int d \mathbf{S} \cdot \mathbf{E}_{input} \times \mathbf{H}_{m}^{*}=\left(a_{m}+b_{m} \right) N_{m}\ $$

$$ \ 0.5 * \int d \mathbf{S} \cdot \mathbf{E}_{m}^{*} \times \mathbf{H}_{in}=\left(a_{m}-b_{m} \right) N_{m}^{*}\ $$

This is the basic concept behind mode expansion monitors. The user can specify an arbitrary input field \( \mathbf{E}_{in} \) and \( \mathbf{H}_{in} \) (recorded by a frequency monitor), and modal fields \( \mathbf{E}_{m} \) and \( \mathbf{H}_{m} \) (by a mode expansion monitor). The mode expansion monitor will return the following results:

$$ a _{m} = 0.25 * \left( \frac{\int d \mathbf{S} \cdot \mathbf{E} _{in} \times \mathbf{H} _{m} ^{*} }{N _{m}} + \frac{ \int d \mathbf{S} \cdot \mathbf{E} _{m} ^{*} \times \mathbf{H} _{in}}{N _{m} ^{*}} \right) $$

$$ b _{m} = 0.25 * \left( \frac{ \int d \mathbf{S} \cdot \mathbf{E} _{in} \times \mathbf{H} _{m} ^{*} }{N_{m}} - \frac{ \int d \mathbf{S} \cdot \mathbf{E} _{m} ^{*} \times \mathbf{H}_{in}}{N _{m} ^{*} } \right) $$

$$ N_{m} = 0.5 * \int d \mathbf{S} \cdot \mathbf{E}_{m} \times \mathbf{H} _{m} ^{*} $$

$$ P_{in} = 0.5 * \int d \mathbf{S} \cdot \mathbf{E} _{in} \times \mathbf{H} _{in} ^{*} $$

where \( Re(N_{m}) \) is the power of the mode \( m \) in the waveguide, and \( Re(P_{in}) \) is the total input power (in Watt) recorded by the frequency monitor. The script function expand can also be used to perform this type of mode expansion.

Note: Grid dispersion These equations only apply to the ideal case. In practice, since an FDTD simulation uses a mesh, a correction step is necessary to account for the grid dispersion from this discrete mesh. This correction factor is taken into account in the mode expansion monitor built-in analysis. In the limit where the mesh size gets very very small, these equations will give the same results as the mode expansion monitor with the built-in correction. |

Note: Power orthogonality Strictly speaking, the power orthogonality condition using the conjugated cross product above is true for the bound modes of non-absorbing waveguides. A more general orthogonality relation, valid for both absorbing and non-absorbing waveguides, is based on the unconjugated cross product: $$ 0.5 * \int d \mathbf{S} \cdot \mathbf{E}_{m} \times \mathbf{H}_{n}=N_{m}^{\mathrm{*}} \delta_{mn} $$ This approach is implemented in the script function expand2. It happens that for bound modes of non-absorbing waveguides, E and H (transverse to the direction of propagation) are real valued. Therefore the unconjugated and conjugated expressions for non-absorbing waveguides are the same, and the modes are power orthogonal. However, the disadvantage of this approach is that without the complex conjugate of the H-field, the normalization constant cannot be associated with the power carried by the waveguide modes, eg, of absorbing waveguides. |

## How to set up mode expansion monitors

The mode expansion monitor must be placed over the cross section of the waveguide/fiber that supports the modal fields. The monitors that are being expanded by the mode expansion monitor must also be placed over the same cross section. Once this is done, the Mode Expansion tab can be used to select the input profiles ( \( \mathbf{E}_{in}\) ,\( \mathbf{H}_{in} \) ), and the modal fields ( \( \mathbf{E}_{m}\), \( \mathbf{H}_{m} \) ). For a description on the individual settings in this tab, see Mode Expansion.

**Modal Fields**

When you edit mode expansion monitor, the “Mode calculation” section is for selecting the modal fields for this expansion. The fundamental mode is sufficient for most cases, but if you would like to calculate the expansion coefficient for multiple modes, select “user select” from the drop down menu, and then click on “Select Mode”. This will bring up the mode solver and you can choose any mode(s) for this calculation from the mode list. You may also want to use more than 1 frequency points if the component has a wide operation bandwidth.

**Input profiles**

We use a frequency monitor as the input profile (the profile to be expanded). The “Monitors for expansion” section allows users to choose the monitors that contain the input profiles. In the example below, four input profiles have been selected (corresponding to each port of the ring resonator). This means that 4 sets of expansion coefficients will be available in the Mode Expansion's results section.

## What do the results mean?

The results that can be obtained from a mode expansion monitor is shown in the screen shot below:

A set of expansion results will be available for each input monitor specified under "Monitors for expansion". Each set of result contains:

Ttotal |
the total transmission of the input profile. This will be the same as the result obtained with the transmission script command. It's important to notice that the Transmission values are normalized to the power injected by the source. |

Tforward |
the forward (the direction of the positive coordinate axis) transmission into the selected modal field(s). If more than 1 mode had been selected under "Mode calculation", the result will be an array containing the forward transmission into each mode. |

Tbackward |
the backward (the direction of the negative coordinate axis) transmission into the selected modal field(s) |

Tnet |
the net transmission into the selected modal field(s) |

a |
complex transmission coefficient of the forward propagating waves, of the selected model field(s) |

b |
complex transmission coefficient of the backward propagating waves, of the selected model field(s) |

N |
the power of the mode in the waveguide, based on the peak modal |E|^2 =1 in w2, this power changes with the area of the modal field. |

P |
the total input power recorded by the frequency monitor, in Watt. |

Note: No results returned If no results are returned in the mode expansion monitor, the most likely cause is that no "Monitors for expansion" have been selected, or that they are of the wrong type (ex. if they do not have the right dimensions or surface normal). |

## Interpreting the results

Often, we are only interested in a single waveguide cross section and a single mode. In this case, it is very straight forward to interpret the expansion results. For example, in expansion1.fsp, we have a very simple set up with a mode source injected into a dielectric waveguide.

In this case, we have \( T_{forward} = |{a}|^{2} \frac {N}{ sourcepower} \sim 1 \) (ie. the forward transmission into the fundamental mode of the waveguide) and \( T_{backward} = |{b}|^{2} \frac {N}{sourcepower} \sim 0 \) for the "T" monitor in front of the source. For the "R" monitor behind the source, we have \( T_{forward} = T_{backward} = 0 \) , since there are no reflections in this setup.

However, if you have multiple waveguide cross section geometries in the simulation (ex. Grating Coupler), or if you are expanding the fields using a different mode than what was injected by the source, the interpretation is less obvious. The reason is because when the mode expansion monitor is calculating the modal fields of the structure, the mode amplitude is arbitrary and the fields are simply scaled such that the peak |E|^2 value is 1 with a phase of 0. One consequence of this scaling is that the amount of power in each mode can be different. For example, a mode with a larger spatial size will tend to carry more power than a smaller mode, simply because they have the same peak intensity but are different in size. This power, N, can be calculated by integrating the Poynting vector of the modal fields. In some situation, N can be larger than the input power P. The reason is that N is calculated based on the peak modal |E|^2 =1 in w2, so N increases with the cross-sectional area of w2.

For example, in expansion2.fsp, the fundamental mode at the narrow waveguide (w1) is used as the source, and we want to study the transmission into the wide waveguide (w2).

When the mode source injects the fundamental mode into w1 at the injection plane (with a peak amplitude of 1 V/m and a phase of 0), it will inject a fixed amount of power in Watts, which we can calculate from the sourcepower function. An expansion monitor "Exp" and a field monitor "T" has been set up in w2 that will be used to study the transmission into the wide waveguide. Since the expansion monitor is positioned in w2, it will expand the fields based on the fundamental mode of w2, which is different than the mode injected by the source. Again, the peak amplitude of the mode from the expansion monitor will be normalized to 1 V/m. The expansion monitor then calculates , which is the overlap integral between the fields recorded by "T" and the mode profile from "Exp". However, the raw value is not meaningful because the normalization applied to the mode from the expansion monitor is completely arbitrary. What we need to do is to normalize away the fact that the different modes contain different amounts of power.

The fraction of power transmitted into the fundamental mode of w2 is actually:

$$T_{forward} = \frac { |a_{out}|^{2} N_{out} } { |a_{in}|^{2} N_{in} } $$

where

- \( a_{out} \): the arbitrary complex transmission coefficient of the selected mode in w2
- \( a_{in} \): the complex transmission coefficient of the selected mode in w1
- \( N_{out} \): the power contained in the selected mode in w2
- \( N_{in} \): the power contained in the selected mode in w1
- \( |a_{out}|^{2} N_{out} \): the actual forward transmitted power that the selected mode carries in w2.

Ie. the coupling coefficients must be scaled by the power for each mode. \( N_{out} \) is returned as a result for "Exp", and \( N_{in} \) can be obtained from the sourcepower command (and \( a_{in} \) equals 1). The equation above becomes:

$$\frac { |a_{out}|^{2} N_{out}} {sourcepower} $$

The script expansion2.lsf calculates this value, and as expected, this is exactly what the result "T forward" from the expansion monitor returns.

## Parameter extraction

The mode expansion monitors allows users to extract the complex transfer function of an element since their results contain the necessary amplitude and phase information. However, if using FDTD, using the port objects in conjunction with the S-parameter sweep tool is recommended since they make it easy to set up and automate the S-parameter extraction without needing to set up separate sources and monitors at each port of the device. For a step-by-step tutorial on how to carry out this process, see the Ring Resonator Tutorial in FDTD Solutions and MODE Solutions.

When using the varFDTD solver in MODE, a combination of sources, field monitors and mode expansion monitors can be used to extract the S-parameters which serve as the interface between the physics-based, component level simulations and the system/circuit level simulations that involve multiple components in arbitrarily complex configurations.

### Related publications

- A. W. Snyder and J. D. Love, "Optical Waveguide Theory". London: Kluwer Academic Publishers (1983).

### See also

Mode Expansion, Inverse design of grating coupler, addmodeexpansion, setexpansion, removeexpansion