StarCouplerNxM

class awg_designer.all.StarCouplerNxM

A star coupler that couples light from N identical input apertures to M identical output apertures.

  • it places the input and output apertures according to a given mounting_in / mounting_out configuration (circular or rowland) and given set of angles,

  • it takes care of the DRC-correctness by specifying a pcell class for joining the individual apertures into a ‘MultiAperture’,

  • it places dummy apertures at the outside of both input and output side to improve the imaging quality.

If you want to use this cell in an AWG design, you will need to carefully define all angles (grating aperture angles, input / output aperture angles). Please check the relevant design functions in the toolbox for this (continue to the “see also” section below).

Parameters:
multiaperture_class:

Type of multi-aperture to be used

aperture_out_cell: PCell

Aperture cell used for output

aperture_in_cell: PCell

Aperture cell used for the input

n_dummy_apertures: int and number >= 0

Number of dummy apertures

aperture_out_ports: List with type restriction, allowed types: <class ‘str’>

list of the output aperture port names that are connected to the outside world. The order of this list will determine the numbering of the output ports

aperture_in_ports: List with type restriction, allowed types: <class ‘str’>

List of the input aperture port names that are connected to the outside world. The order of this list will determine the numbering of the input ports

external_port_names: str

Map of the free instance terms/ports to the names of external terms/ports.Format is a dict {‘inst:term’ : ‘new_term_name’}.If a term/port is not listed, the format instname_portname will be used

slab_template: PCell and SlabTemplate

template for free propagation region

n_outputs: int and number > 0

Number of output channels.

n_inputs: int and number > 0

Number of input channels.

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:
aperture_out: PCell, locked

Output multi-aperture, managed by this cell

aperture_in: PCell, locked

Input multi-aperture, managed by this cell

child_cells: locked
scatterers: locked
apertures: locked
free_propagation_region: PCell and _FreePropagationRegion, locked

unpatterned slab section. This subcomponent is generated automatically to connect elements together.

links: locked

See also

MultiApertureShallowMerged

DRC correct rib apertures set

MultiApertureMerged

DRC correct rib apertures set

get_layout_params_1xM_demux_um

design function that gets layout parameters for building an AWG

get_layout_params_1xM_demux_ghz

design function that gets layout parameters for building an AWG

Views

class Layout
Parameters:
min_output_spacing: float and number > 0

Minimum spacing of the output apertures (center-to-center)

min_input_spacing: float and number > 0

Minimum spacing of the input apertures (center-to-center)

dummy_angles_out:

Angles of the dummies at the output side. Calculated from output_angles or from min_output_spacing if n_outputs==1. Override to specify custom values.

dummy_angles_in:

Angles of the dummies at the input side. Calculated from input_angles or from min_input_spacing if n_inputs==1. Override to specify custom values.

output_angles:

Angles at which to position the output apertures.

input_angles:

Angles at which to position the input apertures.

mounting_out: str and String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters and List with value restriction, allowed values: [‘rowland’, ‘circular’]

Mounting configuration of the star coupler outputs (east), either ‘rowland’ or ‘circular’

mounting_in: str and String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters and List with value restriction, allowed values: [‘rowland’, ‘circular’]

Placement configuration of the star coupler inputs (west), either ‘rowland’ or ‘circular’

radius: float and number > 0

Radius of the star coupler output circle

hull_stub_width: float and number > 0
hull_growth: float and Real, number and number >= 0
hull_extension: float and Real, number and number >= 0
aperture_out_transformation: GenericNoDistortTransform
aperture_in_transformation: GenericNoDistortTransform
contour: Shape

Contour of the Free propagation Region

flyline_width: float and number > 0

line width of the flylines

flyline_layer: ( __Layer__ ), *None allowed*

layer to draw flylines of physically unconnected links

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:
scatterer_transformations: locked
aperture_transformations: locked
child_transformations: locked
class SlabFieldModel
Parameters:
layout_view: _LayoutView
n_o_passes: int and number > 0

number of simulation passes

space: _SlabPropagationEngine.Space

Space with all the elements representing the PCell

engine: _SlabPropagationEngine

Slab simulation engine

slab_modes: SlabModeDict

dict of Slab Modes

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

class CircuitModel
Parameters:
simulation_wavelengths: ( list<Real, number and number > 0> ), *None allowed*

Wavelengths for which to simulate the underlying physical model.Defaults to None, in which case a physical simulation will be done for each requested wavelength.If a single wavelength is specified, the model will be wavelength independent.If multiple wavelengths are given, only these wavelengths are valid.

layout_view: ( _LayoutView ), *None allowed*
netlist_view: ( NetlistView ), *None allowed*
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:
solver: str and String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters, locked

circuit solver to use