Design a grating coupler connecting a single mode fiber on the surface of a photonic chip to an integrated waveguide. The built-in particle swarm optimization tool is used to maximize the coupling efficiency, and a compact model in INTERCONNECT is created using the component S-parameters. It is also shown how to extract these parameters for compact model generation using the CML Compiler.


Understand the simulation workflow and key results

The goal of this example is to design a TE silicon on insulator (SOI) coupler with a Bragg grating fed from the top by a single mode fiber. The key figure of merit (FOM) in this design is the coupling efficiency at the target wavelength. The coupling efficiency is highly sensitive to the grating’s pitch p, etch length le and etch depth he as well as to the fiber’s position x and tilting angle θ


These five parameters are usually optimized together to maximize the coupling efficiency at the target center wavelength. Because a brute force 3-D optimization with five parameters is time consuming, a two-stage optimization is pursued here using a combination of 2-D and 3-D models and varying only three geometric parameters. The design workflow consists of four main steps.

  1. Initial 2-D optimization: optimize the grating’s pitch p, duty cycle d and the fiber’s position x.
  2. Final 3-D optimization: optimize the fiber’s position x to minimize the insertion loss.
  3. S-parameter extraction: run S-parameter sweep and export the results to a data file.
  4. Compact model creation: import the S-parameter data into an optical S-parameter element.

As demonstrated in the next section, a peak coupling efficiency higher than 40% can be obtained using primarily 2-D simulations and varying the grating’s pitch, duty cycle and the fiber’s position.

Compact Model generation with CML Compiler

To generate the compact model of the grating coupler with CML Compiler, the S-parameter data from Step 3 can be used. The Parameter extraction for CML Compiler section shows how you can use a script file to automatically run Step 3 and generate the S-parameter data. Advanced users already familiar with this example can proceed to this section directly. If you are new to this example, we strongly recommend going through the preceding sections and learn about the individual steps before moving to the Parameter extraction for CML Compiler section.

Run and results

Instructions for running the model and discussion of key results

Step 1: 2D optimization

  1. Open the 2D simulation file.
  2. Review the optimization settings by going to the “Optimizations and Sweeps” window and opening the optimization item named „coupling efficiency optimization”.
  3. After reviewing the settings, close the Edit window and run the optimization. The optimization should complete in ten to twenty minutes. If you do not wish to wait, go directly to the final 3D optimization step.
  4. Once the optimization has finished, the optimal pitch, duty cycle and position can be retrieved. Left click on the „coupling efficiency optimization” item and choose “Visualize” followed by “best parameters” in the context menu.

The best parameters result will also be visible in optimization status window once the optimization is finished as shown below. The figure of merit plot also shows that the FOM has been maximized as a result of optimization.

Step 2: 3D optimization

  1. Open the 3D simulation file.
  2. Go to the “Objects Tree” window and select the grating structure group.
  3. Left click on the selected structure group and choose “Edit object” on the context menu to open the edit window. In the “Properties” tab of the edit window, you should see the optimal grating pitch and duty cycle from the 2D optimization.
  4. Click OK to close the structure group edit window.
  5. Now, go to the “Optimizations and Sweeps” window and select the optimization item named position optimization.
  6. Run the selected optimization. This will take a few hours since all the simulations are in 3D. If you do not wish to wait, then go directly to the S-parameter extraction step.
  7. Once the optimization has finished, the optimal fiber position and the predicted coupling efficiency can be retrieved. Left click on the position optimization item and choose “Visualize” followed by “best parameters” or “best fom”. The best parameters result contains the optimal fiber position x while the best figure of merit result contains the coupling efficiency at the target wavelength.

The optimization status window at the end of optimization can also provide the same information as shown below:

Step 3: S-parameter extraction

  1. Go to the “Objects Tree” window once again and select the fiber structure group.
  2. Left click on the selected group and choose “Edit object” in the context menu.
  3. In the “Properties” tab of the edit window, the optimal fiber position x should be present.
  4. Once again, go to the “Optimizations and Sweeps” window, select the sweep item named S-parameters and run the sweep. The sweep will launch two simulations that should complete in about half an hour.
  5. Once the sweep has completed, the scattering parameters of the device become available. To see them, left click on the S-parameters sweep item and choose “Visualize” followed by “S parameters” on the context menu. Select scalar operation “Abs^2” to see the power s-parameters
  6. To export the S-parameter results, left click on the S-parameters sweep item and choose “Export to INTERCONNECT” on the context menu. In the subsequent “Export to INTERCONNECT” window, enter a name and location for the data file and click on “Save”.

