Folder structure simplfied

This commit is contained in:
=
2026-06-06 16:43:26 +08:00
parent 8da92ced57
commit 8a17f1dde0
138 changed files with 10429 additions and 1432 deletions
+74 -2
View File
@@ -7,13 +7,51 @@ import math
from .taper import taper_xs2xs
from ...routing import Route
from ...structures import *
from ...geometry import *
from ....technologies import *
from ...structures import _my_polygon,Conchoid
from ...geometry import _my_polygon,Conchoid
""" Mono layer MMI """
class MMI_ML:
"""
MMI ML primitive component.
This component builds the MMI ML layout cell.
Parameters
----------
name : Optional[str], optional
Unique identifier for the device cell. Default is None.
L_arm : list, optional
Length parameter in microns. Default is [10].
w_arm : list, optional
Width parameter in microns. Default is [0.45, 1.35].
xs : str, optional
Layer or cross-section name used by the device. Default is 'strip'.
arm_sine_width : bool, optional
Value for the arm_sine_width parameter. Default is False.
L_mmi : list, optional
Length parameter in microns. Default is [10].
w_mmi : list, optional
Width parameter in microns. Default is [5, 5].
mmi_sine_width : bool, optional
Value for the mmi_sine_width parameter. Default is False.
sharp_patch : bool, optional
Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
show_pins : bool, optional
Whether to draw pin markers in the generated layout. Default is False.
res : float, optional
Value for the res parameter. Default is 0.01.
N_out : int, optional
Count or repetition parameter. Default is 3.
N_in : int, optional
Count or repetition parameter. Default is 1.
Dp_out : float, optional
Value for the Dp_out parameter. Default is 1.5.
Dp_in : float, optional
Value for the Dp_in parameter. Default is 1.5.
"""
def __init__(self,
name: Optional[str]=None,
L_arm: list=[10],
@@ -163,6 +201,40 @@ class MMI_ML:
class MMI_STD(MMI_ML):
"""
MMI STD primitive component.
This component builds the MMI STD layout cell.
Parameters
----------
name : Optional[str], optional
Unique identifier for the device cell. Default is None.
N_out : int, optional
Count or repetition parameter. Default is 3.
N_in : int, optional
Count or repetition parameter. Default is 1.
L_arm : int, optional
Length parameter in microns. Default is 10.
w_wg : float, optional
Width parameter in microns. Default is 0.45.
w_port : float, optional
Width parameter in microns. Default is 1.2.
xs : str, optional
Layer or cross-section name used by the device. Default is 'strip'.
L_mmi : int, optional
Length parameter in microns. Default is 10.
w_mmi : float, optional
Width parameter in microns. Default is 5.
sharp_patch : bool, optional
Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
show_pins : bool, optional
Whether to draw pin markers in the generated layout. Default is False.
Dp_out : float, optional
Value for the Dp_out parameter. Default is 1.5.
Dp_in : float, optional
Value for the Dp_in parameter. Default is 1.5.
"""
def __init__(self,
name: Optional[str]=None,
N_out: int=3,