def _default_mmi1_12(self): mmi12 = MMI1x2Tapered( mmi_trace_template=self.mmi_trace_template, input_trace_template=self.mmi_access_template, output_trace_template=self.mmi_access_template, trace_template=self.wg_sm, ) return mmi12
def _default_mmi1_12(self): mmi12 = MMI1x2Tapered(mmi_trace_template=self.mmi_trace_template, input_trace_template=self.mmi_access_template, output_trace_template=self.mmi_access_template, trace_template=self.wg_sm, port_labels=["out1", "out2"], ) return mmi12
def _default_MMI12(self): mmi12 = MMI1x2Tapered(mmi_trace_template=self.wg_t_MM, input_trace_template=self.wg_t_port, output_trace_template=self.wg_t_port, trace_template=self.wg_t, name = 'MMI12_w_{}_L_{}'.format(self.width,self.length_12 ),) mmi12.Layout(transition_length=self.l_taper, length=self.length_12, trace_spacing=self.ts_12)#.visualize(annotate=True) return mmi12
def _default_mmi1_12(self): mmi12 = MMI1x2Tapered( mmi_trace_template=self.mmi_trace_template, input_trace_template=self.mmi_access_template, output_trace_template=self.mmi_access_template, trace_template=self.wg_sm, port_labels=["out1", "out2"], ) mmi12.Layout(transition_length=200.0, length=97.0, trace_spacing=11.0) mmi1_12_taper = AutoTransitionPorts(contents=mmi12, port_labels=['in'], trace_template=self.wg_sm2) mmi1_12_taper.Layout(transition_length=200.0) return mmi1_12_taper
def _default_mmi1_12(self): mmi12 = MMI1x2Tapered( mmi_trace_template=self.mmi_trace_template, input_trace_template=self.mmi_access_template, output_trace_template=self.mmi_access_template, trace_template=self.wg_sm, port_labels=["out1", "out2"], ) mmi12.Layout(transition_length=200.0, length=self.length, trace_spacing=11.0) mmi1_12_taper = AutoTransitionPorts(name="MMI12{}".format( str(np.random.randint(0, 10000))), contents=mmi12, port_labels=['in'], trace_template=self.wg_sm2) mmi1_12_taper.Layout(transition_length=200.0) return mmi1_12_taper
WG1 = i3.Waveguide(name="Dongbo", trace_template=wg_t1) layout_WG1 = WG1.Layout(shape=[(0.0, 0.0), (50.0, 0.0)]) WG2 = WireWaveguideTransitionLinear(start_trace_template=wg_t1, end_trace_template=wg_sm) layout_WG2 = WG2.Layout(start_position=(50.0, 0.0), end_position=(350.0, 0.0)) # layout_WG2.visualize() WG3 = WireWaveguideTransitionLinear(start_trace_template=wg_sm, end_trace_template=wg_t1) layout_WG3 = WG3.Layout(start_position=(50.0, 0.0), end_position=(350.0, 0.0)) mmi1_12 = MMI1x2Tapered( mmi_trace_template=mmi_trace_template, input_trace_template=mmi_access_template, output_trace_template=mmi_access_template, trace_template=wg_sm, ) layout_mmi1_12 = mmi1_12.Layout(transition_length=200.0, length=97.0, trace_spacing=11.0) mmi22 = MMI2x2Tapered( mmi_trace_template=mmi_trace_template, input_trace_template=mmi_access_template, output_trace_template=mmi_access_template, trace_template=wg_sm, ) layout_mmi22 = mmi22.Layout(transition_length=200.0,
layout_WG1 = WG1.Layout(shape=[(0.0, 0.0), (50.0, 0.0)]) WG2 = WireWaveguideTransitionLinear(start_trace_template=wg_t1, end_trace_template=wg_sm) layout_WG2 = WG2.Layout(start_position=(50.0, 0.0), end_position=(350.0, 0.0)) #layout_WG2.visualize() WG3 = WireWaveguideTransitionLinear(start_trace_template=wg_sm, end_trace_template=wg_t1) layout_WG3 = WG3.Layout(start_position=(50.0, 0.0), end_position=(350.0, 0.0)) mmi1_12 = MMI1x2Tapered( mmi_trace_template=mmi_trace_template, input_trace_template=mmi_access_template, output_trace_template=mmi_access_template, port_labels=["out1", "out2"], trace_template=wg_sm, ) layout_mmi1_12 = mmi1_12.Layout(transition_length=200.0, length=97.0, trace_spacing=11.0) mmi1_12_taper = AutoTransitionPorts(contents=mmi1_12, port_labels=['in'], trace_template=wg_sm2) layout12 = mmi1_12_taper.Layout(transition_length=200) port_lable = ["in1", "in2"] mmi1_21 = MMI2x1Tapered(