This is an example of how the scripted element model can be used to create a waveguide element. The scripted element will be useful in cases where the models offered by CML Compiler do not offer capabilities/features needed or there is no model offered that can be used for a specific photonic device. In such cases, a custom model can be built using Lumerical scripting language to model the behavior of the desired photonic device.
Note: the scripted element model is an advanced model. Please see other waveguide examples in lumfoundry template for more typical waveguide implementations.
Note: You are now visiting legacy data format page (2022 R2.4 and older). For current data format page (2023 R1.1 onwards) please visit following link:
Scripted Waveguide - Lumfoundry Template
Template: scripted_wg
Photonic Model: scripted_element
Quality Assurance Test: scripted_element QA
Parameters: User defined
Virtuoso/Verilog-A Support: No
[[snippet||6622829509139]]
Data File
Comparing with wg_strip_straight_c template offered by CML Compiler for the waveguide simple photonic model, while the information in the data file is exactly the same for both, the job of converting the source data into a waveguide model is done by the setup script in case of the waveguide template using the scripted element photonic model. Whereas for the template using waveguide simple photonic model, this is taken care of by the photonic model itself and no setup script is needed to be provided by the user. In the case of the scripted waveguide, the user has the complete freedom on how the source data is converted into a waveguide model and that is an advantage offered by the scripted element photonic model for customization.
Variable | Type | Description |
---|---|---|
setup script |
String |
String defining the set-up script to be loaded. It is often helpful to build "setup script" using a combination of an lsf script stored in a string and the toscript command. The latter translates data from the INTERCONNECT workspace to a string. It currently only supports passive components with s-parameters set with the setsparameter command. |
<custom> |
Custom |
The source data will depend on the custom scripted element. Data and the setup script code can be defined directly in the source .lsf script, or in external data files that are loaded. It currently only supports passive components with s-parameters set with the “setsparameter” command. |