The Lumfoundry Template library contains several example elements that can serve as a starting point for your Elements. This guide will provide an index of the available template examples as well as a procedure for choosing a template example to fit a specific application.
Compact Model Library (CML) Compiler contains various photonic models that can be used to generate a variety of photonic elements calibrated to a specific foundry process for photonic circuit simulation. In this article, you can find a table of different passive and active photonic elements which may be included in a compact model library. For each element type, a list of suggested photonic models are provided, along with template examples for each. Descriptions of the templates are provided to help choose which photonic model from the list is most appropriate for the element implementation of interest. After selecting a photonic model, the chosen template can be modified for creating a customized compact model library using CML compiler. Please refer creating a custom CML for additional details.
Please refer to Photonic Models for a detailed description of each photonic model and Lumfoundry Templates for a detailed description of each template example.
Photonic Elements Table
Passive Elements
Photonic Elements | Photonic Model | Available Lumfoundry Template Examples |
---|---|---|
Crossing (Waveguide) | spar_fixed | MMI (Fixed) provides a template for fixed elements described entirely by S-parameters. This template example can be modified for a waveguide crossing and is best suited for simulating waveguide crossings defined by fixed s-parameters. |
sparsweep_pcell | MMI (Temperature Dependent) provides a template for fixed elements which include temperature dependence and are described by S-parameters. This example can be modified for a crossing and is best suited for simulating a crossing with temperature-dependent s-parameter data. | |
MMI (Statistical) provides a template for fixed elements which include statistical parameters and are described by S-parameters. This example can be modified for a crossing and is best suited for simulating a statistically enabled waveguide crossing described by parameterized s-parameters. | ||
Waveguide Taper (Parameterized) provides a template for elements which are parameterized (typically geometrically) and are described by S-parameters. This example can be modified for a crossing and is best suited for simulating crossings with geometrically parameterized s-parameter data | ||
Directional Coupler | spar_fixed | Directional Coupler (Fixed) provides an example of a directional coupler element which is described entirely using S-parameters. |
directional_coupler_parameterized | Directional Coupler (Parameterized) provides an example of a parameterized directional coupler element, which uses an analytic model and requires coefficients obtained from fitting experimental data. | |
Edge Coupler | spar_fixed | Grating Coupler (Fixed) provides a template for fixed elements which are described entirely by S-parameters, and for which phase considerations are ignorable from a practical standpoint. This example can be modified for an edge coupler and is best suited for simulating an edge coupler with fixed s-parameter data. |
sparsweep_pcell | MMI (Temperature Dependent) provides a template for fixed elements which include temperature dependence and are described by S-parameters. This example can be modified for an edge coupler and is best suited for simulating an edge coupler with temperature dependent s-parameter data. | |
MMI (Statistical) provides a template for fixed elements which include statistical parameters and are described by S-parameters. This example can be modified for an edge coupler and is best suited for simulating a statistically enabled edge coupler described by parameterized s-parameters. | ||
Waveguide Taper (Parameterized) provides a template for elements which are parameterized (typically geometrically) and are described by S-parameters. This example can be modified for an edge coupler and is best suited for simulating an edge coupler with geometrically parameterized s-parameter data. | ||
Grating Coupler | spar_fixed | Grating Coupler (Fixed) provides an example of a fixed grating coupler element, described entirely by S-parameters. |
grating_coupler | Grating Coupler (Fitted) provides a template to simulate a grating coupler described by the fitted transmission spectrum. | |
Scripted Grating Coupler (Statistical) provides a template to simulate a grating coupler described by a custom Setup Script. |
||
MMI | spar_fixed | MMI (Fixed) provides an example of a fixed MMI element. |
sparsweep_pcell | MMI (Temperature Dependent) provides an example of a fixed MMI element which includes temperature dependence. | |
MMI (Statistical) provides a template for fixed elements which include statistical parameters, and are described by S-parameters. | ||
Waveguide Taper (Parameterized) provides a template for elements which are parameterized (typically geometrically) and are described by S-parameters. This example can be modified and is best suited for simulating an MMI with geometrically parameterized s-parameter data. | ||
Polarization Rotator / Splitter / Combiner | spar_fixed | MMI (Fixed) provides a template for fixed elements described entirely by S-parameters. This example can be modified and is best suited for simulating a polarization rotator, splitter or combiner with fixed s-parameter data. |
sparsweep_pcell | MMI (Temperature Dependent) provides a template for fixed elements which include temperature dependence and are described by S-parameters. This example can be modified and is best suited for simulating a polarization splitter/combiner/rotator with temperature dependent s-parameter data. | |
MMI (Statistical) provides a template for fixed elements which include statistical parameters and are described by S-parameters. This example can be modified and is best suited for simulating a statistically enabled polarization splitter/combiner/rotator described by parameterized s-parameters. | ||
Waveguide Taper (Parameterized) provides a template for elements which are parameterized (typically geometrically) and are described by S-parameters. This example can be modified and is best suited for simulating a polarization splitter/combiner/rotator with geometrically parameterized s-parameter data. | ||
Taper | spar_fixed | MMI (Fixed) provides a template for fixed elements described entirely by S-parameters. This example can be modified for a taper and is best suited for simulating a taper with fixed s-parameter data. |
sparsweep_pcell | MMI (Temperature Dependent) provides a template for fixed elements which include temperature dependence and are described by S-parameters. This example can be modified for a taper and is best suited for simulating a taper with temperature dependent s-parameter data. | |
MMI (Statistical) provides a template for fixed elements which includes statistical parameters and are described by S-parameters. This example can be modified and is best suited for simulating a statistically enabled taper described by parameterized s-parameters. | ||
Waveguide Taper (Parameterized) provides an example of a waveguide taper which is geometrically parameterized. | ||
Transition (Waveguide) | spar_fixed | MMI (Fixed) provides a template for fixed elements described entirely by S-parameters. This example can be modified and is best suited for simulating a transition between waveguide types with fixed s-parameter data. |
sparsweep_pcell | MMI (Temperature Dependent) provides a template for fixed elements which include temperature dependence and are described by S-parameters. This example can be modified and is best suited for simulating a transition between waveguide types with temperature dependent s-parameter data. | |
MMI (Statistical) provides a template for fixed elements which includes statistical parameters and are described by S-parameters. This example can be modified and is best suited for simulating a statistically enabled transition between waveguide types described by parameterized s-parameters | ||
Waveguide Taper (Parameterized) provides a template for elements which are parameterized (typically geometrically) and are described by S-parameters. This example can be modified and is best suited for simulating a transition between waveguide types with geometrically parameterized s-parameter data. | ||
Waveguide (Straight) |
spar_fixed | MMI (Fixed) provides a template for fixed elements described entirely by S-parameters. This example can be modified for a waveguide is best suited to simulate a straight waveguide of fixed length and s-parameter data. |
waveguide_simple | Waveguide Straight (Fixed) provides an example of a straight waveguide which is modeled analytically using mode properties, and is parameterized only in waveguide length. | |
Waveguide Straight (Statistical) provides an example of a straight waveguide which is modeled analytically using mode properties, and includes statistical parameters. | ||
wg_parameterized | Waveguide Straight (Parameterized) provides an example of a straight waveguide which is modeled analytically using mode properties, and is parameterized in waveguide length, width, and temperature. | |
Waveguide Straight (Parameterized, Statistical) provides an example of a straight waveguide which is modeled analytically using mode properties, is parameterized in waveguide length, width, and temperature, and includes statistical parameters. | ||
Waveguide Backscatter provides an example of a straight waveguide which is modeled analytically using mode properties and includes backscattering behavior. | ||
waveguide_back_annotation | Waveguide Back Annotation is used to model routing waveguides that have back annotation with third party tools. | |
Scripted Waveguide provides a template to simulate a straight waveguide described by a custom Setup Script. |
||
Waveguide (Arc) | waveguide_simple | Waveguide Arc (Fixed) provides an example of a waveguide arc which is modeled analytically using mode properties, and is parameterized only in arc angle. It uses the waveguide_simple photonic model. |
wg_parameterized | Waveguide Arc (Parameterized) provides an example of a waveguide arc which is modeled analytically using mode properties, and is parameterized by width, radius, angle, and temperature. It uses the wg_parameterized photonic model. | |
spar_fixed | MMI (Fixed) provides a template for fixed elements described entirely by S-parameters. This example can be modified and is best suited to simulate a waveguide arc of fixed arc length and s-parameter data. | |
Waveguide (S-Bend) | spar_fixed | MMI (Fixed) provides a template for fixed elements described entirely by S-parameters. This example can be modified for a waveguide S-bend and is best suited to simulate a waveguide S bend of fixed length and s-parameter data. |
waveguide_simple | Waveguide S-Bend (Fixed) provides an example of a waveguide S-Bend which is modeled analytically using mode properties, and is parameterized only in temperature. | |
wg_parameterized | Waveguide S-Bend (Parameterized) provides an example of a waveguide S-Bend which is modeled analytically using mode properties, and is parameterized by geometry, waveguide width, and temperature. | |
Y-Branch | spar_fixed | MMI (Fixed) provides a template for fixed elements described entirely by S-parameters. This example can be modified for a Y-branch and is best suited to simulate a Y-branch with fixed s-parameter data. |
sparsweep_pcell | MMI (Temperature Dependent) provides a template for fixed elements which include temperature dependence and are described by S-parameters. This example can be modified for a Y-branch and is best suited for simulating a Y-branch with temperature dependent s-parameter data. | |
MMI (Statistical) provides a template for fixed elements which includes statistical parameters and are described by S-parameters. This example can be modified for a Y-branch and is best suited for simulating a statistically enabled Y-branch described by parameterized s-parameters. | ||
Waveguide Taper (Parameterized) provides a template for elements which are parameterized (typically geometrically) and are described by S-parameters. This example can be modified for a Y-branch and is best suited for simulating a Y-branch with geometrically parameterized s-parameter data. | ||
Custom | container_element | container_example This is an advanced model that enables users to combine multiple elements into a single element. |
scripted_element | scripted_wg This is an advanced model that enables users to create custom scripted elements. | |
compound_element | compound_element This is an advanced model that enables users to create custom compound elements using other elements in the library. |
Active Elements
Photonic Elements | Photonic Model | Available Lumfoundry Templates Examples |
---|---|---|
Electrical Phase Shifter |
phase_shifter_electrical |
Electrical Phase Shifter provides two examples of electrical phase shifters, one with a travelling wave electrode model and one with a lumped electrode model. Both are parameterized with respect to the active region, but can be modified to have fixed shifter lengths as well. |
Electrical Phase Shifter (Statistical) provides two examples of electrical phase shifters, one with a travelling wave electrode model and one with a lumped electrode model. Bothinclude statistical parameters. | ||
Electro-Absorption Modulator | electro_absorption_modulator | Electro-absorption Modulator provides a template to simulate an electro-absorption modulator using the Franz-Keldysh effect. |
Mach-Zehnder Modulator |
|
Mach-Zehnder Modulator provides two examples of mach-zehnder modulators, one with a travelling wave electrode model and one with a lumped electrode model. Both are parameterized with respect to imbalance length, as well as phase shifter length, but can be easily modified to support fixed models. |
Mach-Zehnder Modulator (Statistical) provides an example of mach-zehnder modulator with a lumped electrode model. This example includes statistical parameters. |
||
Mach-Zehnder Interferometer (thermally tuned) provides an example of a passive MZI with thermal tuning capability. |
||
mach_zehnder_modulator_2x2
|
Mach-Zehnder Modulator 2x2 provides examples of mach-zehnder modulators with 2 inputs and 2 outputs, one with a travelling wave electrode model and one with a lumped electrode model. Both are parameterized with respect to imbalance length, as well as phase shifter length, but can be easily modified to support fixed models. | |
Mach-Zehnder Modulator 2x2 (Statistical) provides an example of mach-zehnder modulator with 2 inputs and 2 outputs, with a lumped electrode model. This example includes statistical parameters. |
||
Mach-Zehnder Interferometer 2x2 (thermally tuned) provides an example of a passive MZI with 2 inputs/outputs and thermal tuning capability. |
||
Photodetector |
photodetector_simple | Photodetector provides an example of a photodetector model. |
Photodetector Pcell provides an example of a photodetector model in which the performance is parameterized based on the physical dimensions of the device such as length and width. |
||
Ring Modulator | ring_modulator | Ring Modulator provides an example of a single-bus ring modulator model. |
Ring Modulator (Statistical)provides an example of a single-bus ring modulator model which includes statistical parameters. | ||
Ring Resonator |
Ring Resonator provides an example of a single-bus ring resonator model. |
|
Ring Resonator (Statistical)provides examples of single-bus and double-bus ring modulator models which include statistical parameters. |
||
Thermal Phase Shifter |
phase_shifter_thermal |
Thermal Phase Shifter provides an example of a thermal phase shifter that's parameterized with respect to phase shifter length. |
Thermal Phase Shifter (Statistical) provides an example of a thermal phase shifter which includes statistical parameters. | ||
Custom | container_element | Container This is an advanced model that enables users to combine multiple elements into a single element. |
compound_element | compound_element This is an advanced model that enables users to create custom compound elements using other elements in the library. |