EBeam library

class opics.libraries.ebeam.BDC(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), height=2.2e-07, width=5e-07, OID=1)[source]

Bases: opics.components.componentModel

50/50% broadband directional 3-dB couplers. Two 3-dB couplers can be used to make an unbalanced Mach-Zehnder Interferometer (MZI), showing a large extinction ratio. The advantage of this device compared to the Y-Branch is that it has 2x2 ports, thus the MZI has two outputs. Compared to the directional coupler, it is less wavelength sensitive.

class opics.libraries.ebeam.DC_halfring(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), CoupleLength=0, gap=1e-07, radius=5e-06, thickness=2.2e-07, width=5e-07, OID=1)[source]

Bases: opics.components.componentModel

Models evanescent coupling region between a straight waveguide and a bent radius of length pi*radius um. Useful for filters, sensors.

class opics.libraries.ebeam.DC_temp(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), Lc=0, OID=1)[source]

Bases: opics.components.componentModel

The directional coupler is commonly used for splitting and combining light in photonics. It consists of two parallel waveguides where the coupling coefficient is influenced by the waveguide length and the distance between waveguides.

class opics.libraries.ebeam.GC(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), deltaw=0, height=2.2e-07, OID=1)[source]

Bases: opics.components.componentModel

Fully-etched fibre-waveguide grating couplers with sub-wavelength gratings showing high coupling efficiency as well as low back reflections for both transverse electric (TE) and transverse magnetic (TM) modes. EBeam fabrication cost is reduced by ~2-3X when eliminating the shallow etch.

class opics.libraries.ebeam.Multimode(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), OID=1)[source]

Bases: opics.components.componentModel

class opics.libraries.ebeam.Switch(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), power=0.0, OID=1)[source]

Bases: opics.components.componentModel

2x2 tunable optical switch component. Useful for switching the input optical power between two output ports.

class opics.libraries.ebeam.Terminator(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), OID=1)[source]

Bases: opics.components.componentModel

This component is used to terminate a waveguide. This terminator is a nano-taper that spreads the light into the oxide and is used for efficient edge coupling. Even if a waveguide crosses near this taper end, the reflection is minimal. This is included in this model, 1 µm away, therefore, the model is a worst-case reflection. To terminate unused ports on components to avoid reflections, refer to Disconnected Waveguides.

class opics.libraries.ebeam.TunableWG(length, f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), power=0.0, TE_loss=700, OID=1)[source]

Bases: opics.components.Waveguide

class opics.libraries.ebeam.Waveguide(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), wg_length=0.0, height=2.2e-07, width=5e-07, TE_loss=700, OID=1)[source]

Bases: opics.components.Waveguide

Waveguides are components that guide waves. Although these are individual components that can be adjusted for use, it is recommended to draw paths in KLayout and convert them to waveguides using the built-in SiEPIC features.

class opics.libraries.ebeam.Y(f=array([1.99861639e+14, 1.99855390e+14, 1.99849141e+14, ..., 1.87382784e+14, 1.87376535e+14, 1.87370286e+14]), height=2.2e-07, width=5e-07, OID=1)[source]

Bases: opics.components.componentModel

50/50% 3dB splitter. Useful for splitting light, Mach-Zehner Interferometers, etc. The layout parameters for the device were taken from the journal paper below, and implemented in EBeam lithography.