SlabTemplate

class awg_designer.all.SlabTemplate

Template for a slab (free propagation region) that stores the layer stack and modal properties of the slab.

In the Layout view, it defines the layer stack (using the layers that are available in your technology). It has SlabModes and SlabModesFromCamfr views that keep track of the modes.

Parameters:
name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters

The unique name of the pcell

Views

class Layout

Layout drawing of the Slab.

Parameters:
slab_layers:

list of layers that should be drawn to define the slab

view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.

The name of the view

Examples

import si_fab.all as pdk  # noqa: F401
import ipkiss3.all as i3
from awg_designer import all as filters

slab_soi = filters.SlabTemplate()
slab_soi_lo = slab_soi.Layout(slab_layers=[i3.PPLayer(i3.TECH.PROCESS.WG, i3.TECH.PURPOSE.DF_AREA)])

slab_soi_lo.cross_section().visualize()
../../../../../_images/awg_designer-all-SlabTemplate-1.png

Methods

cross_section(process_flow=None):

Returns the cross-section of the slab, generated from the layout and the given VFabricationProcessFlow. If process_flow is not specified, the default process flow TECH.VFABRICATION.PROCESS_FLOW will be used.

class SlabModes

List of modes of the slab, manually specified by the user.

Parameters:
view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.

The name of the view

Examples

import si_fab.all as pdk  # noqa: F401
import ipkiss3.all as i3
from awg_designer import all as filters
import numpy as np

slab_soi = filters.SlabTemplate()
slab_soi.Layout(slab_layers=[i3.PPLayer(i3.TECH.PROCESS.WG, i3.TECH.PURPOSE.DF_AREA)])
slab_soi_modes = slab_soi.SlabModes(
    modes=[filters.SimpleSlabMode(name="TE0", n_eff=2.8, n_g=3.2, polarization="TE")]
)
slab_soi_modes.visualize(wavelengths=np.linspace(1.5, 1.6, 201))
../../../../../_images/awg_designer-all-SlabTemplate-2.png
class SlabModesFromCamfr

List of modes of the slab, automatically calculated using the CAMFR mode solver.

Parameters:
process_flow: ( VFabricationProcessFlow ), *None allowed*

process flow to use

wavelengths:

Wavelengths to calculate the modes for

material_stack:

material stack of the FPR

view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.

The name of the view

Examples

import si_fab.all as pdk  # noqa: F401
import ipkiss3.all as i3
from awg_designer import all as filters
import numpy as np  # noqa

slab_soi = filters.SlabTemplate()
slab_soi.Layout(slab_layers=[i3.TECH.PPLAYER.SI])
slab_soi_modes = slab_soi.SlabModesFromCamfr(
    wavelengths=np.linspace(1.5, 1.6, 201),
    process_flow=i3.TECH.VFABRICATION.PROCESS_FLOW_FEOL,
)
slab_soi_modes.visualize(wavelengths=np.linspace(1.5, 1.6, 201))
../../../../../_images/awg_designer-all-SlabTemplate-3.png