Folder structure simplfied
This commit is contained in:
@@ -4,15 +4,43 @@ 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
|
||||
from scipy.interpolate import CubicSpline
|
||||
from ...basic import __cell_arg__
|
||||
|
||||
class YBranch:
|
||||
"""
|
||||
YBranch primitive component.
|
||||
|
||||
This component builds the YBranch layout cell.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
name : str, optional
|
||||
Unique identifier for the device cell. Default is None.
|
||||
xs : str, optional
|
||||
Layer or cross-section name used by the device. Default is 'strip'.
|
||||
w : list or np.ndarray, optional
|
||||
Width parameter in microns. Default is [1.2, 1.0, 1.8, 1.2, 1.0, 1.2, 1.2].
|
||||
L : float, optional
|
||||
Length parameter in microns. Default is 6.
|
||||
R_att : float, optional
|
||||
Radius parameter in microns. Default is 10.
|
||||
A_att : float, optional
|
||||
Angle parameter in degrees. Default is 10.
|
||||
w_port : float, optional
|
||||
Width parameter in microns. Default is 0.45.
|
||||
show_pins : bool, optional
|
||||
Whether to draw pin markers in the generated layout. Default is False.
|
||||
sharp_patch : bool, optional
|
||||
Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
|
||||
res : float, optional
|
||||
Value for the res parameter. Default is 0.1.
|
||||
"""
|
||||
def __init__(self,
|
||||
name : str = None,
|
||||
xs : str = 'strip',
|
||||
@@ -105,6 +133,38 @@ class YBranch:
|
||||
|
||||
|
||||
class Ybranch_3wg:
|
||||
"""
|
||||
Ybranch 3wg primitive component.
|
||||
|
||||
This component builds the Ybranch 3wg layout cell.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
name : Optional[str], optional
|
||||
Unique identifier for the device cell. Default is None.
|
||||
w0 : float, optional
|
||||
Width parameter in microns. Default is 0.4.
|
||||
w1 : float, optional
|
||||
Width parameter in microns. Default is 0.2.
|
||||
gap : float, optional
|
||||
Spacing or gap parameter in microns. Default is 0.18.
|
||||
Lcp : float, optional
|
||||
Length parameter in microns. Default is 20.
|
||||
xs : 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.45.
|
||||
R0 : float, optional
|
||||
Radius parameter in microns. Default is 10.
|
||||
angle : float, optional
|
||||
Angle parameter in degrees. Default is 20.
|
||||
L_attach : float, optional
|
||||
Length parameter in microns. Default is 3.
|
||||
L_in_tp : float, optional
|
||||
Length parameter in microns. Default is 3.
|
||||
sharp_patch : bool, optional
|
||||
Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
|
||||
"""
|
||||
def __init__(self,
|
||||
name: Optional[str] = None,
|
||||
w0:float=0.4,
|
||||
|
||||
Reference in New Issue
Block a user