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 thez_option
is forced to be ‘custom’, default: Noneoverlap_variation (float) – threshold of mode list overlap between
z_slices
when solving withz_option
of ‘auto’, this will use a bisection optimization limited by thisoverlap_variation
parameter andminimum_z_step
to determine thez_slices
(‘taper’ and ‘gds’), default: 0.01minimum_z_step (float) – the minimum allowed step size in the z-direction for the
z_slices
determined by the bisection optimization for thez_option
of ‘auto’ (‘taper’ and ‘gds’), default: 250z_option (str) – either ‘custom’ or ‘auto’ to manually specify the
z_slices
or use the automatic bisection optimization algorithm to determine thez_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 definitionsidewall_angle (float) – the sidewall angle of the etch for the
shape_to_mask
(‘gds’), default: inherited from the original shape definitiontone (str) – either ‘p’ or ‘n’ to specify the etch mask tone for the
shape_to_mask
(‘gds’), default: inherited from the original shape definitionwindow_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’