Esempio n. 1
0
 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
Esempio n. 2
0
    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
Esempio n. 3
0
	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
Esempio n. 4
0
    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
Esempio n. 5
0
    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
Esempio n. 6
0
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,
Esempio n. 7
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(