Functions

This page lists the functions that are part of the IPKISS AWG Designer.

Design

get_layout_params_1xM_demux_um(aperture_in, …) Calculate the layout parameters for building a 1xM AWG (1 input, M outputs), with channels equidistant in wavelength.
get_layout_params_1xM_demux_ghz(aperture_in, …) Calculate the layout parameters for building a 1xM AWG (1 input, M outputs), with channels equidistant in frequency.

Field profiles

gaussian_field(waist, x[, center]) Gaussian field profile.

Layouting

delay_length_from_FSR(f_min, f_max, …) Get the delay length required to fulfill a specific FSR.
fanout(ports, angle_out[, target_point, …]) Return the routes that fanout all the ports to an arbitrary direction angle_out.
get_angles_out(delay_length, frequencies, …) Get the angles for the output grating, so that the output channels are positioned at the specified frequencies.
get_apertures_angles_with_dummies(apertures, …) Helper function to add dummies to the apertures and angles
get_FSR(delay_length, n_g_c) Get the actual FSR based on a delay_length and the group index at the center wavelength.
get_R_grating(FSR, channel_spacing, …) Calculates the minimal grating radius such that all channels fit in the first order diffraction of the grating.
get_star_coupler_apertures(apertures_arms, …) Get the MultiApertures for your StarCoupler, along with the transformations of the individual apertures.
get_star_coupler_extended_contour(…[, …]) Get a free propagation region contour shape which fits the slab area.
grating_aperture_angles(radius, pitch, …) Calculate the angles for the grating apertures, for a given grating pitch / grating radius.
mounting_circular(center, radius, angles) Generates a list of transformations for star coupler elements on a circular mounting.
mounting_rowland(pole_position, radius, angles) Generates a list of transformations for star coupler elements on a Rowland mounting.

Analysis

get_peaks(smatrix, input_pm, output_pms[, …]) Get the transmission peaks for certain output channels (output_pms).
get_insertion_loss(smatrix, input_pm, output_pms) Calculate the insertion loss for each output channel
get_crosstalk(smatrix, input_pm, output_pms, …) Get the crosstalk for each output port.
get_nearest_neighbor_crosstalk(smatrix, …) Get the nearest neighbor cross-talk for each output port.

Utilities

frequency_to_wavelength(frequency) Converts frequency [GHz] into wavelength [um].
wavelength_to_frequency(wavelength) Converts wavelength [um] to frequency [GHz].

Legacy methods

For backward compatibility reasons and to allow users the time to rewrite their code to the new syntax, we kept the original AWG building method to create a rectangular 1xM demux. See also: AWG porting in IPKISS 3.5.

sample_designs.awg.demux1xM.build_awg_1xM(…) Build an 1xM rectangular form AWG demux PCell.