StraightDirectionalCoupler
- class picazzo3.wg.dircoup.cell.StraightDirectionalCoupler
- A directional coupler consisting of 2 parallel (horizontal) straight waveguides. - Parameters:
- wg2b: PCell
- North-east waveguide 
- wg2a: PCell
- North-west waveguide 
- wg1b: PCell
- South-east waveguide 
- wg1a: PCell
- South-west waveguide 
- 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 
- trace_template1: PCell and _WaveguideTemplate
- waveguide template used by the south arm of the directional coupler 
- coupler_length: float and int, float, integer, floating and number >= 0
- length of the directional coupler 
- 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:
- n_inputs: int and number > 0, locked
- Number of input channels. 
- n_outputs: int and number > 0, locked
- Number of output channels. 
 
 - Views - class Layout
- Parameters:
- straight_extensions: Coord2 and number >= 0
- additional lengths of the couplers at start and end 
- wg2b_shape: Shape
- Shape for the north-east part of the waveguide 
- wg2a_shape: Shape
- Shape for the north-west part of the waveguide 
- wg1b_shape: Shape
- Shape for the south-east part of the waveguide 
- wg1a_shape: Shape
- Shape for the south-west part of the waveguide 
- coupler_spacing: float
- Spacing between the two waveguide centerlines. 
- 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 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) 