Please enable JavaScript to view this site.

Application Gallery

Navigation: » No topics above this level «

Waveguide Taper

Scroll Prev Top Next More

cover_picture_waveguide_taper_zoom33Calculate the optimal length and shape of a waveguide taper to maximize the transmission. Use the device S-parameters to create a compact model of the waveguide taper in INTERCONNECT.

Files and Required Products






Minimum product version: 2020a r1



Run and results

Important model settings

Updating the model with your parameters

Taking the model further

Additional resources

Appendix: S-parameter-extraction


Understand the simulation workflow and key results


Efficient light coupling between two waveguides inside an optical circuit can be done with a waveguide taper. The coupling efficiency can be controlled via the taper length and shape. The EME solver is ideally suited to characterizing these devices. The device in this example is optimized for TE modes, but the approach can be extended to any design and polarization.


Step 1:

Demonstrate how parameter sweeps can be used to optimize the taper. The example includes sweeps over the taper length and shape parameters. It could be easily extended to include other parameters. Transmission in the fundamental TE- or TM-mode is used as the figure of merit.  

Step 2:  

Once an optimal taper shape is found, extract the S-parameters as a function of wavelength for each mode of interest.  These will be used to create a compact model in INTERCONNECT.

Step 3:  

Create a compact model in INTERCONNECT, using the optical n port s-parameter (SPAR) element and import the data from step 2.

Run and results

Instructions for running the model and discussion of key results

Step 1: Optimize taper geometry

Transmission through a waveguide taper increases as its length increases. For a fixed taper length, then a series of parameter sweeps can be performed to optimize the waveguide taper performance for different shapes. This step is meant to demonstrate a simple way to optimize the taper. It is straightforward to include additional taper parameters, or to switch from using parameter sweeps to multi-dimensional optimizations.

Mode convergence sweep: ensure the number of modes in each cell is enough to give accurate results. Mode convergence sweeps are an important part of ensuring the simulation results are reliable and should be done as part of the initial setup of any EME simulation file.


Waveguide taper length sweep: Determine how transmission changes with the length of the taper. Sweeps that involve changing the length of a region are ideally suited for the EME solver, as the results can be obtained almost instantaneously.


Waveguide taper shape: Determine the optimal shape of the taper region assuming a polynomial slope of order “m” for a waveguide.

Mode convergence sweep

1.Open the waveguide_taper.lms simulation.

2.In the EME solver object, set the ‘number of modes for all cell groups’ to 50.

3.Run the simulation.

4.From EME Analysis Window, enable Mode convergence sweep with mode interval of 1. Press mode sweep button and then visualize the data.

5.In the visualizer window, keep only the s21 attribute and set the scalar operation to Abs^2. The plot shows the transmission in the output port as a function of number of modes.

6.Press the eme propagate button and then visualize the field profile from field_profile monitor. Notice that the results stabilize after about 20 modes.

7.Go back to the EME solver object and set the ‘number of modes for all cell groups’ to 20 for future simulations.


The plot blow shows transmission results from the output ports are converging with ~20 modes. The electric field intensity obtained from "Field profile" monitor is also shown on the below plot.


Waveguide taper length sweep

8.Enable Propagation sweep and select group span 2. Set the start and stop lengths to 0.5 µm and 10 µm accordingly and interval to 0.1. Press eme sweep and then visualize eme sweep.  

9.In the visualizer window, keep only the s21 attribute and set the scalar operation to Abs^2. Plot shows the transmission in the output port as a function of the length of interference region.


The plot below shows transmission as a function of waveguide taper length. Transmission increase as the length of waveguide taper increases:


Waveguide taper shape sweep

10. In the EME solver object, set the ‘number of modes for all cell groups’ to 50.

11. Load the Waveguide_taper_write_s_params.lsf script file.

12. Run part 1 of the script by selecting that portion of the script and pressing F9 key. The script will run a parameter sweep over the taper shape, then calculate and plot the transmission as a function of the taper shape parameter.


The waveguide taper design is parametrized as below:


$$W(x) = \alpha(L - x)m + w_2$$

$$Α = (w_1- w_2)/(Lm)$$


Where \(w_1\) and \(w_2\) are the left and right waveguide taper, respectively and \(L\) is its length. Here we assume that the taper design is proportional to \(x\) to the power of exponent m. In the "Optimizations and Sweeps" window, a parameter sweep task is set up to sweep over exponent “m” property of the structure group between 0.2 and 1 and collect the user s-matrix.


