In this example, the Finite Difference Eigenmode (FDE) solver in MODE is used to characterize a straight waveguide. The calculated mode parameters are then used to create a waveguide element in INTERCONNECT. How to extract these parameters for compact model generation using the CML Compiler is also demonstrated.
Overview
Understand the simulation workflow and key results
The characterization of the waveguide is done using the FDE solver in MODE.
Step 1: Calculate Supported Modes
Calculate the supported modes from a 2D cross section of the waveguide. The solver provides a comprehensive list of mode properties including spatial mode profile, effective index, loss, etc.
Step 2: Frequency Sweep
Select the mode(s) of interest. Run a frequency sweep to obtain their properties as a function of the frequency/wavelength. Export these properties into a file.
Step 3: Import Waveguide Data in INTERCONNECT
Import the waveguide data into INTERCONNECT to create a new waveguide element that can be used in a circuit simulation.
Compact Model Generation with CML Compiler
To generate the compact model of the waveguide with CML Compiler, simply skip Step 3 and provide the data extracted in Steps 1 and 2 to CML Compiler. The Parameter extraction for CML Compiler section uses a script to automatically go through these steps and extract the data for CML Compiler in the required format. 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 learning 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: Mode Calculation
- Open the Waveguides_FDE.lms simulation file and click the Run button.
- In the Modal analysis tab of Eigensolver Analysis windows, set the wavelength of interest. In this example we are using 1500nm.
- Click the Calculate Modes button.
- Explore the results in the Mode list in the Eigensolver Analysis window.
The FDE solver returns a list of supported modes, along with mode properties such as effective index and spatial mode profile.
Step 2: Frequency Sweep
- Switch to the Frequency analysis tab of the Eigensolver Analysis window.
- In the Mode list , select the mode(s) of interest. In this example modes 1 and 2 are selected
- Check the track selected mode box.
- Set the frequency/wavelength range of interest. Note the start frequency/wavelength is defined by the initial frequency/wavelength value used to first calculate the modes.
- Select modes 1 and 2 and then c lick the Frequency sweep button to start the calculation.
-
Select Data Export in the options drop-down list, select ldf file and click Export for INTERCONNECT . In this example the file will be saved as SOI_WG.ldf
- Optionally, override the waveguide mode loss in the Mode Label and Orthogonal ID Editor window and click OK . See the Taking the Model Further section for more information on this step.
The frequency sweep calculates the modes’ properties (including effective index, loss, propagation constant, group velocity, dispersion) over the selected frequency/wavelength range. These properties are exported to the file that will be imported to INTERCONNECT.
Step 3: Import in INTERCONNECT
- Open the simulation file Waveguide_FDE_INT.icp .
- Load data from MODE to the MODE Waveguide element WGD_1. In the Property View , specify the LDF file exported from from MODE as the ldf filename property. In this example, load the file SOI_WG.ldf
- Click the Run button.
- Explore the results from the Optical Network Analyzer (ONA).
The ONA returns the normalized group velocity, \(v_g\), that can be compared to the value obtained from the FDE simulation.
Important Model Settings
Description of important objects and settings used in this model
Step 1 & 2
Simulation Region Dimensions
The solver region must be large enough to completely contain the mode, including evanescent tails. Ensure the field have decayed to at least 1e-4 near the boundaries. This is easy to visualize by plotting the fields on a log scale.
Boundary Conditions
- Straight waveguides: Use metal boundaries. If the fields are negligible at the boundary (as recommended in the previous comment), then the choice of boundary is not important. Metal boundaries are fastest and minimize the simulation memory.
- Bent waveguides: Use PML boundaries. Bent waveguides may have radiative losses, which means PML boundaries are required. Note that PML boundaries can introduce non-physical modes near the boundaries. These modes can be ignored.
Material (incl. Fit for Frequency Sweep)
It is important to model the material data using Lumerical’s Multi-Coefficient Model feature, especially when running a frequency sweep. This can be set by checking the fit materials with multi-coefficient model box in the Material tab of the FDE region properties.
Step 2
Detailed Dispersion Calculation
Checking this box in the Frequency analysis tab allows you to calculate the mode properties at some additional frequencies to obtain more accurate results over the frequency/wavelength range of interest.
Store Mode Profiles While Tracking
When the store mode profiles while tracking box in the Frequency analysis tab is checked, the mode profiles at each frequency will be stored and exported to INTERCONNECT. This is useful if you want to visualize the mode profiles in INTERCONNECT using the Mode Profile Analyzer element.
Updating the Model with Your Parameters
Instructions for updating the model based on your device parameters
Step 1 & 2
The waveguide simulation file is parametrized to allow easy modification of the common properties:
- Waveguide width
- Waveguide height
- Waveguide material and index
- Substrate material and index
- Clad material and index
- Boundary conditions (metal or PML whether the waveguide is straight or bent)
The wavelength/frequency is set in the Eigensolver Analysis window in the Modal analysis tab, available once you have clicked the Run button. Similarly, the wavelength/frequency range is available in the Frequency analysis tab.
Step 3
In the INTERCONNECT MODE Waveguide (WGD_1) element, you can modify the length property to change the waveguide length.
Parameter Extraction for CML Compiler
Instructions for parameter extraction for CML Compiler for compact model generation
This section describes how to automatically run the component level simulations of the waveguide and extract the parameters for CML Compiler. Once the parameters are extracted in the required format, they can be used in CML Compiler to generate the compact model. Here we extract model data for two waveguides in the template foundry library, Waveguide Straight (Fixed) and Waveguide Straight (Statistical) .
Note that the running of the CML Compiler is beyond the scope of this example. For more information about CML Compiler visit the CML Compiler overview and CML compiler product manual .
Steps to get the data and build the nominal Waveguide Straight (Fixed) compact model using CML Compiler are:
- Open the FDE simulation file and run the script file Waveguide_FDE_dataCMLCompiler.lsf . The generated wg_strip_straight_c.json file has all the data related to waveguide properties to build Waveguide Straight (Fixed) compact model using CMLC compiler.
- Copy and paste the generated json file ( wg_strip_straight_c.json ) to the wg_strip_straight_c element folder to build the compact model. Details on running CMLC to build a compact model can be found here ( Getting started with Lumfoundry Template (tutorial) – Ansys Optics).
Steps to get the data and build Waveguide Straight (Statistical) compact model using CML Compiler are:
- Open the FDE simulation file and run the script file Waveguide_FDE_dataCMLCompiler_statistical.lsf . The generated wg_ stat_ strip_straight_c . json has all the data related to waveguide properties to build Waveguide Straight (Statistical) compact model using CMLC compiler.
- Copy and paste the the generated json file ( wg_ stat_ strip_straight_c .json) to the wg_ stat_ strip_straight_c element folder to build the compact model. Details on running CMLC to build a compact model can be found here ( Getting started with Lumfoundry Template (tutorial) – Ansys Optics).
Mode information
In the script Waveguide_FDE_dataCMLCompiler.lsf , you must specify the number of the modes of interest in the list calculated by the eigensolver. It is recommended to calculate the modes beforehand to identify the appropriate mode numbers as explained in Step 1 of Run and Results; in addition, it is necessary to specify the desired name and ID for these modes. See the documentation in the script for more information. Note that the example in the script selects the fundamental TE and TM modes.
Temperature sensitivity
You can include temperature sensitivity of the effective index in the model by providing the appropriate value of \( dn_{eff}/dT \). This can be obtained from experiment or from simulation using the temperature to index conversion explained here .
Additional loss
The additional_loss parameter in the script allows you to add a loss value on top of the loss calculated by the eigensolver. This is particularly useful when the loss is underestimated by the simulation (for example, losses due to roughness are not accounted for in the simulation).
Statistical parameter information
In Waveguide_FDE_dataCMLCompiler_statistical.lsf , we introduce support for statistical modeling and simulation to the CML Compiler data file by defining the stat_parameters cell array. Component level simulations are run to capture the model sensitivity as a function of these parameters. Additional statistical parameters can be added.
Taking the Model Further
Information and tips for users that want to further customize the model
Using Symmetries
Symmetric and anti-symmetric boundary conditions can be used to reduce the simulation area. The choice of symmetry will affect the mode calculations as only the modes with the same symmetries will be found.
Overriding Loss
The solver will only determine propagation loss due to the materials (absorption) or radiative loss (for example in a bent waveguide). To take into account other sources of loss, you can override the loss when exporting the data to INTERCONNECT from MODE.
In the Mode Label and Orthogonal ID Editor window, set Override Loss to true and enter the loss for each mode in dB/cm.
Additional Resources
Additional documentation, examples and training material