si_fab.all.HeatedWaveguide
- class si_fab.all.HeatedWaveguide
Phase shifter waveguide with heater layers on each side.
The heater will follow the shape of the waveguide. Metal contacts are placed at the start and end of the heater.
- Parameters:
- m1_length: float and number > 0
Length of the M1 contacts.
- m1_extension: float and Real, number and number >= 0
Extension of the M1 contact beyond the heaters. The total width of M1 is equal to 2 * m1_extension + heater_width + 2 * heater_offset.
- heater_offset: float and number > 0
Offset of the heaters from the waveguide center.
- heater_width: float and number > 0
Width of the heater.
- trace_template: PCell and _WaveguideTemplate
- external_port_names: str
Dictionary for remapping of the port names of the contents to the external ports
- name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters
The unique name of the pcell
- Other Parameters:
- contents: PCell and _Trace, locked
from si_fab import technology
from si_fab.all import HeatedWaveguide
lo = HeatedWaveguide().Layout()
lo.visualize(annotate=True)
Ports
Name |
Type |
Position |
Angle |
Waveguide Template |
Inclination |
---|---|---|---|---|---|
in |
Optical |
(0.0, 0.0) |
180.0 |
SWG450 |
0.0 |
out |
Optical |
(9.0, 0.0) |
0.0 |
SWG450 |
0.0 |
elec1 |
Electrical |
(1.5, -0.0) |
None |
M1WireTemplate |
0.0 |
elec2 |
Electrical |
(7.5, 0.0) |
None |
M1WireTemplate |
0.0 |
Circuit
Parameters
- loss_db_per_cm: float and number > 0
Waveguide propagation loss [dB/cm]
- delta_lambda: float and number > 0
Wavelength step used to approximate the derivative of the effective index to calculate the group index
- v_bias_dc: float
DC voltage bias on the heater (only for S-matrix calculations)
- p_pi_sq: float and number > 0
Power needed for a pi phase shift on a square [W]
layout_view: ( _LayoutView ), None allowed
netlist_view: ( NetlistView ), None allowed
- view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.
The name of the view
Other Parameters
- solver: str and String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters, locked
circuit solver to use
Layout
Parameters
- core_layer: __Layer__
layer used to define the core of the waveguide
input_port: TracePort
- trace_template_for_ports: _TraceTemplate.Layout
Trace template to be used for the ports.
- shape: Shape
Shape from which the Trace is calculated
- cover_layers: List with type restriction, allowed types: <class ‘ipkiss.primitives.layer.Layer’>
layers that can be used to generate additional coverage of the trace (e.g. manhattan corners)
- control_shape_layer: __Layer__
layer on which the control shape is drawn
output_port: TracePort
- draw_control_shape: ( bool, bool_ or int )
draws the control shape on top of the waveguide
contents_transformation: GenericNoDistortTransform
- flatten_contents: ( bool, bool_ or int )
if True, it will insert the contents as elements in the layout, rather than as an Instance
- view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.
The name of the view
Other Parameters
- center_line_shape: locked
Automatically calculated shape of the center line of the trace