We change the number of modes for the cell groups back to 50 because the mode convergence sweep performed previously was for the unparameterized taper shape. The results for that sweep no longer apply for this taper shape. We could perform another mode convergence sweep for the parameterized taper, however the number of modes required may depend on the value of \(m\). It is best to use a large number of modes for the sweep of the \(m\) parameter, then perform a mode convergence sweep once the optimum value of \(m\) is found to ensure that the results are accurate at that value. Of course, the optimum value of \(m\) found may depend on the number of modes used in the simulations, which is why we use a large number of modes for the \(m\) parameter sweep.


The script file is used to run this parameter sweep of \(m\) and collect the user s-matrix results. The value obtained from the S21 element of the user s-matrix then gives the transmission through the output ports. The result is plotted below.


Step 2: S-parameter Extraction

13. Run the second part of the Waveguide_taper_write_s_params.lsf script file to extract s-parameter for an N-port S-parameter object in INTERCONNECT.


The part 2 of the Waveguide_taper_write_s_params.lsf script file uses the exponent \(m\) value for maximum transmission from previous step to update the shape of waveguide taper. Next, it extracts the s-parameters of the waveguide taper (as a function of wavelength for both TE and TM modes) and saves them to the file Waveguide-taper-s-params.txt with the Optical N Port S-Parameter file format for the group delay option. For more information see Appendix: S-parameter-extraction.


The plot below shows the transmission in the output ports for both TE- and TM-modes. As expected, the TE mode performance is better, since the device was designed for TE modes.


Step 3: Circuit simulations in INTERCONNECT

14. Open the Waveguide_taper_circuit.icp file.

15. Load the Waveguide-taper-s-params.txt into Waveguide Taper element.

16. Run the simulation twice, for TE- and TM-modes, by changing the orthogonal identifier to 1 and 2 in the ONA.

17. Visualize the transmission result from the ONA for each polarization.


Validate the waveguide taper compact model by reproducing the transmission curves obtained in the previous step. The plot below shows transmission for both polarizations.



Important model settings

Description of important objects and settings used in this model

Taper object setup script

A setup script in the taper object is used to set the geometry of the waveguide taper. The script is a convenient way to ensure the geometry of waveguide taper is correct. The position of the waveguide taper must be set via the setup script. Other properties, such as the simulation region and mesh override positions should be modified directly in the objects.

EME background index

The waveguide taper is covered with an oxide layer. The background index of the EME is set to 1.444 to account for this oxide layer and has to be updated based on glass material index at the wavelength of interest.

Mesh override region

A mesh override is used over the waveguide taper to refine the mesh in the y-direction. It also assures that waveguide taper thickness is a multiple integer number of mesh cells.


Symmetry boundary conditions (BCs) is used in the Y- and Z-direction to reduce the simulation time. The symmetric (anti-symmetric) BC along the Z-direction will limit the solver to only TE- (TM-) modes. As mentioned in the Taking the model farther section, the S-parameter export script assumes that the simulation uses symmetry in the Y and Z directions. The script must be modified before it can be used with simulations without symmetry boundary conditions.

Wavelength sweeps

There are two ways to obtain broadband results. The ‘Wavelength sweep’ feature in the EME Analysis Window is ideal for getting initial results as it is very fast. For more accurate results, it is necessary to run a full EME simulation for each wavelength. Use the ‘wavelength_sweep’ in the Optimization and Sweeps window to do this.

Length sweeps

EME is an ideal product for performing length sweeps over any section of geometry with almost no additional cost. This is beneficial for fast optimization purposes. However, the special EME length sweep can’t be used when running optimizations using the standard optimization feature. To run an optimization that involves changing the length, the device length as well as other objects such as simulation region must be parameterized in the same way as any other parameter.

Updating the model with your parameters

Instructions for updating the model based on your device parameters

Replace or update the example waveguide taper object with one that matches your design. If you wish to do any optimization of the geometry, be sure to parameterize the object appropriately.

18. Adjust the simulation region and mesh override positions directly to consider changes in the taper geometry.

19. Set the material or index of the waveguide taper.

20. Symmetry boundary conditions can be utilized to reduce the memory and the simulation time when there are symmetries in both the field and the structure. Disabling symmetry for your initial simulations is recommended, as selecting the correct symmetry can be challenging.

21. Re-run the mode convergence sweep to determine the number of modes required in the simulation.

Taking the model further

Information and tips for users that want to further customize the model

A more complex figure of merit could be defined that both maximizes forward transmission while minimizing back reflections. abs(S11)^2 give the back reflected power.

The waveguide taper geometry can be modified in a more complex geometries as is shown in the waveguide crossing example. Here we used a simple equation for waveguide taper geometry only for demonstration purposes.

In this example, the couplings between TE and TM modes are zero due to the device symmetry. If coupling between TE and TM modes in your new design is expected, the symmetries should be disabled. As a result, the script that calculates and exports the S-parameter will need to be extended to account for these effects.

The varFDTD solver can be used as a complementary tool for optimizing the waveguide taper device.  varFDTD is better suited to providing broadband results, while EME is ideal for running sweeps over the lengths of each cell group.

Slower but more accurate 3D FDTD simulations should be used to validate the results of the EME and varFDTD simulations.

Additional resources

Additional documentation, examples and training material

S-parameter file formats

Group Delay Specification in S-Parameter Elements for Use with Sparsely Sampled Data

Course_EME100     Course_INT100 Course_SCRIPTING_v1

Appendix: S-parameter extraction

Additional background information and theory

S-parameter extraction from component level simulations of passive photonic devices

The S-parameter matrix formalism is a common approach to build compact models of photonic devices to be used in circuit-level simulations. Assuming the response of the device to optical signals is linear, it can be modeled by a network (black box) with multiple network ports, where each of them receives an incoming signal and scatters or reflects an outgoing signal.


We assume the device has N physical ports (which typically are input/output waveguide channels) and each of these supports a certain number of modes of interest. Each element of the S-parameter matrix is the ratio between the complex envelopes of the optical modes in two physical ports. For example, to model the behavior of the fundamental TE and TM modes at the input/output waveguide channels of a 1x2 MMI we need a 6x6 S-parameter matrix, given that there are two modes at each of the three physical ports. Each column of the S-parameter matrix corresponds to a fixed input physical port and mode and each row corresponds to a fixed output physical port and mode.


The approach to extract the S-parameter matrix of a photonic device depends on the solver being used. In both FDTD and EME solvers, port objects can be setup at each of the physical ports. The main differences between the solvers for the S-parameter extraction are:

FDTD injects one mode in one input port object per simulation, while EME can solve for all the elements of the S-matrix in one simulation;

FDTD is broadband so many frequency points can be calculated in one simulation, while results from EME are for a single frequency per simulation.


Therefore, in both solvers it is necessary to run sweeps to obtain the full S-parameter matrix at multiple frequency values, either by sweeping over the input physical ports and modes or over the frequency points.

Use the examples in the Application Gallery to determine the appropriate solver for your component. This section describes the recommended approach for S-parameter extraction and export to INTERCONNECT once you have determined the appropriate solver.


In this section we describe how to:

1.For FDTD, calculate the S-parameter matrix and save it to a file with the appropriate format to be imported in an Optical N-port S-parameter primitive element in INTERCONNECT.

2.For EME, calculate the S-parameter matrix and save it to a file with the appropriate format to be imported in an Optical N-port S-parameter primitive element in INTERCONNECT.

3.Optionally, more accurately account for group delay of the device. This is important in elements that will be part of phase-sensitive circuits (for example, cavities, resonating structures and interferometric devices). We will use the group delay specification in the S-parameter file, required for the group delay option in the digital filter of the Optical N-port S-parameter element in INTERCONNECT.

How to extract S-parameters

FDTD solver:

1.Check that the port objects in the simulation have been set up correctly to collect all the data required for the S-parameter matrix. In particular, make sure that all the desired modes are selected at the ports; the “user select” option in the Modal Properties allows you to pick multiple modes (for example, fundamental TE and TM modes) when necessary for the full S-parameter matrix.

2.Create a S-parameter matrix sweep item in the “Optimizations and Sweeps” window with the following settings:

S-Matrix Setup tab:

The modes selected at each port are displayed in this tab. Make sure the list is consistent with the physical ports and modes you want to include in the S-parameter matrix (see step 1).  

The option “Excite all ports” is enabled by default, which means that a simulation will be run for every port and mode in the list to calculate each column of the S-parameter matrix. To reduce the number of simulations you can map between columns taking advantage of symmetries in the structure. If that is the case, disable the “Excite all ports” option and click on the “Auto symmetry” button to let the solver determine the appropriate mapping based on the port locations. In some cases adjustments to the mapping are required so it is always recommended to review the settings after applying auto symmetry.  

INTERCONNECT Export Setup tab:

Select the “Custom define” option to define the mode ID and port location properties.

The file export automatically assigns a mode ID to each mode. It is often necessary to manually set the mode ID so they are consistent with the orthogonal identifier convention to be used in INTERCONNECT. This is important, for example ,when connecting the Optical N-port S-parameter element to an Optical Network Analyzer (ONA) in INTERCONNECT. The setting for the excitation mode in the ONA is the “orthogonal identifier” property in the “Waveguide” section. The typical convention is to use “orthogonal identifier” = 1 for the fundamental TE mode and “orthogonal identifier” = 2 for the fundamental TM mode.

