Files
mxpic_forge/mxpic_release/mxpic/components/primitives/grating_couplers.pyi
T
2026-05-17 11:58:41 +08:00

122 lines
4.7 KiB
Python

from ...basic import __cell_arg__ as __cell_arg__
from ...routing import Route as Route
from ...structures import Clothoid as Clothoid, circle as circle, hole as hole
from _typeshed import Incomplete
class Nano_ant:
w_wg: Incomplete
xs_wg: Incomplete
etch_type: str
vector: Incomplete
teeth_number: Incomplete
pitch: Incomplete
duty_cycle: Incomplete
taper_length: Incomplete
ant_length: Incomplete
width: Incomplete
max_theta: Incomplete
define_type: Incomplete
etch_depth: Incomplete
show_pins: Incomplete
cell: Incomplete
def __init__(self, w_wg: float = 0.41, xs_wg: str = 'strip', define_type: str = 'non-periodic', vector: float | list = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5], taper_length: float = 3, width: float = 6, max_theta: float = 110, pitch: float | list = 0.6, duty_cycle: float | list = 0.3, teeth_number: float = 6, etch_depth: str | list = ['METCH'], show_pins: bool = True) -> None: ...
def generate_gds(self, sample_step: float = 0.1, cell_name: str = 'Nanoantenna'): ...
def generate_gds_positive(self, sample_step: float = 0.1): ...
def generate_gds_error(self) -> None: ...
class Taper:
width1: Incomplete
width2: Incomplete
length: Incomplete
type: Incomplete
order: int
show_pins: Incomplete
cell: Incomplete
def __init__(self, width1: int = 4, width2: float = 0.45, length: int = 30, type: str = 'linear', show_pins: bool = False) -> None: ...
def generate_gds(self): ...
class Grating_2D_Hole:
w_wg: Incomplete
w_gt: Incomplete
l_taper: Incomplete
type_taper: Incomplete
gt_vector: Incomplete
gt_num: Incomplete
gt_diameter: Incomplete
gt_layer: Incomplete
polysi_vector: Incomplete
polysi_num: Incomplete
polysi_diameter: Incomplete
polysi_layer: Incomplete
reflector_vector: Incomplete
l_field_center: Incomplete
cell: Incomplete
def __init__(self, w_wg: float = 0.5, w_gt: int = 5, l_taper: int = 30, type_taper: str = 'parabolic', gt_vector=[0.5, 0.5, 0.5, 0.5, 0.5], gt_diameter: float = 0.4, gt_layer: str = 'STRIP_COR', polysi_vector=[0.5, 0.5, 0.5, 0.5, 0.5], polysi_diameter: float = 0.4, polysi_layer: str = 'FCW_TRE', reflector_vector=[0.3, 0.3, 0.3, 0.3, 0.3, 0.3], l_field_center: int = 1) -> None: ...
reflector_num: Incomplete
def generate_gds(self): ...
class GC_STD_2D:
name: Incomplete
instantiate: bool
num_x: Incomplete
num_y: Incomplete
Lx_taper: Incomplete
Ly_taper: Incomplete
Lx_end: Incomplete
Ly_end: Incomplete
Lx_side: Incomplete
Ly_side: Incomplete
Lx_port: Incomplete
Ly_port: Incomplete
xs_open: Incomplete
w_wg: Incomplete
xs_wg: Incomplete
etch_type: Incomplete
shape: Incomplete
hole_shape: Incomplete
Dx_hole: Incomplete
Dy_hole: Incomplete
Px: Incomplete
Py: Incomplete
P_AR: Incomplete
L_AR: Incomplete
show_pins: Incomplete
positive: bool
layer_etch: Incomplete
cell: Incomplete
def __init__(self, name=None, etch_type: str = 'FETCH', xs_wg: str = 'grating', Dx_hole: float = 0.3, Dy_hole: float = 0.3, hole_shape: str = 'circle', shape: str = 'circle', xs_open: str = None, Px: float = 0.57, Py: float = 0.57, num_x: float = 25, num_y: float = 25, Lx_taper: float = 50.0, Ly_taper: float = 0.0, Lx_end: float = 1.0, Ly_end: float = 1.0, Lx_side: float = 0.5, Ly_side: float = 0.5, Lx_port: float = 5.0, Ly_port: float = 5.0, w_wg: float = 0.5, show_pins: bool = False, P_AR: float = 0.6, L_AR: float = 1) -> None: ...
def generate_negative(self): ...
def generate_positive(self): ...
def generate_test_gds(self, dX_gc2gc: int = 300): ...
class GC_STD_1D:
name: Incomplete
instantiate: bool
xs_open: Incomplete
xs_wg: Incomplete
w_wg: Incomplete
L_taper: Incomplete
L_end: Incomplete
A_taper: Incomplete
show_pins: Incomplete
L_tail: Incomplete
positive: bool
Period: Incomplete
eta_etch: Incomplete
num: Incomplete
sector_gc: Incomplete
L_AR: Incomplete
P_AR: Incomplete
layer_etch: Incomplete
cell: Incomplete
def __init__(self, name=None, xs_wg: str = 'strip', w_wg: float = 0.5, etch_type: str = 'FETCH', xs_open: str = None, L_taper: float = 10.0, L_end: float = 2.0, A_taper: float = 30.0, Period: float = 0.5, eta_etch: float = 0.5, num: int = 20, sector_gc: bool = True, show_pins: bool = False, L_tail: int = 2, P_AR: float = 1.0, L_AR: float = 2.0) -> None: ...
def generate_negative(self): ...
def generate_positive(self): ...
def generate_test_dev(self, dX_gc2gc): ...
class FA:
pitch: Incomplete
number: Incomplete
cell: Incomplete
def __init__(self, fiber_coupler, pitch, number, show_pins: bool = False) -> None: ...