FDTD simulations for Grating Couplers - SiEPIC/SiEPIC_EBeam_PDK GitHub Wiki

FDTD simulations for Grating Couplers

This section will explain the steps to generate S-Parameters for TE/TM mode GCs.

1: Load FDTD solutions project (.fsp) file

  • For TE mode GC, load the .fsp file from the SiEPIC_EBeam_PDK\Lumerical_EBeam_CML\ebeam_v1.2\fdtd\ebeam_gc\te1550_gc folder
  • For TM mode GC, load the .fsp file from the SiEPIC_EBeam_PDK\Lumerical_EBeam_CML\ebeam_v1.2\fdtd\ebeam_gc\tm1550_gc folder

2: Parameters explained

From the Objects Tree window, right click Sub_GC and select Edit object.

  • Si_thickness : Silicon layer thickness (height).
  • duty_cycle : Width of regular grating.
  • grating_number : Number of periods
  • period : Number of repeated occurrences of a grating and sub-grating pair.
  • sub_width : Width of sub-wavelength grating.

3: Nominal Design values

For TE mode GCs, the nominal design values are as follows:

property value
Si_thickness 0.22
duty_cycle 0.26
grating_number 30
period 0.55
sub_width 0.078

For TM mode GCs, the nominal design values are as follows:

property value
Si_thickness 0.22
duty_cycle 0.575
grating_number 30
period 0.96
sub_width 0.14

4: Changing parameters

The S-Parameters are usually generated by varying the grating width and silicon layer thickness.

In this example, we will generate S-Params for TE mode GC with grating width change of +20 nm and silicon layer thickness of 0.23 microns.

  • Add 0.020 to both, the duty_cycle and the sub_width variable.
  • Change Si_thickness value from 0.22 to 0.23 microns.

If you alter the silicon layer thickness i.e. Si_thickness variable, you are required to adjust the simulation mesh as well. The mesh should align perfectly with the thickness boundaries. This can be done as follows,

right click on to the mesh variable, then select Edit object option. Select the geometry tab and change the value of the y max(um) to the value of Si_thickness variable.

Before After

5: Load and Run the script

Open the GC_S_extraction.lsf script in the Script File Editor. This file is located in the same folder as .fsp file. This script will run the FDTD analysis and create a S-Param file named S_para_TE1550_Test.txt in the same folder.

Rename this file to GC_TE1550_thickness=230 deltaw=20.txt.

5: Update the Look up table

Now, we need to add this file to the look up table so that the INTERCONNECT component can automatically load the S-Params from this file. Depending on where you have installed the .cml library, find and open the look up table file GC_TE_lookup_table.xml. By default, this is located in the C:\Users\USER_NAME\KLayout\tmp\ebeam_v1.2\source_data\gc_source folder.

Add the following code within the lumerical_lookup_table tag,

<association>
    <design>
        <value name="height" type="double">2.3e-07</value>
        <value name="deltaw" type="double">0.2e-7</value>
    </design>
    <extracted>
        <value name="gc_sparam" type="string">GC_TE1550_thickness=230 deltaw=20.txt</value>
    </extracted>
</association>
⚠️ **GitHub.com Fallback** ⚠️