week4 home exercise

October 18, 2017

1EEET2392 - Week 3 Home Exercise

Due date: Friday August 18 at 23.59. Late submission will be penalized at 5% of the total availablemarks per 6 hours for up to 48 hours. Submission more than 48 hours after the dealine will not be marked.

In this home exercise you will define and simulate a directional coupler based on silicon rib waveguides as illustrated in the below picture

Remember to run the next cell first to setup your simulation environment

In [ ]: # You need to run this cell first to setup the simulation environment

%matplotlibinline

import matplotlib.pyplot as plt

import numpy as np

import reme

wavelength = 1.55e-6

reme.set_wavelength(wavelength)

reme.set_max_waveguide_modes(2)

2Task 1 (2 points):

Define a waveguide with two rib cores with the following parameters:

•Silica substrate thickness: t_substrate = 0.5 mm

•Silicon core thickness: t_core = 220 nm

•Air cladding thickness: t_cladding = 0.5 mm

•Etching depth: d_etch = 70 nm

•Rib core width: w_core = 0.6 mm

•Gap between two cores: w_gap = 0.4 mm

•Cladding width: w_clad = 1 mm

Then visualise the waveguide.

The waveguide needs to be enclosed within PEC boundaries (ie use set_left_boundary(rem.PEC)

and set_right_boundary(rem.PEC) methods, see the lecture notebook)

Remember to remove all existing code and enter your code into the below cell

In [ ]: # YOUR CODE HERE

raise NotImplementedError()

1

2.1Task 2 (2 points)

Simulate the even and odd super modes of the coupler waveguide and plot the mode fields of the two supermodes.

Remember to remove all existing code and enter your code into the below cell

In [ ]: # YOUR CODE HERE

raise NotImplementedError()

2.2Task 3 (2 points)

Calculate the coupling length of the coupler

Remember to remove all existing code and enter your code into the below cell

In [ ]: # YOUR CODE HERE

raise NotImplementedError()

2.3Task 4 (4 points)

Define and simulate a coupler with the length of the coupler equal to half of the coupling length. The coupler device need to have two ports at the right to monitor the output power in each

waveguide. NOTE: Use2.7as the initial guess value when finding the mode of the port waveguide. The coupler is excited with the even and odd supermode equally, half power in each mode. At the end of the simulation:

•Print the output power in each monitor ports.

•Plot the field on the YZ plane at the middle of the silicon core layer

•Plot the field on the XY plane at the end of the coupler

In [ ]: # YOUR CODE HERE

raise NotImplementedError()

2.4Bonus task:

You will get bonus marks (up to 3 points) if you peform the following tasks.

In the below example you will see how a directional coupler with two parallel straight waveg-uides are defined in IPKISS.

In [ ]: # Import technology and required modules

import technologies.silicon_photonics

import ipkiss3.all as i3

from picazzo3.traces.rib_wg import RibWaveguideTemplate

#Length of coupler is 20 um length = 20

#1. Define and visualize rib waveguide template rib_wg_t = RibWaveguideTemplate()

rib_wg_t_layout = rib_wg_t.Layout(core_width=w_core*1e6, cladding_width=4.0)

2

rib_wg_t_layout.cross_section().visualize()

# 2. Define two straight waveguides

rib_wg1 = i3.Waveguide(trace_template=rib_wg_t)

rib_wg1_layout = rib_wg1.Layout(shape=[(0, 0), (length, 0)])

rib_wg2 = i3.Waveguide(trace_template=rib_wg_t)

rib_wg2_layout = rib_wg2.Layout(shape=[(0, 0), (length, 0)])

#Put two waveguide together into a PCell (You will learn about PCell in week 6) coupler = i3.LayoutCell()

coupler_layout = coupler.Layout(elements=[i3.SRef(rib_wg1, position=(0, 0)),

i3.SRef(rib_wg2, position=(0, w_core*1e6 + w_g

coupler_layout.visualize_2d()

2.4.1Your bonus task:

Can you define a coupler with input and output bend sections in IPKISS? Assuming that the separations between input and output waveguides are 3 mm and the lengths of the bend sections are 5 mm.

In [ ]: # YOUR CODE HERE

raise NotImplementedError()

3Feedback:

Do you have any feedbacks/comments for this week class?

YOUR ANSWER HERE

3