The obtained s-parameter spectra indicate a power coupling efficiency of about 40% at the target wavelength as illustrated below:

For further information about s-parameter extraction, see the appendix section of this example.

Step 4: Compact model creation

  1. Open the grating_coupler.icp file in INTERCONNECT.
  2. Import the S-parameter file generated in Step 3 to the Optical N Port S-Parameter element (Grating_Coupler).
  3. Run the simulation and visualize the transmission results from input 1 mode 1. Switch the scalar operation to “Abs^2” to observe the power transmission

The power transmission measured in INTERCONNECT is the same as the s-parameter power transmission obtained in step 3.

Important model settings

Description of important objects and settings used in this model


The chosen refractive index values are representative of an SOI chip manufacturing process. Because of the high refractive index contrast between silicon and silicon oxide, there is a large difference between effective indices of the two fundamental modes – TE and TM – of the integrated waveguide. For this reason, SOI grating couplers are strongly polarization selective. The presented design excites a TE mode since this is the most common choice, however, it is also possible to set up an optimization targeting the TM mode.

Tilting angle

The coupling efficiency depends heavily on how the fiber meets the top silicon oxide cladding layer. In this example, the end of the fiber is assumed to be polished at a small angle so that the fiber tilts as it is mounted on the top cladding. Such tilting prevents reflections into the fiber. For simplicity, a fixed tilting angle was employed here, however, the design can be improved by allowing it to vary.

Etch depth

The coupling efficiency is highly sensitive to the grating’s pitch, duty cycle and etch depth. For simplicity, a fixed etch depth is employed here, however, it can also be varied if the available fabrication process provides that degree of freedom.


If a silicon substrate is present in the fabricated device, it should be included in the simulations. The substrate will have a noticeable impact on how light is coupled and cannot be omitted as is often done in other device designs.


In the initial 2-D optimization step, it is not obvious how to pick an optimization range for the grating pitch. Assuming a fixed etch depth he and a duty cycle d in the range [0,1], what is a suitable pitch range? The range values employed here came from the lowest order Bragg condition, which relates the grating’s pitch p to the effective index neff

of the grating:


where λ0 is the center wavelength, nSiO2 is the refractive index of the silicon oxide top cladding and θ is the source angle as before. Note that this relation assumes that the refractive index contrast between the top cladding and the core is minimal and is not valid for a high index contrast system. The range chosen for the pitch in the optimization process can be obtained by considering to two extreme values for  neff which are the effective index of the slab modes of the unetched and partially etched regions of the grating. These indices can be obtained by an eigen mode solver such as FDE. The optimal p

value is usually slightly larger than that predicted by the Bragg condition. Since the port on the waveguide contains the effective index of the slab mode as one of its results, this initial guess is straightforward to compute.

Structure groups

Structure groups are used here to update the geometric primitives of the grating and fiber. Any changes to the grating and fiber parameters must be applied using the interface of the structure group. The advantage of using structure groups is that they can apply a single parameter change to multiple primitives, however, they can also override manual changes on individual geometries. The fiber structure group is setup to mimic a fiber polished at an angle. This is done by applying a slight rotation to the objects in the group and the use of “mesh order” setting for the objects so that the fiber only extends down to some point above the grating coupler not all the way through the fiber as might be depicted from the layout view. This can be verified by visualizing the index profile of the structure as shown below:

Optimization figure of merit (FOM)

Since the purpose of the design is to have the best possible coupling at a desired wavelength, the optimization figure of merit is chosen to be the transmission through the coupler at the target wavelength and the optimization algorithm will try to maximize this value. This figure of merit is calculated by an analysis script in the “model” object.

Updating the model with your parameters

