(xbot + 100, ybot - 200), (xmmi_top - 100, ybot - 200), (xmmi_top - 100, ybot), (xmmi_top, ybot), ], wgt, ) tk.add(top, wg3) gc2 = GratingCouplerFocusing( wgt, focus_distance=20.0, width=20, length=40, period=1.0, dutycycle=0.7, port=(mmi2.portlist["input"]["port"][0] + 100, mmi2.portlist["input"]["port"][1]), direction="EAST", ) tk.add(top, gc2) wg_gc2 = Waveguide( [mmi2.portlist["input"]["port"], gc2.portlist["output"]["port"]], wgt) tk.add(top, wg_gc2) tk.build_mask(top, wgt, final_layer=3, final_datatype=0) gdspy.LayoutViewer() gdspy.write_gds("tutorial2.gds", unit=1.0e-6, precision=1.0e-9)
circle = gdspy.Round((0, 0), radius=(inch / 2) * 25400, tolerance=0.01) #------------------------------------ MyStamps = LesStamps.Stamps() top = gdspy.Cell("top") MyStamps.MakesStampFromMotif(top, MyStamps.LinesCell(name='Lines_Grating'), X0=-16_000, Y0=0) MyStamps.MakesStampFromMotif(top, MyStamps.LinesCell(name='Lines_Taper'), X0=0, Y0=0) # X0=20_000,Y0=0) MyStamps.MakesStampFromMotif(top, MyStamps.Spirales(name='Spiral_Grating'), X0=-16_000, Y0=-20_000) MyStamps.MakesStampFromMotif(top, MyStamps.Spirales(name='Spiral_Taper'), X0=0, Y0=-20_000) tk.add(top, circle) #circle for the wafer size tk.build_mask(top, MyStamps.wgt[1], final_layer=3, final_datatype=0) gdspy.write_gds('tests.gds', unit=1.0e-6, precision=1.0e-9) # gds viewer KLayout # gdspy.LayoutViewer()