3.After running the S-parameter sweep, the “Visualize” and “Export to INTERCONNECT” options become available in the context menu of the S-parameter sweep item. The “Export to INTERCONNECT” option allows you to generate a text file with the S-parameters. This file has the format required by the Optical N-port S-parameter primitive in INTERCONNECT without group delay specification, which is appropriate when the phase or group delay of the device are not critical for the compact model.

4.If phase and group delay are critical, the group delay can be estimated by calculating the slope of the phase as a function of frequency at the center frequency/wavelength. The script add_group_delay_FDTD_Spar.lsf takes as input the S-parameter text file created in step 3 and modifies it to include the group delay. For more information see the section S-parameter extraction for group delay option in INTERCONNECT below.


EME solver:

1.Create a parameter sweep in the “Optimizations and Sweeps” window with “model::EME::wavelength” as a parameter and “::model::EME::user s matrix” as a result; this sweep will run multiple simulations with different wavelengths. An alternative is to use the “Wavelength sweep” feature in the EME Analysis window, which will use only one simulation to quickly estimate the S-parameters over a given wavelength range; however, this feature should not be used to obtain final results as the accuracy of the calculation depends on the type of simulated structure.

2.Examples that use EME include a script that exports S-parameters in the format required by the Optical N-port S-parameter primitive. In the script you need to provide the INTERCONNECT port definitions (names and locations) and the S-parameter file name. The following actions are performed by the script:

Run the parameter sweep for wavelength, collect the results and write them in the text file with the appropriate format.

In situations where the phase and group delay are critical, the script will also run the simulation and the EME propagation for the center wavelength with the option “calculate group delays” enabled. The group delay is added to the text file and the S-parameter phase is corrected as explained below in the section S-parameter extraction for group delay option in INTERCONNECT.

The output of the script is the S-parameter text file in the correct format ready to be imported in INTERCONNECT.

S-parameter extraction for group delay option in INTERCONNECT

Some photonic circuits rely on controlling the phase of the optical signal traveling through the different components; therefore, the phase of the S-parameters can be very important. There are a couple of challenges to capture the phase correctly in the Optical N-port S-parameter primitive in INTERCONNECT:

Spectral sampling of the phase in the S-parameter data: Typically, the variation of the phase as a function of frequency is mostly linear with a slope that is proportional to the group delay (the delay of the optical signal between two ports). Therefore, in long devices the phase can change very quickly with frequency, and a fine sampling in frequency would be necessary to avoid phase changes greater than \( 2 \pi \) so that the phase has the correct slope after unwrapping it. This is important for both frequency- and time-domain simulations in INTERCONNECT.

Capturing the correct group delay and frequency dependence of the S-parameters in INTERCONNECT time-domain simulations: For time-domain simulations the most common type of filter used in the Optical N-port S-parameter primitive is the finite impulse response (FIR) one, which has multiple options for the estimation of taps. The choice depends on what is the most significant aspect of the element response to be captured in the circuit simulations. In elements where the phase is important, typically it is necessary to capture both the group delay and the frequency dependence of the S-parameters correctly.


The “group delay” option for the “number of taps estimation” in the digital filter settings of the Optical N-port S-parameter primitive provides solutions to both challenges:

The group delay is captured correctly without requiring a fine spectral sampling of the S-parameters by using group delay estimates provided by the user for each S-parameter matrix element at the center frequency/wavelength.

In most cases, the FIR filter in time-domain simulations can capture the group delay and frequency dependence of the element response more accurately with the "group delay" option, compared to other options for tap estimation. With the "group delay" option, the number of taps available to the filter depends on the sample rate of the INTERCONNECT simulation and the group delay estimate provided by the user: for a given sample rate, there are more taps available for larger group delays. Since most photonic devices are long compared to the wavelength of the signal, typically the number of available taps is not a concern. Only in cases where the device is relatively short, it might be necessary to increase the sample rate.

Compared to the regular file format for S-parameter files in INTERCONNECT, the group delay option requires a slightly different format, which includes the group delay estimate in the header of each S-parameter data block; furthermore, the phase provided in the file needs to be adjusted to remove the linear contribution associated with the group delay estimate. The previous section describes how this type of file can be generated when using FDTD or EME for the S-parameter extraction. For more information on the group delay option see the discussion here.

Additional resources

KB page: S-parameter simulator (SPS)

KB page: S-parameter matrix sweep feature in KB

KB page: S-parameter file formats

Copyright Lumerical Inc. | Privacy | Site Map