MMIIdentical

class picazzo3.filters.mmi.cell.MMIIdentical

Rectangular multimode interferometer, generated from a trace template with identical input and output trace_templates.

Parameters:
output_trace_template: PCell

Output trace template.

input_trace_template: PCell

Input trace template.

mmi_trace_template: PCell and _WaveguideTemplate

Trace template used for the MMI section

n_outputs: int and number > 0

Number of output channels.

n_inputs: int and number > 0

Number of input channels

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:
mmi_trace: PCell, locked

Trace of the MMI section

output_trace_templates: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked

List of the output trace templates.

input_trace_templates: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked

List of the input trace templates.

Views

class Layout
Parameters:
length: float and number > 0

Length of the MMI

output_y_positions: list<Real, number>

Positions in the y direction at the output where ports are be added

input_y_positions: list<Real, number>

Positions in the y direction at the input where ports are be added

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

Examples

import si_fab.all as pdk  # noqa: F401
from picazzo3.filters.mmi.cell import MMIIdentical
from picazzo3.traces.wire_wg.trace import WireWaveguideTemplate
import ipkiss3.all as i3

mmi_trace_template = WireWaveguideTemplate()
mmi_trace_template.Layout(core_width=6.0, cladding_width=10.0)
MMI = MMIIdentical(
    mmi_trace_template=mmi_trace_template,
    input_trace_template=i3.TECH.PCELLS.WG.DEFAULT,
    output_trace_template=i3.TECH.PCELLS.WG.DEFAULT,
    n_inputs=3,
    n_outputs=2,
)
layout = MMI.Layout(length=10.0, input_y_positions=[-2.0, 0.0, 2.0], output_y_positions=[-1.0, 1.0])
layout.visualize(annotate=True)
../../../../../_images/picazzo3-filters-mmi-cell-MMIIdentical-1.png