MultiAperture
- class awg_designer.all.MultiAperture
An aperture consisting of multiple single apertures.
For the
slab_template
, by default the template of the first aperture is taken.If you want to build your own type of MultiAperture, always inherit from this class.
- Parameters:
- apertures: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, required
The individual apertures
- field_ports:
list of regular ports that have field ports
- slab_template: PCell and SlabTemplate
template for free propagation region
- name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters
The unique name of the pcell
- Other Parameters:
- external_port_names: locked
- child_cells: locked
Views
- class Layout
- Parameters:
- aperture_transformations:
transformations of the individual apertures
- fpr_depth: float and number > 0
depth of the virtual free propagation region
- front_shape: Shape
Shape of the ‘front’ of the aperture, where the light comes out
- netlist_view: NetlistView
Netlist view in the same cell on which this Layout is based. Normally no need to manually override.
- 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
- Other Parameters:
- child_transformations: locked
- slab_layers: locked
list of layers that should be drawn as exclusion zone
Examples
import si_fab.all as pdk # noqa: F401 from awg_designer import all as filters import ipkiss3.all as i3 slab_soi = filters.SlabTemplate(name="SOI_Template") w_ap = 2.0 ap_wire = filters.OpenWireWgAperture(slab_template=slab_soi) ap_wire.Layout(aperture_core_width=w_ap, transition_length=8.0) msa = filters.MultiAperture(apertures=[ap_wire, ap_wire]) msa_lay = msa.Layout( aperture_transformations=[ i3.Rotation(rotation=5) + i3.Translation(translation=(0, 0)), i3.Rotation(rotation=-5) + i3.Translation(translation=(0, 5)), ] ) msa_lay.visualize(annotate=True)