# get_layout_params_1xM_demux_um¶

awg_designer.all.get_layout_params_1xM_demux_um(aperture_in, aperture_arms, aperture_out, waveguide_template, output_spacing, M, center_wavelength, channel_spacing, FSR=None, grating_period=None, N_arms=None, alpha_factor=1.6, use_same_radius_for_input=True, verbose=False)

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

Parameters: aperture_in, aperture_arms, aperture_out: PCells Aperture component for input, output and arms. waveguide_template: PCell template Waveguide template for the delay lines. output_spacing: float Minimum spacing (center to center) of output apertures. Increasing this value means less cross-talk but also more power lost between two channels. M: integer Number of output channels. center_wavelength: float Center frequency of the filter [um]. channel_spacing: float Channel spacing [um]. FSR: float (default=None) Free spectral range [um]. if None, use M * channel_spacing. grating_period: float or None (default=None) Period of the grating apertures. If None, it uses a value as small as possible (the width of the aperture + 0.2 um). N_arms: integer or None (default=None) Number of waveguide arms. If None, calculate automatically. Automatic calculation is done based on the spreading angle of the output aperture and R_grating. alpha_factor: float (default=1.6) Scaling of the divergence angle (NA) of input and output. The actual spreading angle used equals divergence angle * alpha_factor. use_same_radius_for_input (default=True) When True, use the same radius for the input star coupler as for the output (i.e., R_input=R_grating) verbose: boolean (default=False) When True, print the intermediate design parameters (useful for debugging) A dictionary of layout parameters, including delay_length, N_arms, R_grating, R_input, angles_arms_in, angles_arms_out, angles_out delay_length: Delay line length to give the specified FSR. It is optimized to be centered at center_frequency, so the actual FSR may be slightly different. See also delay_length_from_FSR(). N_arms (only calculated if None was specified): Calculate the number of arms that fit into the spreading angle of the output aperture. Depends on: R_grating, grating_period, and divergence angle of aperture_out. If manually specified, this may increase the R_grating. R_grating: Radius of the grating. This is determined in such a way that the first order diffraction of the grating falls outside of the range of the output apertures. See also get_R_grating(). Depends on: FSR / channel_spacing, grating_period, output_spacing, and slab material properties. R_input: When use_same_radius_for_input is True, equals R_grating. Otherwise, based on the divergence angle of the input aperture. angles_arms_in, angles_arms_out: Angles at which to position the grating apertures for the input/output star coupler, respectively. angles_out: Angles at which to position the output apertures. See also get_angles_out().

awg_designer.sample_designs.awg.demux1xM.build_awg_1xM
Note that in an AWG, the channel with the lowest wavelength ($$\lambda_1$$) is oriented at the same side as the side with the longest delay line.