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)
../../../../../../_images/si_fab-all-HeatedWaveguide-1.png

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