A directional coupler consisting of 2 parallel (horizontal) straight waveguides.
trace_template1: PCell and _WaveguideTemplate
waveguide template used by the south arm of the directional coupler
trace_template2: PCell and _WaveguideTemplate
waveguide template used by the north arm of the directional coupler. If not set, it defaults to the template of the south arm
coupler_length: float and Real, number and number >= 0
length of the directional coupler
The unique name of the pcell
n_inputs: int and number > 0, locked
Number of input channels.
n_outputs: int and number > 0, locked
Number of output channels.
additional lengths of the couplers at start and end
view_name: str and ( Alphanumeric string or Contains _$ )
The name of the view
Spacing between the two waveguide centerlines.
Shape for the south-west part of the waveguide
Shape for the south-east part of the waveguide
Shape for the north-west part of the waveguide
Shape for the north-east part of the waveguide
from technologies import silicon_photonics from ipkiss3 import all as i3 from picazzo3.wg.dircoup import StraightDirectionalCoupler from picazzo3.traces.wire_wg.trace import WireWaveguideTemplate wg_t = WireWaveguideTemplate(name="my_wg_template1") wg_t.Layout(core_width=0.550, cladding_width=i3.TECH.WG.CLADDING_WIDTH, core_process=i3.TECH.PROCESS.WG) C = StraightDirectionalCoupler(name="my_dircoup1", trace_template1=wg_t, coupler_length=6.0) layout = C.Layout(coupler_spacing=0.7) layout.visualize(annotate=True)