Port Definitions
Variable | Type | Description |
---|---|---|
ports |
Cell |
A cell array containing structs which have information about each port. Every struct must contain the following fields:
|
Photonic Model
Variable | Type | Description |
---|---|---|
photonic_model |
string |
String containing the name of the photonic model used for this template. Please visit here for a list of all available photonic models. |
Cosmetic Variables
Variable | Type | Description |
---|---|---|
description | String | A string containing a brief description of the model, which will be displayed to the end user. |
prefix | A string containing the prefix of the model, which will be used within interconnect to provide incrementing element names for each successive element that is added to the simulation layout. | |
notes | Cell |
A cell array which provides model notes that will be displayed to the end user. Each element of the cell is a struct with the fields:
|
Parameter Variables
Variable | Type | Description |
---|---|---|
Coupling_gap_par |
Boolean |
A struct defining the coupling gap of the directional coupler: name: name of the ‘coupling gap’ parameter as it will appear in the Property View window. unit: this is the default unit used in the Property View window. The options are "cm", "km", "m", "mm", "nm" and "um" visible: To make the coupling gap a user parameter, set to true. annotate: enable or disable annotating the parameter value in the element. min, max: minimum and maximum values allowed for the coupling gap. The user will be warned when trying to set a value outside this range |
Coupling_length_par |
Struct |
A struct defining the coupling length of the directional coupler: name: name of the ‘coupling length’ parameter as it will appear in the Property View window. unit: this is the default unit used in the Property View window. The options are "cm", "km", "m", "mm", "nm" and "um" visible: To make the coupling length a user parameter, set to true. annotate: enable or disable annotating the parameter value in the element. min, max: minimum and maximum values allowed for the coupling gap. The user will be warned when trying to set a value outside this range |
Bend_length_props |
Cell |
Cell arrays containing structs which describes length properties. For detailed information about this variable, see bend_length_props section.
|
temperature |
String or Number |
Temperature can be defined in one of two ways for the model:
A number containing the temperature of the element, in degrees Kelvin. |
Modeling Variables
Variable | Type | Description |
---|---|---|
data_filename |
String
|
A string containing the filename of the data file for this element. This must include the extension of the file (.json or .mat). |
Length_formula |
A string containing lumerical script which defines the waveguide length as wg_lengt. This string uses the properties in bend_length_props variable. |
|
Debug_mode |
Boolean |
Flag to enable showing waveguide properties in Result View |
number_of_taps_estimation |
String |
A string containing the method of choosing the number of taps for the FIR filter of the element. Valid entries are:
"disabled" - Disables tap estimation and uses the number of 'fir_taps' provided by the user. |
fir_taps |
Number |
Number of taps for the FIR filter. Larger number allows to resolve frequency dependence better but increases time delay. Suggestions:
Set to ~1 for devices that will be used in circuits where time delays are a concern |
Bend_length_props:
The parameters cell array contains structs which define length properties. Each structure defines properties of a single parameter, and contains the following fields:
Field | Type | Description |
---|---|---|
name |
String
|
A string which contains the name of the parameter. |
category |
A string which contains the name of the category that the parameter will be under within the property view of INTERCONNECT. |
|
type |
A string with the type of value allowed by this parameter. The options are given by the "Type" dropdown menu within the Property Editor in INTERCONNECT. Some examples:
|
|
kind |
A string with the type of quantity described by this parameter. The values for this parameter correspond to the allowed values within the "Kind" dropdown menu within the Property Editor in INTERCONNECT. The "Kind" determines the units. Some example kinds are:
|
|
unit |
A string with the unit of the parameter. This should be a valid unit with respect to the parameter kind set in the "kind" field, and must correspond to the allowed values for the "type" field. Some example units are:
|
|
annotate |
Boolean
|
A boolean value which controls whether or not this parameter is annotated on the final INTERCONNECT element. |
visible_to_user |
A boolean value which controls whether or not this parameter is present* within the final INTERCONNECT element. |
|
value |
Array |
A vector containing the values for which this parameter's mode properties have been evaluated. The length of this vector must match the dimension of the mode property matrices which corresponds to this parameter. It's recommended that this is set using a vector which is contained within the data file. For more information about the mode property matrix layout, see the Data Description section. |
default_value |
Number
|
The default value of the parameter. Also, the fixed value of the parameter if visible_to_user is set to false. |
min |
The minimum allowed parameter value. |
|
max |
The maximum allowed parameter value. |
|
expression (optional) |
String |
The relationship between the values stored in the "values" field, and the user-facing values (eg. curvature=1radiuscurvature=1radius). This field only applies to INTERCONNECT CML. |
reciprocal_veriloga |
Booleane |
The relationship between the values stored in the "values" field, and the user-facing values. Set to 'true' or false to enable or disable reciprocal relationship, respectively. This field only applies to Verilog-A CML. |
Note: that most of these fields are visible to the end user!