def define_rounding_algorithm(self): return SplineRoundingAlgorithm( adiabatic_angles=(self.adiabatic_angle_in_coupler, self.adiabatic_angle_in_ring))
from ipkiss.all import * # our basic component that we will use... from picazzo.filters.ring import RingRect180DropFilter my_ring = RingRect180DropFilter(name="My_Ring") from picazzo.container import RoutePortsEastWest ## Routing using default parameters #my_ring_ew = RoutePortsEastWest(structure = my_ring, #ports_to_east = ["E0", "E1", "W1" ], # ports to be routed eastwards #ports_to_west = ["W0"] # ports to be routed westwards #) #my_ring_ew.write_gdsii("route_east_west_1.gds") # customize all parameters from ipkiss.geometry.shapes.spline import SplineRoundingAlgorithm my_ring_ew_2 = RoutePortsEastWest( structure=my_ring, structure_transformation=Rotation(rotation=-20.0), ports_to_east=["E0", "E1", "W1"], ports_to_west=["W0"], reference_east="E0", # Port that serves as y-reference reference_west="W0", # Port that serves as y-reference spacing=17.0, # vertical spacing between outputs manhattan=True, # add suares on corners bend_radius=3.0, # bend radius of the waveguides rounding_algorithm=SplineRoundingAlgorithm(adiabatic_angles=(10.0, 10.0))) my_ring_ew_2.write_gdsii("route_east_west_2.gds")