Esempio n. 1
0
# Contact: [email protected]

from technologies.si_photonics.picazzo.default import *
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 TaperDeepPorts
from ipkiss.plugins.photonics.wg import WgElDefinition

my_ring_tapered = TaperDeepPorts(structure=my_ring,
                                 port_labels=["W0", "E0", "E1"],
                                 end_wg_def=WgElDefinition(wg_width=0.7))
my_ring_tapered.write_gdsii("taper_ports_1.gds")

from picazzo.wg.wgdefs.wg_fc import ShallowWgElDefinition

my_shallow_wg = ShallowWgElDefinition(
    wg_width=0.6)  # a shallow etched waveguide
my_shallow_ring = RingRect180DropFilter(
    name="My_Shallow_Ring",
    ring_wg_definition=my_shallow_wg,
    coupler_wg_definitions=[my_shallow_wg, my_shallow_wg],
    coupler_spacings=[0.8, 0.8])

from picazzo.container import TaperShallowPorts

my_shallow_ring_tapered = TaperShallowPorts(
Esempio n. 2
0
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#
# i-depot BBIE 7396, 7556, 7748
#
# Contact: [email protected]

from technologies.si_photonics.ipkiss.default import *
from ipkiss.all import *

# load the file with our RingResonator component
from ring import RingResonator

# create a new ringResonator object
my_ring = RingResonator(ring_radius=5.0)

my_ring.write_gdsii("myring.gds")

# create a new waveguide definition, and assign it
# to the bus waveguide of the ring.
from ipkiss.plugins.photonics.wg import WgElDefinition

new_bus_wg_def = WgElDefinition(wg_width=0.6)
my_ring.bus_wg_def = new_bus_wg_def
my_ring.write_gdsii("myring2.gds")
Esempio n. 3
0
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#
# i-depot BBIE 7396, 7556, 7748
#
# Contact: [email protected]

from technologies.si_photonics.picazzo.default import *
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 SuppressPorts
my_ring_suppressed = SuppressPorts(structure=my_ring, port_labels=["W1"])
my_ring_suppressed.write_gdsii("suppress_ports_1.gds")
# layout will not look any different

from picazzo.wg.aperture import DeepWgAperture
from ipkiss.plugins.photonics.wg import WgElDefinition
# a stub to paste on the suppressed ports
my_stub = DeepWgAperture(name="my_stub",
                         aperture_wg_definition=WgElDefinition(wg_width=2.0),
                         taper_length=4.0)
my_ring_stubbed = SuppressPorts(structure=my_ring,
                                port_labels=["W1"],
                                stub=my_stub)
my_ring_stubbed.write_gdsii("suppress_ports_2.gds")