mxpic.components.primitives.pic.gratings#
Nano_ant#
- class mxpic.components.primitives.pic.gratings.Nano_ant(w_wg=0.41, xs_wg='strip', define_type='non-periodic', vector=[0.5, 0.5, 0.5, 0.5, 0.5, 0.5], taper_length=3, width=6, max_theta=110, pitch=0.6, duty_cycle=0.3, teeth_number=6, etch_depth=['METCH'], show_pins=True)#
Bases:
objectClass of nanoantenna for optical phased array.
This is the class of nanoantenna for optical phased array. GDS cell can be generated using this class. Simulation structure generation and simulation results analysis is going to be added in the future.
- Parameters:
w_wg (float, optional) – Width parameter in microns. Default is 0.41.
xs_wg (str, optional) – Layer or cross-section name used by the device. Default is ‘strip’.
define_type (str, optional) – Value for the define_type parameter. Default is ‘non-periodic’.
vector (list, optional) – Value for the vector parameter. Default is [0.5, 0.5, 0.5, 0.5, 0.5, 0.5].
taper_length (float, optional) – Value for the taper_length parameter. Default is 3.
width (float, optional) – Width parameter in microns. Default is 6.
max_theta (float, optional) – Value for the max_theta parameter. Default is 110.
pitch (float, optional) – Spacing or gap parameter in microns. Default is 0.6.
duty_cycle (float, optional) – Value for the duty_cycle parameter. Default is 0.3.
teeth_number (float, optional) – Value for the teeth_number parameter. Default is 6.
etch_depth (list, optional) – Value for the etch_depth parameter. Default is [‘METCH’].
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is True.
- generate_gds(sample_step=0.1, cell_name='Nanoantenna')#
- generate_gds_error()#
- generate_gds_positive(sample_step=0.1)#
Generate a gds cell based on the logic of positive photoresistance.
Positive: Define the etched region using GETCH_TRE layer.
Taper#
- class mxpic.components.primitives.pic.gratings.Taper(width1=4, width2=0.45, length=30, type='linear', show_pins=False)#
Bases:
objectTaper primitive component.
This component builds the Taper layout cell.
- Parameters:
width1 (float, optional) – Width parameter in microns. Default is 4.
width2 (float, optional) – Width parameter in microns. Default is 0.45.
length (float, optional) – Length parameter in microns. Default is 30.
type (str, optional) – Value for the type parameter. Default is ‘linear’.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
- generate_gds()#
Grating_2D_Hole#
- class mxpic.components.primitives.pic.gratings.Grating_2D_Hole(w_wg=0.5, w_gt=5, l_taper=30, type_taper='parabolic', gt_vector=[0.5, 0.5, 0.5, 0.5, 0.5], gt_diameter=0.4, gt_layer='STRIP_COR', polysi_vector=[0.5, 0.5, 0.5, 0.5, 0.5], polysi_diameter=0.4, polysi_layer='FCW_TRE', reflector_vector=[0.3, 0.3, 0.3, 0.3, 0.3, 0.3], l_field_center=1)#
Bases:
objectThis is a class for 2D Grating in IMEC.
- Parameters:
w_wg (float, optional) – Width parameter in microns. Default is 0.5.
w_gt (float, optional) – Width parameter in microns. Default is 5.
l_taper (float, optional) – Value for the l_taper parameter. Default is 30.
type_taper (str, optional) – Value for the type_taper parameter. Default is ‘parabolic’.
gt_vector (list, optional) – Value for the gt_vector parameter. Default is [0.5, 0.5, 0.5, 0.5, 0.5].
gt_diameter (float, optional) – Value for the gt_diameter parameter. Default is 0.4.
gt_layer (str, optional) – Value for the gt_layer parameter. Default is ‘STRIP_COR’.
polysi_vector (list, optional) – Value for the polysi_vector parameter. Default is [0.5, 0.5, 0.5, 0.5, 0.5].
polysi_diameter (float, optional) – Value for the polysi_diameter parameter. Default is 0.4.
polysi_layer (str, optional) – Value for the polysi_layer parameter. Default is ‘FCW_TRE’.
reflector_vector (list, optional) – Value for the reflector_vector parameter. Default is [0.3, 0.3, 0.3, 0.3, 0.3, 0.3].
l_field_center (float, optional) – Value for the l_field_center parameter. Default is 1.
- generate_gds()#
Grating_2D_Hole_4Rec#
- class mxpic.components.primitives.pic.gratings.Grating_2D_Hole_4Rec(grating_unit, mode_radius=8, cell_name=None, show_pins=False)#
Bases:
objectGrating 2D Hole 4Rec primitive component.
This component builds the Grating 2D Hole 4Rec layout cell.
- Parameters:
grating_unit (Any) – Grating unit cell or component used by this wrapper.
mode_radius (int, optional) – Value for the mode_radius parameter. Default is 8.
cell_name (Optional[str], optional) – Optional generated cell name. Default is None.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
- generate_gds()#
Grating_2D_Hole_3Rec#
- class mxpic.components.primitives.pic.gratings.Grating_2D_Hole_3Rec(grating_unit, mode_radius=6.5, cell_name=None, show_pins=False)#
Bases:
objectGrating 2D Hole 3Rec primitive component.
This component builds the Grating 2D Hole 3Rec layout cell.
- Parameters:
grating_unit (Any) – Grating unit cell or component used by this wrapper.
mode_radius (float, optional) – Value for the mode_radius parameter. Default is 6.5.
cell_name (Optional[str], optional) – Optional generated cell name. Default is None.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
- generate_gds()#
GC_STD_2D#
- class mxpic.components.primitives.pic.gratings.GC_STD_2D(name=None, etch_type='FETCH', xs_wg='grating', Dx_hole=0.3, Dy_hole=0.3, hole_shape='circle', shape='circle', xs_open=None, Px=0.57, Py=0.57, num_x=25, num_y=25, Lx_taper=50, Ly_taper=0, Lx_end=1, Ly_end=1, Lx_side=0.5, Ly_side=0.5, Lx_port=5, Ly_port=5, w_wg=0.5, show_pins=False, P_AR=0.6, L_AR=1)#
Bases:
objectGC STD 2D primitive component.
This component builds the GC STD 2D layout cell.
- Parameters:
name (Optional[str], optional) – Unique identifier for the device cell. Default is None.
etch_type (str, optional) – Value for the etch_type parameter. Default is ‘FETCH’.
xs_wg (str, optional) – Layer or cross-section name used by the device. Default is ‘grating’.
Dx_hole (float, optional) – Value for the Dx_hole parameter. Default is 0.3.
Dy_hole (float, optional) – Value for the Dy_hole parameter. Default is 0.3.
hole_shape (str, optional) – Value for the hole_shape parameter. Default is ‘circle’.
shape (str, optional) – Value for the shape parameter. Default is ‘circle’.
xs_open (str, optional) – Layer or cross-section name used by the device. Default is None.
Px (float, optional) – Value for the Px parameter. Default is 0.57.
Py (float, optional) – Value for the Py parameter. Default is 0.57.
num_x (float, optional) – Count or repetition parameter. Default is 25.
num_y (float, optional) – Count or repetition parameter. Default is 25.
Lx_taper (float, optional) – Length parameter in microns. Default is 50.
Ly_taper (float, optional) – Length parameter in microns. Default is 0.
Lx_end (float, optional) – Length parameter in microns. Default is 1.
Ly_end (float, optional) – Length parameter in microns. Default is 1.
Lx_side (float, optional) – Length parameter in microns. Default is 0.5.
Ly_side (float, optional) – Length parameter in microns. Default is 0.5.
Lx_port (float, optional) – Length parameter in microns. Default is 5.
Ly_port (float, optional) – Length parameter in microns. Default is 5.
w_wg (float, optional) – Width parameter in microns. Default is 0.5.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
P_AR (float, optional) – Value for the P_AR parameter. Default is 0.6.
L_AR (float, optional) – Length parameter in microns. Default is 1.
- generate_negative()#
- generate_positive()#
- generate_test_gds(dX_gc2gc=300)#
GC_STD_1D#
- class mxpic.components.primitives.pic.gratings.GC_STD_1D(name=None, xs_wg='strip', w_wg=0.5, etch_type='FETCH', xs_open=None, L_taper=10, L_end=2, A_taper=30, Period=0.5, eta_etch=0.5, num=20, sector_gc=True, show_pins=False, L_tail=2, P_AR=1, L_AR=2)#
Bases:
objectGC STD 1D primitive component.
This component builds the GC STD 1D layout cell.
- Parameters:
name (Optional[str], optional) – Unique identifier for the device cell. Default is None.
xs_wg (str, optional) – Layer or cross-section name used by the device. Default is ‘strip’.
w_wg (float, optional) – Width parameter in microns. Default is 0.5.
etch_type (str, optional) – Value for the etch_type parameter. Default is ‘FETCH’.
xs_open (str, optional) – Layer or cross-section name used by the device. Default is None.
L_taper (float, optional) – Length parameter in microns. Default is 10.
L_end (float, optional) – Length parameter in microns. Default is 2.
A_taper (float, optional) – Angle parameter in degrees. Default is 30.
Period (float, optional) – Value for the Period parameter. Default is 0.5.
eta_etch (float, optional) – Value for the eta_etch parameter. Default is 0.5.
num (float, optional) – Count or repetition parameter. Default is 20.
sector_gc (bool, optional) – Value for the sector_gc parameter. Default is True.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
L_tail (int, optional) – Length parameter in microns. Default is 2.
P_AR (float, optional) – Value for the P_AR parameter. Default is 1.
L_AR (float, optional) – Length parameter in microns. Default is 2.
- generate_negative()#
- generate_positive()#
- generate_test_dev(dX_gc2gc)#
GC_SiN_Si_Dual_Layer#
- class mxpic.components.primitives.pic.gratings.GC_SiN_Si_Dual_Layer(name=None, w_teeth_SiN=0.5, gap_teeth_SiN=0.5, w_teeth_Si=0.5, gap_teeth_Si=0.5, ori_teeth_offset=5.0, n_teeth_Si=30, n_teeth_SiN=30, A_gc_taper=25.0, R_teeth_ori_SiN=40.0, R_teeth_ori_Si=40.0, L_end_Si=0.2, L_end_SiN=5.0, w_port=0.9, A_anti_rfl=4.0, layer_SiN_slab=None, layer_Si_slab=None, layer_Si_teeth=None, layer_SiN_teeth=None, layer_SiN_etch=None, layer_Si_etch=None, layer_ox_open=None)#
Bases:
objectGC SiN Si Dual Layer primitive component.
This component builds the GC SiN Si Dual Layer layout cell.
- Parameters:
name (str, optional) – Unique identifier for the device cell. Default is None.
w_teeth_SiN (list or float, optional) – Width parameter in microns. Default is 0.5.
gap_teeth_SiN (list or float, optional) – Spacing or gap parameter in microns. Default is 0.5.
w_teeth_Si (list or float, optional) – Width parameter in microns. Default is 0.5.
gap_teeth_Si (list or float, optional) – Spacing or gap parameter in microns. Default is 0.5.
ori_teeth_offset (float, optional) – Value for the ori_teeth_offset parameter. Default is 5.0.
n_teeth_Si (float, optional) – Value for the n_teeth_Si parameter. Default is 30.
n_teeth_SiN (float, optional) – Value for the n_teeth_SiN parameter. Default is 30.
A_gc_taper (float, optional) – Angle parameter in degrees. Default is 25.0.
R_teeth_ori_SiN (float, optional) – Radius parameter in microns. Default is 40.0.
R_teeth_ori_Si (float, optional) – Radius parameter in microns. Default is 40.0.
L_end_Si (float, optional) – Length parameter in microns. Default is 0.2.
L_end_SiN (float, optional) – Length parameter in microns. Default is 5.0.
w_port (float, optional) – Width parameter in microns. Default is 0.9.
A_anti_rfl (float, optional) – Angle parameter in degrees. Default is 4.0.
layer_SiN_slab (str, optional) – Layer or cross-section name used by the device. Default is None.
layer_Si_slab (str, optional) – Layer or cross-section name used by the device. Default is None.
layer_Si_teeth (str, optional) – Layer or cross-section name used by the device. Default is None.
layer_SiN_teeth (str, optional) – Layer or cross-section name used by the device. Default is None.
layer_SiN_etch (str, optional) – Layer or cross-section name used by the device. Default is None.
layer_Si_etch (str, optional) – Layer or cross-section name used by the device. Default is None.
layer_ox_open (str, optional) – Layer or cross-section name used by the device. Default is None.
- generate_gds()#
creating instance cell or not
FA#
- class mxpic.components.primitives.pic.gratings.FA(fiber_coupler, pitch, number, show_pins=False)#
Bases:
objectFA primitive component.
This component builds the FA layout cell.
- Parameters:
fiber_coupler (Any) – Fiber coupler cell or component used by this array.
pitch (float) – Spacing or gap parameter in microns.
number (int) – Count or repetition parameter.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.