This example demonstrates the simulation of a ring (or racetrack) modulator and parameter extraction for CML Compiler for compact model generation. Simulation of the ring and racetrack resonators and modulators is best achieved by breaking the device into a series of sub-components (e.g. straight and bent waveguides, directional coupler, etc.), characterized separately using device-level simulations. These building blocks can then be combined into a circuit in INTERCONNECT to simulate the complete device. This approach provides accurate models while minimizing the overall simulation time. Direct simulation of large rings using 3D FDTD is not practical due to the large memory and time requirements, although it may be possible for some small rings. Here we will show how to simulate an active ring modulator in reverse bias. A similar approach can be used to simulate a ring resonator as well.
Understand the simulation workflow and key results
The essential building blocks of the ring and racetrack modulators are (1) a waveguide coupler, (2) passive waveguides, and (3) active waveguides.
The basic characterization of the waveguide coupler can be done with a single 3D FDTD simulation by calculating the power coupling coefficient as a function of frequency for the mode of interest. In this example, we focus on fundamental TE mode, and we neglect back reflections and backward coupling, which would require multiple FDTD simulations.
Straight and bent waveguide sections are best characterized using the FDE solver in MODE. Effective index, group index, and dispersion as a function of frequency for the band of interest are the key results needed to describe these sub-components. For the passive waveguide sections, two frequency sweeps are required to obtain this data; one for the straight waveguide and one for the bent waveguide. These quantities can be obtained without running the CHARGE simulation (STEP 3).
For the active waveguide section, the perturbation of the effective index with applied voltage can be characterized using the CHARGE and FDE solvers. A 2D CHARGE simulation is used to obtain the spatial distribution of charge carriers as a function of bias voltage. With this data, the FDE solver calculates the change in the effective index as a function of bias voltage.
The spatial distribution of charge carriers from STEP 3 will be loaded into the FDE solver. Two simulations are required to characterize the active waveguides:
- The bias voltage is set to zero and the effective index, group index, and dispersion as a function of frequency are calculated similarly to passive components explained in step 2.
- A sweep is performed to calculate the change in the effective index as a function of bias voltage. The wavelength is fixed at the center wavelength as the change in the effective index as a function of wavelength is negligible.
After each sub-component is characterized, the ring modulator can be assembled with primitive elements in INTERCONNECT. The results from the component-level simulations must be loaded into the corresponding elements in the INTERCONNECT circuit, and an optical network analyzer can be used to calculate the frequency-domain response. For simplicity, we focus on DC bias only, and we extract the modulation efficiency as a key result for a ring modulator.
Compact model generation with CML Compiler
To generate the compact model of the ring (or racetrack) modulator with CML Compiler, simply skip Step 5 and provide the data extracted in Steps 1 to 4 to CML Compiler. The Parameter Extraction for CML Compiler section uses the workflow management to automatically go through all the device level 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 .
Passive ring resonators
For passive ring resonators, simply skip any steps associated with the CHARGE solver (Step 3 and 4). An alternate INTERCONNECT model, without the modulator sub-components, is included in the associated example files.
Including thermal tuning
For rings with thermal tuning, additional component-level simulations with the HEAT solver are required, but the overall simulation workflow is very similar. See the section Taking the model further for more information.
Including electrical bandwidth
Additional simulation with the CHARGE solver is required to calculate the electrical RC limited bandwidth of the ring modulator, but the overall simulation workflow remains very similar. See the section Taking the model further for more information.
Time-domain compact model
The INTERCONNECT compact model of the ring modulator created in this example is suitable for frequency-domain simulations. Creating a model that works in time domain simulations is beyond the scope of this example.
Run and results
Instructions for running the model and discussion of key results
Step 1: Coupler
- Open the coupler_region.fsp simulation using FDTD.
- Run the simulation.
- Run the coupling_coefficient_step1.lsf script file to calculate and export the coupling coefficients as a function of frequency.
The coefficients will be saved to the [[coupling_coefficient.txt]] file. The coupling coefficient is the fraction of power that couples from the fundamental TE-mode in the straight waveguide to the fundamental TE-mode of the curved waveguide. Its value can be controlled by the gap distance between the bus waveguide and the ring resonator. The quality factor is a key parameter in different applications and is inversely proportional to the coupling coefficient.
Step 2: Passive straight and bent waveguides
- Open the rib_waveguide.lms simulation using MODE.
- Ensure the 'charge_distribution' object in 'Objects Tree' is disabled.
- Press 'Run', and from 'Eigensolver Analysis -->Modal analysis' tab ensure that the 'bent waveguide' setting is disabled.
- Press 'Calculate Modes'.
- Select the fundamental TE mode and click 'Frequency Sweep' from the 'Frequency analysis' tab. Once the sweep is done, click the 'Data export' from Options. Select 'ldf' and select 'Export to INTERCONNCT' button. Save the waveguide parameters into straight_wg.ldf .
- Go back to Modal analysis, enable the bent waveguide setting. Specify the bend radius of your device. Here we assume a bend radius of 10 μm.
- Re-run the mode solver.
- Select the fundamental mode and click 'Frequency Sweep' from the 'Frequency analysis' tab. Once the sweep is done, click the 'Data export' from Options. Select 'ldf' and select 'Export to INTERCONNCT' button. Save the waveguide parameters into passive_bent_wg.ldf .
Step 3: Charge distribution
- Open the waveguide_modulator.ldev simulation file.
- Run the simulation.
The simulation will calculate charge distribution for different applied voltages. The results will be saved to wg_charge.mat and will be used in the FDE solver to determine delta_n. The plot below shows the log plot of charge distribution for a 4V reverse bias voltage.
Step 4: Active bent waveguide
- Re-open the rib_waveguide.lms simulation file and return to layout mode. Enable the 'charge_distribution' object.
- Edit the 'charge distribution' object and import wg_charge.mat spatial charge distribution data. Select the voltage of 0 for 'V_anode'.
- Press Run and ensure the 'bent waveguide' setting is enabled in 'Modal analysis' tab in Eigen solver analysis window.
- Press 'Calculate Modes'.
- Select the fundamental mode and click 'Frequency Sweep' from the 'Frequency analysis' tab. Once the sweep is done, click the 'Data export' from Options. Select 'ldf' and select 'Export to INTERCONNCT' button. Save the waveguide parameters to file name active_bend_wg.ldf
- Load voltage_neff_sweep_step4.lsf into the simulation file and run it. The script will sweep over voltage values to calculate the effective index for the fundamental mode. Then it will save complex dn eff results as a function of voltage in Delta_neff.txt .
Step 5: INTERCONNECT compact model
- Open the ring_modulator_active.icp simulation using INTERCONNECT.
- Import FDTD and FDE results into corresponding elements (straight waveguide, bend waveguide and waveguide coupler). Setting the ring resonator parameters from the root element will automatically update the length or components accordingly.
- Set the voltage of interest in the DC source and run the simulation.
The results below are obtained by running the ring_modulator_active_step5.lsf file. The plot on the right is a zoomed-in view.
The following frequency domain results are provided by the Optical Network Analyzer as a function of voltage bias:
- Through channel transmission
- Drop channel transmission
- Quality factor
- Run the ring_modulator_active_step5.lsf script file to calculate:
- Free spectral range
- Extinction ratio
- Insertion loss
- Quality factor
- Modulation efficiency
Important model settings
Description of important objects and settings used in this model
Model setup script: A setup script in the model object of FDTD is used to set the waveguide geometry, ring geometry, material, gap between ring and waveguide, and port angle. Similar scripts are used under the model object of MODE and structure group under the geometry object of CHARGE to set the waveguide geometry. The script is a convenient way to ensure the waveguide and ring geometries, the gap between them, and port angles are correct. The geometry of these objects must be set via the setup script. Other properties, such as the simulation time or simulation region, can be modified directly in the objects.
Coupler with FDTD (Step 1)
Mesh override region: The distance between the input waveguide and ring waveguide is a critical parameter. A mesh override region is used to ensure the mesh is an integer multiple of the gap size in the Y-direction or waveguide thickness in the Z-direction.
Bent waveguide and mode rotation settings: For ports located on the ring, it is important to configure the modal properties to include the effect of the bend. The angle theta for the rotation is the same as the angle from the coupling region of the ring to the position of the port. This angle should be large enough to ensure the ports in the two waveguides do not overlap with each other. Before running the simulations, the model profile on each port must be checked to make sure that fundamental TE mode is injected.
Multifrequency mode injection: The waveguide coupling is sensitive to the change of the mode profile with frequency. Use the multifrequency mode injection option (under the Modal Properties tab of the port settings) to more accurately inject a broadband mode. The number of frequency points depends on how much the mode profile changes with frequency; in this example, we use 3 points since the change of the profile is small.
Waveguide with FDE (Steps 2, 4)
Mesh override region: The FDE mesh size should be similar to the CHARGE mesh size, to ensure that rapid variations in charge distribution are included in the mode calculation. A mesh override region over the waveguide core is used to enforce this condition.
Bent waveguide option: This simulation file is used for both straight and bent waveguide simulations. It is important to ensure the 'bent waveguide' option is in the correct state (enabled or disabled).
np density grid attribute: This simulation file is used for both passive and active waveguide simulations. It is important to ensure the 'Charge distribution' object option is in the correct state (enabled or disabled).
Active region with CHARGE (Step 3)
Mesh override region: For an accurate calculation, a fine enough mesh is necessary to capture the small changes in the size of the depletion region with voltage for the active waveguides.
Ring modulator circuit with INTERCONNECT (Step 5)
Sample rate : When an element is connected to both an Optical Network Analyzer (ONA) and an electrical source (e.g. a DC source), the frequency range of the ONA must be the same as the sample rate of the electrical source. Set the expression for the "frequency range" of the ONA to "%sample rate%" to make it the same as the sample rate of the Root Element. This ensures that the sampling rates (frequency ranges) of the electrical and optical sources are consistent with each other. To change the frequency range of the ONA, use the sample rate property of the Root Element such that a wavelength range of 1500nm – 1600nm (matching the FDTD and MODE results) is chosen for ONA.
Voltage range : The INTERCONNECT circuit is based on component level simulations using CHARGE, FDTD, and MODE. The circuit may not function properly for parameters outside the range of what was characterized in the component simulations. For example, if the modulator voltage is outside the range simulated in CHARGE, linear interpolation will be used to extrapolate the data. This can introduce errors. It is recommended to run the component simulations to cover the full parameter space of interest.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
When updating the model to match your component parameters, it is important to remember that multiple solvers and simulation files are involved. Changes must be made consistently in all the files. For example, changes to the waveguide width must be made in the FDTD, FDE, and CHARGE simulation files. Updated results from the component simulations must then be reloaded into INTERCONNECT.
Frequently changed component parameters:
- Ring radius (FDTD, FDE, INTERCONNECT): When updating the ring radius in FDTD, simulation objects such as port angle, FDTD simulation region, mesh position, and monitors have to be updated accordingly. Particularly, the port angle must be set such that it collects only the power inside the ring section. If a larger port angle is required, increase the simulation span.
- Source bandwidth (FDTD, FDE, INTERCONNECT)
- Waveguide geometry cross section (FDTD, FDE, CHARGE)
- Coupling gap distance (FDTD)
- Coupling length (FDTD, INTERCONNECT): Length of racetrack straight section, zero for circular rings.
- Material properties (FDTD, FDE, CHARGE)
- Bias voltage (CHARGE, INTERCONNECT)
- Doping profile (CHARGE)
- Modulation fraction (INTERCONNECT)
- Portion of the ring resonator that is modulated.
Parameter Extraction for CML Compiler
Instructions for parameter extraction for CML Compiler for compact model generation
This section describes how to automatically run the device level simulations of the ring (or racetrack) modulator and extract the parameters for CML Compiler. Note that the simulation workflow is identical to the one described in the Overview section , but we use the workflow management object in the Finite Element IDE to run all the (device level) steps automatically. Once the parameters are extracted in the required format, they can be used in CML Compiler to generate the compact model. 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 .
- Open the waveguide_modulator.ldev simulation file.
- Select and run the workflow object labeled parameter extraction.
- Run rm_strip_te_c.lsf script . This will generate rm_strip_te_c.json .
Some important considerations for running the workflow object:
- The Lumerical API must be configured beforehand. For Windows users the configuration is done automatically during installation of the software; however, for Linux and Mac users some additional steps are required, as explained here .
- The workflow creates a subfolder with the name waveguide_modulator_parameter_extraction and copies all the project and script files inside it. The workflow only runs the project and script files in this subfolder and all the original project and script files in the parent folder remain unchanged (except for the waveguide_modulator.ldev file which will contain the results from the workflow).
- The data file generated by the workflow will be saved in the parent folder along with the original project and script files.
The different components of the workflow object are described below:
parameter_extraction : This is the workflow object that drives all the device-level simulations and extracts the data. It contains user-defined parameters such as the names of the different project and script files, the simulation wavelength (for optical simulations), and the name and type (.mat or .json supported) of the data file.
step_1_coupler : This is a script task that runs Step 1 in the simulation workflow. It uses Lumerical API to open FDTD and loads the coupler_region.fsp project file and the coupling_coefficient_step1.lsf script file. It then runs the simulation and collects the results using the script file.
step_2_wg_passive : This is a script task that runs Step 2 in the simulation workflow. It uses Lumerical API to open MODE and load the rib_waveguide.lms project file. It then calculates the mode properties for both the straight and bent waveguide and imports the results.
step_3_charge : This is a solver task that runs Step 3 in the simulation workflow. It runs the CHARGE simulation in the waveguide_modulator.ldev project file. The charge monitor named monitor_wg automatically saves the charge density data in a .mat file.
step_4_wg_active : This is a script task that runs Step 4 in the simulation workflow. It uses Lumerical API to open MODE and load the rib_waveguide.lms project file and the voltage_neff_sweep_step4.lsf script file. It then calculates the mode properties for the active region of the ring as a function of bias and imports the results.
create_datafile : This is a script task that takes all the data from Step 1 to 4 and combines them to create the data file. Any additional data required by the CML Compiler besides the simulations results are provided in this step as part of the script (e.g. the thermal tuner data and the electrical bandwidth data as discussed below).
Steps to use the data file and build a Ring Modulator - Lumfoundry Template – Ansys Optics element compact model using CML Compiler are :
- Copy the generated rm_strip_te_c.json file.
Paste this file to the rm_strip_te_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).
The workflow above does not include the simulation of the thermal tuner. However, for the generation of the compact model using CML Compiler, data for the thermal tuner must be included. In this example, we have assumed that the data for the thermal tuner is available from experimental measurements and has been provided directly in the last step of the workflow management (create data file) to be packaged along with the other simulation results. See the "Taking the model further" section for more information about simulating the thermal tuner.
The workflow above does not include simulation of the electrical RC limited bandwidth. However, for the generation of the compact model using CML Compiler, electrical bandwidth data must be included. In this example, we have assumed that the electrical bandwidth data is available from experimental measurements and has been provided directly in the last step of the workflow management (created data file) to be packaged along with the other simulation results. See the "Taking the model further" section for more information about simulating the electrical bandwidth.
Taking the model further
Information and tips for users that want to further customize the model
S-parameters of directional coupler : S-parameters, rather than the coupling coefficient, can be used to better characterize the directional coupler by accounting for back reflections and cross-coupling.
Thermal tuning of modulator : Thermal tuning effects can be included in the model. The HEAT solver can be used to calculate the temperature profile in the waveguide. Load the temperature distribution into the FDE solver using the temperature grid attribute to calculate the perturbation in the effective index.
Electrical RC limited bandwidth of modulator : The RC limited bandwidth of the modulator can be calculated by calculating the slab resistance (R) and junction capacitance (C) of the active rib waveguide using the CHARGE solver. Refer to the Traveling Wave Modulator example to see how slab resistance and junction capacitance can be calculated for a pn junction. Once the R and C values are known, the bandwidth can be calculated as 1/(2πRC).
Time domain compact model : Additional configuration is required to create a compact model suitable for time-domain simulations in INTERCONNECT.
Additional documentation, examples, and training material