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
+78 -3
View File
@@ -3,14 +3,44 @@ import numpy as np
import math
from ...routing import Route
from ...structures import *
from ...geometry import *
from ....technologies import *
import pandas as pd
from ...structures import _my_polygon
from ...geometry import _my_polygon
""" NEW Classes :: Transistion area of rib to strip, to minize the loss """
class transition:
"""
transition primitive component.
This component builds the transition layout cell.
Parameters
----------
layer_FETCH : str, optional
Layer or cross-section name used by the device. Default is 'STRIP_TRE'.
layer_METCH : str, optional
Layer or cross-section name used by the device. Default is 'RIB_TRE'.
w_rib : float, optional
Width parameter in microns. Default is 1.1.
dw_tolerance : float, optional
Value for the dw_tolerance parameter. Default is 0.2.
w_grow_rib : float, optional
Width parameter in microns. Default is 2.
w_grow_strip : float, optional
Width parameter in microns. Default is 2.
Ltp1 : int, optional
Length parameter in microns. Default is 15.
Ltp2 : int, optional
Length parameter in microns. Default is 10.
Ltrans : int, optional
Length parameter in microns. Default is 5.
L_port : int, optional
Length parameter in microns. Default is 2.
show_pins : bool, optional
Whether to draw pin markers in the generated layout. Default is False.
"""
def __init__(self,
layer_FETCH: str="STRIP_TRE",
layer_METCH: str="RIB_TRE",
@@ -59,6 +89,26 @@ class transition:
self.cell = C
class taper_xs2xs:
"""
taper xs2xs primitive component.
This component builds the taper xs2xs layout cell.
Parameters
----------
xs_1 : str, optional
Layer or cross-section name used by the device. Default is 'rib'.
xs_2 : str, optional
Layer or cross-section name used by the device. Default is 'strip'.
L_taper : float, optional
Length parameter in microns. Default is 10.
w_1 : float, optional
Width parameter in microns. Default is 0.45.
w_2 : float, optional
Width parameter in microns. Default is 0.45.
L_port : float, optional
Length parameter in microns. Default is 0.
"""
def __init__ (self,
xs_1:str='rib',
xs_2:str='strip',
@@ -157,7 +207,32 @@ class taper_xs2xs:
class PSR:
"""
Polarization Splitter & rotator
Polarization Splitter & rotator.
Parameters
----------
name : str, optional
Unique identifier for the device cell. Default is 'PSR_unit'.
xs : str, optional
Layer or cross-section name used by the device. Default is 'rib'.
layer_u : str, optional
Layer or cross-section name used by the device. Default is None.
layer_d : str, optional
Layer or cross-section name used by the device. Default is None.
w : list, optional
Width parameter in microns. Default is [0.45, 0.45, 0.55, 1.2, 1.2].
Lt_rib : list, optional
Length parameter in microns. Default is [10, 30, 30, 10].
ws : list, optional
Value for the ws parameter. Default is [0.45, 2, 1.2].
Lt_slab : list, optional
Length parameter in microns. Default is [40, 40].
shape : str, optional
Value for the shape parameter. Default is 'sine'.
L_port : float, optional
Length parameter in microns. Default is 5.
res : float, optional
Value for the res parameter. Default is 0.01.
"""
def __init__ (self,