Functions

This page lists the functions that are part of the Luceda 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 (deprecated)

These functions are supported for backwards compatibility but are deprecated in favor of the newer spectrum analysis functionality.

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.