mxpic.components.primitives.pic.YBS#
YBranch#
- class mxpic.components.primitives.pic.YBS.YBranch(name=None, xs='strip', w=[1.2, 1.0, 1.8, 1.2, 1.0, 1.2, 1.2], L=6, R_att=10, A_att=10, w_port=0.45, show_pins=False, sharp_patch=True, res=0.1)#
Bases:
objectYBranch 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.
- generate_gds(show_pins=False, sharp_patch=True)#
Ybranch_3wg#
- class mxpic.components.primitives.pic.YBS.Ybranch_3wg(name=None, w0=0.4, w1=0.2, gap=0.18, Lcp=20, xs='strip', w_wg=0.45, R0=10, angle=20, L_attach=3, L_in_tp=3, sharp_patch=True)#
Bases:
objectYbranch 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.
- generate_gds(sharp_patch, err_asy=0)#
- generate_test_gds(gc, dX_gc2gc=400, dY_gc2gc=80, sharp_patch=True, Rbend=15)#