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