EME

section

Define a waveguide section used in the EME solver. This function is analagous to the shape function for defining the shapes of a profile, but instead defined the shapes of an EME simulation.

Parameters:
  • name (str) – section name, default: an auto-generated number

  • section_type (str) –

    either ‘straight’, ‘taper’, ‘gds’, or ‘copy’, and each section type corresponds with only a subset of other input parameters:

    • ’straight’: name, profile, order, num_modes, length, offset, simulation_name

    • ’taper’: name, profile, profile_end, order, num_modes, length, offset, z_slices, overlap_variation, minimum_z_step, z_option, simulation_name

    • ’gds’: name, gds, cell_index, unit, profile, shape_to_mask, etch_depth, sidewall_angle, tone, window_width, order, num_modes, length, offset, z_slices, overlap_variation, minimum_z_step, z_option, simulation_name

    • ’copy’: name, section_name, mirror, order, simulation_name

  • profile (str) – label of the profile to define the entire section (‘straight’ and ‘gds’) or section beginning (‘taper’)

  • profile_end (str) – label of the profile to define the section ending (‘taper’)

  • order (float) – a number that signifies the order in which section will be placed in the z-direction, default: auto-generated integer based on the order each section is called

  • num_modes (str) – how many modes to solve in the section (‘straight’, ‘taper’, and ‘gds’)

  • length (float) – the length of the section (in nanometers) (‘straight’, ‘taper’, and ‘gds’)

  • offset (float or list) – the x- and y-offset of the section (‘straight’, ‘taper’, and ‘gds’), if only a single value is specified then it is assumed to be the x-offset: (offset, 0), default: (0,0)

  • z_slices (list or array) – manually specify the z_slices that will be solved in sections with variations in the z-direction (‘taper’ and ‘gds’), by specifying this parameter the z_option is forced to be ‘custom’, default: None

  • overlap_variation (float) – threshold of mode list overlap between z_slices when solving with z_option of ‘auto’, this will use a bisection optimization limited by this overlap_variation parameter and minimum_z_step to determine the z_slices (‘taper’ and ‘gds’), default: 0.01

  • minimum_z_step (float) – the minimum allowed step size in the z-direction for the z_slices determined by the bisection optimization for the z_option of ‘auto’ (‘taper’ and ‘gds’), default: 250

  • z_option (str) – either ‘custom’ or ‘auto’ to manually specify the z_slices or use the automatic bisection optimization algorithm to determine the z_slices (‘taper’ and ‘gds’), default: ‘auto’

  • gds (str) – name of the gds file used to mask a shape in the designated profile, this options allows for more complex section geometries using third party layout tools to define the mask (‘gds’)

  • cell_index (int) – the cell index in the specified gds file (‘gds’), default: 0

  • unit (str) – either ‘um’ or ‘nm’ to specify the units used in the gds file (‘gds’), default: ‘um’

  • shape_to_mask (str) – name of the shape that will be masked from the specified profile with the gds pattern (‘gds’)

  • etch_depth (float) – the etch depth for the shape_to_mask (‘gds’), default: inherited from the original shape definition

  • sidewall_angle (float) – the sidewall angle of the etch for the shape_to_mask (‘gds’), default: inherited from the original shape definition

  • tone (str) – either ‘p’ or ‘n’ to specify the etch mask tone for the shape_to_mask (‘gds’), default: inherited from the original shape definition

  • window_width (float) – the simulation window width (‘gds’), default: inherited from the original profile definition

  • section_name (str) – name of the section to copy (‘copy’)

  • mirror (bool) – whether or not to mirror the copied shape (‘copy’), default: False

  • simulation_name (str) – simulation name, default: ‘emode’

EME

Calculate the complete scattering matrix of the defined sections using the eigenmode expansion method (EME).

Parameters:

simulation_name (str) – simulation name, default: ‘emode’

plot_S_matrix

Colormap plot of the transmission or reflection component of the complete scattering matrix.

Parameters:

simulation_name (str) – simulation name, default: ‘emode’