Instructions for updating the model based on your device parameters

  • Enter the desired source wavelength and target bandwidth into the global port settings.
  • Choose your target wavelength for coupling efficiency optimization from the Analysis tab of the model object.
  • Update the fiber dimensions and refractive index values according to your measuring equipment.
  • Modify the refractive index values and layer thicknesses according to your fabrication process and the target design polarization (see next section).
  • Verify that the selected modes for both ports have the desired polarization; resize the ports if necessary.
  • Update the optimization objects with the parameters that you have chosen to optimize; pick suitable parameter ranges (see next section).

Parameter Extraction for CML Compiler

Instructions for parameter extraction for CML Compiler for compact model generation

This section describes how to extract and save the S-parameter for the grating coupler automatically using a script file. We assume that the grating coupler is already optimized and therefore only Step 3 of the original workflow in the Overview section is necessary. The S-parameter file generated in this step can be used directly in CML Compiler to create a compact model for the grating coupler. Note that the running of the CML Compiler is beyond the scope of this example. See the CML Compiler overview for more information.

  1. Open the simulation file grating_coupler_3D.fsp and the script file grating_coupler_dataCMLCompiler.lsf.
  2. Run the script file.

Taking the model further

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

S-parameter : The S-parameter extraction step generates scattering parameter results only for the TE polarization. To add the TM polarization, simply select both the TE and TM modes on the integrated waveguide port and re-run the S-parameter sweep. This change will add one additional simulation and one additional result to the S-parameter sweep.

2D optimization : The initial 2-D optimization step can be improved by adding the grating’s etch depth and the fiber’s tilting angle to the list of optimization parameters. Varying the etch dept allows you to increase the initial coupling efficiency while varying the tilting angle allows you to land the peak efficiency right at the center wavelength. Depending on the design objective, other figures of merit such as the average transmission over the entire spectrum can also be used for optimization.

3D optimization : The final 3-D optimization step can be improved by including multiple optimization parameters. It is also possible to completely by-pass the 2-D optimization step and use the 3-D model to optimize all five parameters. Adding more optimization parameters will substantially increase the time required to complete the optimization stage, nevertheless, it can improve the coupling efficiency of the final design.

Taper optimization : The 3-D coupler model uses an adiabatic taper section to connect to the integrated waveguide to the start of the grating. The coupling efficiency can also be improved by optimizing the taper shape (see SOI taper design).

Parallelization : If you have access to a cluster of machines, the optimization tool can use the job manager to parallelize all the required simulations. Parallelization can cut down the optimization time substantially since all the simulations for a given optimization generation can be run independently on separate machines.

MATLAB and Python : To support different optimization algorithms, the Matlab and Python APIs can be used to interface to other tools such as the Matlab optimization toolbox or SciPy’s optimization package.

High efficiency grating couplers : Couplers with an efficiency higher than 90% over a large bandwidth have been designed with FDTD using more sophisticated gratings and a mixed 2-/3-D optimization strategy (see references).

Additional resources

Additional documentation, examples and training material

Related publications

  1. Basic grating coupler design : D. Taillaert, F. Van Laere, M. Ayre, W. Bogaerts, D. Van Thourhout, P. Bienstman and R. Baets, “Grating Couplers for Coupling between Optical Fibers and Nanophotonic Waveguides,” Japanese Journal of Applied Physics, vol. 45, no. 8a, pp. 6071-6077, 2006.
  2. Advanced optimization : R. Marchetti, C. Lacava, A. Khokhar, X. Chen, I. Cristiani, D. J. Richardson, G. T. Reed, P. Petropoulos and P. Minzioni, “High-efficiency grating-couplers: demonstration of a new design strategy,” Scientific Reports, Article number: 16670, 2017. ; T. Watanabe, M. Ayata, U. Koch, Y. Fedoryshyn and J. Leuthold, “Perpendicular Grating Coupler Based on a Blazed Antiback-Reflection Structure,” Journal of Lightwave Technology, vol. 35, no. 21, pp. 4663- 4669, 2017.

See also

Related Lumerical University courses


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 1×2 MMI we need a 6×6 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)

  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.

How to extract S-parameters (EME)

  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π
  • 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 .

0 Komentarzy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *