- strt_round_courner (class in mxpic.components.structures)
+ strt_round_courner (class in mxpic.components.geometry.polygons)
szVia (mxpic.components.electronics.eic_units.Vias attribute)
diff --git a/docs/build/html/index.html b/docs/build/html/index.html
index 63fc828..9f2c144 100644
--- a/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -276,7 +276,7 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
diff --git a/docs/build/html/mxpic/components/composites/LoopMirror.html b/docs/build/html/mxpic/components/composites/LoopMirror.html
index 02326dd..ada2900 100644
--- a/docs/build/html/mxpic/components/composites/LoopMirror.html
+++ b/docs/build/html/mxpic/components/composites/LoopMirror.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/composites/MZI.html b/docs/build/html/mxpic/components/composites/MZI.html
index 7cd8b6d..c676c11 100644
--- a/docs/build/html/mxpic/components/composites/MZI.html
+++ b/docs/build/html/mxpic/components/composites/MZI.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/composites/MZI_mesh.html b/docs/build/html/mxpic/components/composites/MZI_mesh.html
index 8263f62..b09af0c 100644
--- a/docs/build/html/mxpic/components/composites/MZI_mesh.html
+++ b/docs/build/html/mxpic/components/composites/MZI_mesh.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/composites/SptTree.html b/docs/build/html/mxpic/components/composites/SptTree.html
index 35148f0..72c95ba 100644
--- a/docs/build/html/mxpic/components/composites/SptTree.html
+++ b/docs/build/html/mxpic/components/composites/SptTree.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/composites/index.html b/docs/build/html/mxpic/components/composites/index.html
index f71dccd..ba8f1e2 100644
--- a/docs/build/html/mxpic/components/composites/index.html
+++ b/docs/build/html/mxpic/components/composites/index.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/electronics/eic_units.html b/docs/build/html/mxpic/components/electronics/eic_units.html
index 8f80842..dfb7858 100644
--- a/docs/build/html/mxpic/components/electronics/eic_units.html
+++ b/docs/build/html/mxpic/components/electronics/eic_units.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/electronics/index.html b/docs/build/html/mxpic/components/electronics/index.html
index c9def12..50e4f89 100644
--- a/docs/build/html/mxpic/components/electronics/index.html
+++ b/docs/build/html/mxpic/components/electronics/index.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/gds_devices.html b/docs/build/html/mxpic/components/gds_devices.html
index 494ac07..c43cefc 100644
--- a/docs/build/html/mxpic/components/gds_devices.html
+++ b/docs/build/html/mxpic/components/gds_devices.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/geometry/curves.html b/docs/build/html/mxpic/components/geometry/curves.html
new file mode 100644
index 0000000..3341370
--- /dev/null
+++ b/docs/build/html/mxpic/components/geometry/curves.html
@@ -0,0 +1,531 @@
+
+
+
+
+
+
+
+
+
+
+ mxpic.components.geometry.curves — mxpic_handbook mxpic documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back to top
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mxpic.components.geometry.curves
+Curve and spiral geometry primitives.
+
+Conchoid
+
+
+class mxpic.components.geometry.curves. Conchoid ( R0 , kR , T , w , layer , w_end = None , res = 0.1 , final_flat = None , begin_flat = None , xs = None )
+Bases: object
+
+
+
+
+Clothoid
+
+
+class mxpic.components.geometry.curves. Clothoid ( name = None , R = [10, 20] , w = [0.4, 0.5] , A = [0, 45] , width_type = 'sine' , spiral_order = 1 , Rmax = 10000 , dL_cal = 0.001 , dL_wg = 0.1 , xs = 'strip' , layer = None , sharp_patch = True , end_patch = True , show_pins = False )
+Bases: object
+
+
+generate_gds ( sharp_patch , show_pins )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/mxpic/components/geometry/index.html b/docs/build/html/mxpic/components/geometry/index.html
new file mode 100644
index 0000000..9902011
--- /dev/null
+++ b/docs/build/html/mxpic/components/geometry/index.html
@@ -0,0 +1,508 @@
+
+
+
+
+
+
+
+
+
+
+ Geometry — mxpic_handbook mxpic documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back to top
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Geometry
+Reusable geometry structures used by component and primitive generators.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/mxpic/components/geometry/polygons.html b/docs/build/html/mxpic/components/geometry/polygons.html
new file mode 100644
index 0000000..c9d756b
--- /dev/null
+++ b/docs/build/html/mxpic/components/geometry/polygons.html
@@ -0,0 +1,510 @@
+
+
+
+
+
+
+
+
+
+
+ mxpic.components.geometry.polygons — mxpic_handbook mxpic documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back to top
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mxpic.components.geometry.polygons
+Polygon helpers and simple geometric utility cells.
+
+strt_round_courner
+
+
+class mxpic.components.geometry.polygons. strt_round_courner ( width = 5 , length = 10 , layer = None , radius = 1 , n_points = 64 )
+Bases: object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/mxpic/components/geometry/racetrack.html b/docs/build/html/mxpic/components/geometry/racetrack.html
new file mode 100644
index 0000000..d52a8ed
--- /dev/null
+++ b/docs/build/html/mxpic/components/geometry/racetrack.html
@@ -0,0 +1,508 @@
+
+
+
+
+
+
+
+
+
+
+ mxpic.components.geometry.racetrack — mxpic_handbook mxpic documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back to top
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mxpic.components.geometry.racetrack
+Racetrack geometry primitive.
+
+Racetrack
+
+
+class mxpic.components.geometry.racetrack. Racetrack ( bend_cell = None , xs = 'strip' , layer = None , R_bend = 10 , w = 0.5 , dLx = 100 , dLy = 100 , res = 0.001 )
+Bases: object
+
+
+generate_gds ( )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/mxpic/components/geometry/rings.html b/docs/build/html/mxpic/components/geometry/rings.html
new file mode 100644
index 0000000..df7464a
--- /dev/null
+++ b/docs/build/html/mxpic/components/geometry/rings.html
@@ -0,0 +1,589 @@
+
+
+
+
+
+
+
+
+
+
+ mxpic.components.geometry.rings — mxpic_handbook mxpic documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back to top
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mxpic.components.geometry.rings
+Circular, elliptical, and bend geometry primitives.
+
+circle
+
+
+class mxpic.components.geometry.rings. circle ( radius = 10 , width = 0.45 , theta_start = 0 , theta_stop = 360 , res = 0.05 , angle = None , xs = 'strip' , layer = None , sharp_patch = True , y_cut = None )
+Bases: object
+# =================================================================
+# @ File : <mx_frame_lib.py>
+# @ structure: circle ring or disk
+# @ Args : * radius : center radius of the ring
+# : * width : width of the ring
+# : * theta_start : start end of the ring, range [0~360], can be negative
+# : * theta_stop : stop end of the ring, range [0~360], can be negative
+# : * n_points : resolution of the polygon
+# : * xs : placing layer
+# @ located in the center of the ring
+# =================================================================
+
+
+
+
+mx_bend
+
+
+class mxpic.components.geometry.rings. mx_bend ( radius = 10 , width = 0.45 , theta_start = 0 , theta_stop = 360 , res = 0.05 , angle = None , xs = 'strip' , layer = None , sharp_patch = True )
+Bases: object
+
+
+
+
+Elipse_dual
+
+
+class mxpic.components.geometry.rings. Elipse_dual ( ORx , ORy , IRx , IRy , offset_X = 0 , offset_Y = 0 , xs = None , layer = None , theta_start = 0 , theta_stop = 360 , sharp_patch = True , res = 0.001 , y_cut = None )
+Bases: object
+
+
+generate_gds ( sharp_patch )
+
+
+
+
+
+
+Elipse
+
+
+class mxpic.components.geometry.rings. Elipse ( La = None , Lb = None , wa = None , wb = None , offset_a = 0 , offset_b = 0 , type = 'center' , width_type = 'sine' , layer = None , xs = None , theta_start = 0 , theta_stop = 360 , res = 0.001 , sharp_patch = False , show_pins = False )
+Bases: object
+
+
+generate_gds ( sharp_patch , show_pins )
+
+
+
+
+
+
+hole
+
+
+class mxpic.components.geometry.rings. hole ( r_hole = 0.3 , Dx_hole = 0.3 , Dy_hole = 0.3 , Lx_sq = 6 , Ly_sq = 6 , offset = 0 , res = 0.05 , xs = 'strip' , layer = None , sharp_patch = True , hole_shape = 'circle' )
+Bases: object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/build/html/mxpic/components/index.html b/docs/build/html/mxpic/components/index.html
index 0c983a7..7cee8a6 100644
--- a/docs/build/html/mxpic/components/index.html
+++ b/docs/build/html/mxpic/components/index.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -413,16 +419,11 @@
ic_exception
-mxpic.components.structures
diff --git a/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html b/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html
index 4090158..9ba819c 100644
--- a/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html
+++ b/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/primitives/active/dev_ps.html b/docs/build/html/mxpic/components/primitives/active/dev_ps.html
index 34415fe..738010e 100644
--- a/docs/build/html/mxpic/components/primitives/active/dev_ps.html
+++ b/docs/build/html/mxpic/components/primitives/active/dev_ps.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -388,6 +394,18 @@
class mxpic.components.primitives.active.dev_ps. Heater_NDoped ( w_wg = 0.45 , slab_width = 1.1 , heater_length = 100 , heater_width = 1 , if_open = True , show_pins = False )
Bases: object
This is the class for N-doped heater as a phase shifter.
+
+Parameters:
+
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+slab_width (float , optional ) – Value for the slab_width parameter. Default is 1.1.
+heater_length (int , optional ) – Value for the heater_length parameter. Default is 100.
+heater_width (int , optional ) – Value for the heater_width parameter. Default is 1.
+if_open (bool , optional ) – Value for the if_open parameter. Default is True.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_gds ( )
@@ -408,6 +426,21 @@
class mxpic.components.primitives.active.dev_ps. PS_PIN ( w_wg = 0.45 , w_wg_slab = 0.5 , w_slab = 1 , l_wg = 800 , d2wg_list = [0.2, 1] , p_layer_list = ['PW', 'PP'] , n_layer_list = ['NW', 'NP'] , w_plus_max = 5.1 , show_pins = False )
Bases: object
PIN junction for a high-speed phase shift.
+
+Parameters:
+
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+w_wg_slab (float , optional ) – Width parameter in microns. Default is 0.5.
+w_slab (float , optional ) – Width parameter in microns. Default is 1.
+l_wg (float , optional ) – Value for the l_wg parameter. Default is 800.
+d2wg_list (list , optional ) – Value for the d2wg_list parameter. Default is [0.2, 1].
+p_layer_list (list , optional ) – Value for the p_layer_list parameter. Default is [‘PW’, ‘PP’].
+n_layer_list (list , optional ) – Value for the n_layer_list parameter. Default is [‘NW’, ‘NP’].
+w_plus_max (float , optional ) – Width parameter in microns. Default is 5.1.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
cell
diff --git a/docs/build/html/mxpic/components/primitives/active/index.html b/docs/build/html/mxpic/components/primitives/active/index.html
index a8b0dfa..f952ea7 100644
--- a/docs/build/html/mxpic/components/primitives/active/index.html
+++ b/docs/build/html/mxpic/components/primitives/active/index.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/primitives/active/pin_wg.html b/docs/build/html/mxpic/components/primitives/active/pin_wg.html
index 0eb49a5..6ae3805 100644
--- a/docs/build/html/mxpic/components/primitives/active/pin_wg.html
+++ b/docs/build/html/mxpic/components/primitives/active/pin_wg.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,40 @@
class mxpic.components.primitives.active.pin_wg. waveguide_PIN ( xs = 'rib' , L_wg = 100 , w_wg = 1.2 , xs_pn_ct = 'strip_cor' , w_itr = 2.0 , w_p = 4.0 , w_n = 4.0 , w_p_ct = 4.0 , w_n_ct = 4.0 , xs_heater = 'heater' , xs_via_h2m = 'via_h2m' , w_metal_pn = 8 , sz_via_i2m = 0.25 , sp_via_i2m = 0.35 , sp_sc = 1 , xs_p = 'pw' , xs_n = 'nw' , xs_pcont = 'pp' , xs_ncont = 'np' , xs_sa = 'sa' , xs_via_s2m = 'via_s2m' , xs_metal = 'metal' , rib_taper = True , L_taper = 30 , xs_port = 'strip' , show_pins = True )
Bases: object
+waveguide PIN primitive component.
+This component builds the waveguide PIN layout cell.
+
+Parameters:
+
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘rib’.
+L_wg (float , optional ) – Length parameter in microns. Default is 100.
+w_wg (float , optional ) – Width parameter in microns. Default is 1.2.
+xs_pn_ct (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip_cor’.
+w_itr (float , optional ) – Width parameter in microns. Default is 2.0.
+w_p (float , optional ) – Width parameter in microns. Default is 4.0.
+w_n (float , optional ) – Width parameter in microns. Default is 4.0.
+w_p_ct (float , optional ) – Width parameter in microns. Default is 4.0.
+w_n_ct (float , optional ) – Width parameter in microns. Default is 4.0.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+xs_via_h2m (str , optional ) – Layer or cross-section name used by the device. Default is ‘via_h2m’.
+w_metal_pn (float , optional ) – Width parameter in microns. Default is 8.
+sz_via_i2m (float , optional ) – Value for the sz_via_i2m parameter. Default is 0.25.
+sp_via_i2m (float , optional ) – Spacing or gap parameter in microns. Default is 0.35.
+sp_sc (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+xs_p (str , optional ) – Layer or cross-section name used by the device. Default is ‘pw’.
+xs_n (str , optional ) – Layer or cross-section name used by the device. Default is ‘nw’.
+xs_pcont (str , optional ) – Layer or cross-section name used by the device. Default is ‘pp’.
+xs_ncont (str , optional ) – Layer or cross-section name used by the device. Default is ‘np’.
+xs_sa (str , optional ) – Layer or cross-section name used by the device. Default is ‘sa’.
+xs_via_s2m (str , optional ) – Layer or cross-section name used by the device. Default is ‘via_s2m’.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+rib_taper (bool , optional ) – Value for the rib_taper parameter. Default is True.
+L_taper (float , optional ) – Length parameter in microns. Default is 30.
+xs_port (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is True.
+
+
+
generate_gds ( show_pins = False )
@@ -392,6 +432,36 @@
class mxpic.components.primitives.active.pin_wg. WGDoped ( name = None , w_wg = 0.5 , w_port = 0.5 , Ltp_port = 10 , L_wg = 200 , xs_wg = 'rib' , xs_n = ['nld', 'np'] , xs_p = ['pld', 'pp'] , w_n = [0.5, 1] , w_p = [0.5, 1] , w_ht = 0 , L_ht = None , xs_ht = 'heater' , w_mt = None , xs_mt = 'metal' , xs_cont_wg = None , w_i = None , dope_offset = 0 , via_s2m = None , via_h2m = None , dope_ovlp = 0.2 , cell_xs_transition = None )
Bases: object
+WGDoped primitive component.
+This component builds the WGDoped layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.5.
+w_port (float , optional ) – Width parameter in microns. Default is 0.5.
+Ltp_port (int , optional ) – Length parameter in microns. Default is 10.
+L_wg (int , optional ) – Length parameter in microns. Default is 200.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘rib’.
+xs_n (list , optional ) – Layer or cross-section name used by the device. Default is [‘nld’, ‘np’].
+xs_p (list , optional ) – Layer or cross-section name used by the device. Default is [‘pld’, ‘pp’].
+w_n (list , optional ) – Width parameter in microns. Default is [0.5, 1].
+w_p (list , optional ) – Width parameter in microns. Default is [0.5, 1].
+w_ht (float , optional ) – Width parameter in microns. Default is 0.
+L_ht (Any , optional ) – Length parameter in microns. Default is None.
+xs_ht (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_mt (Optional [ float ] , optional ) – Width parameter in microns. Default is None.
+xs_mt (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+xs_cont_wg (Optional [ str ] , optional ) – Layer or cross-section name used by the device. Default is None.
+w_i (Optional [ float ] , optional ) – Width parameter in microns. Default is None.
+dope_offset (int , optional ) – Value for the dope_offset parameter. Default is 0.
+via_s2m (Any , optional ) – Value for the via_s2m parameter. Default is None.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+dope_ovlp (float , optional ) – Value for the dope_ovlp parameter. Default is 0.2.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+
+
+
generate_gds ( )
diff --git a/docs/build/html/mxpic/components/primitives/active/rings.html b/docs/build/html/mxpic/components/primitives/active/rings.html
index 26a0028..0b14089 100644
--- a/docs/build/html/mxpic/components/primitives/active/rings.html
+++ b/docs/build/html/mxpic/components/primitives/active/rings.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -387,6 +393,64 @@
class mxpic.components.primitives.active.rings. AED_Ring_PIN ( name = None , ORx = 10 , ORy = 9 , IRx = 9.35 , IRy = 8.6 , gap = 0.2 , dual_BUS = False , w_bus = 0.45 , R_cp = None , A_cp = 0 , offset_X = 0 , offset_Y = 0 , w_wg = 0.45 , R_att = 20 , R_att_min = 10 , A_att = 30 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs_ring = 'strip' , sharp_patch = True , Euler_trasition = False , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 8 , via_h2m = None , isl = None , A_ht = 270 , ht_notch_dual = True , epin_ht_dX = 10 , epin_ht_dY = 3 , via_i2m = None , xs_metal_imp = 'metal' , xs_p = 'p' , xs_n = 'n' , xs_cont_wg = None , w_p = 3.0 , gap_p_i = 1 , gap_n_i = 1 , w_n = 3.0 , offset_i = 0 , A_imp_in = 180 , A_imp_out = 180 , sp_cont = 0.2 , w_ovlp = 0.1 , bus_dopping = True , p_in_n_out = False , cell_xs_transition = None )
Bases: MRR_AED
+AED Ring PIN primitive component.
+This component builds the AED Ring PIN layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+ORx (float , optional ) – Value for the ORx parameter. Default is 10.
+ORy (float , optional ) – Value for the ORy parameter. Default is 9.
+IRx (float , optional ) – Value for the IRx parameter. Default is 10 - 0.65.
+IRy (float , optional ) – Value for the IRy parameter. Default is 9 - 0.4.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+dual_BUS (bool , optional ) – Value for the dual_BUS parameter. Default is False.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+R_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+offset_X (float , optional ) – Value for the offset_X parameter. Default is 0.
+offset_Y (float , optional ) – Value for the offset_Y parameter. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (float , optional ) – Radius parameter in microns. Default is 20.
+R_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A_att (float , optional ) – Angle parameter in degrees. Default is 30.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is False.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+ht_notch_dual (bool , optional ) – Value for the ht_notch_dual parameter. Default is True.
+epin_ht_dX (int , optional ) – Value for the epin_ht_dX parameter. Default is 10.
+epin_ht_dY (int , optional ) – Value for the epin_ht_dY parameter. Default is 3.
+via_i2m (Any , optional ) – Via definition used between implant and metal layers. Default is None.
+xs_metal_imp (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+xs_p (str , optional ) – Layer or cross-section name used by the device. Default is ‘p’.
+xs_n (str , optional ) – Layer or cross-section name used by the device. Default is ‘n’.
+xs_cont_wg (Optional [ str ] , optional ) – Layer or cross-section name used by the device. Default is None.
+w_p (float , optional ) – Width parameter in microns. Default is 3.0.
+gap_p_i (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+gap_n_i (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+w_n (float , optional ) – Width parameter in microns. Default is 3.0.
+offset_i (float , optional ) – Value for the offset_i parameter. Default is 0.
+A_imp_in (int , optional ) – Angle parameter in degrees. Default is 180.
+A_imp_out (int , optional ) – Angle parameter in degrees. Default is 180.
+sp_cont (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_ovlp (float , optional ) – Width parameter in microns. Default is 0.1.
+bus_dopping (bool , optional ) – Value for the bus_dopping parameter. Default is True.
+p_in_n_out (bool , optional ) – Value for the p_in_n_out parameter. Default is False.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+
+
+
generate_imp_gds ( )
@@ -401,6 +465,65 @@
class mxpic.components.primitives.active.rings. STD_Ring_PIN ( name , r_ring = 10 , w_ring = 0.55 , gap = 0.2 , dual_BUS = True , w_bus = 0.45 , R_cp = None , A_cp = 0 , offset_X = 0 , offset_Y = 0 , w_wg = 0.45 , R_att = 20 , R_att_min = 10 , A_att = 30 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs_ring = 'strip' , sharp_patch = True , Euler_trasition = False , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 8 , via_h2m = None , isl = None , A_ht = 270 , ht_notch_dual = True , epin_ht_dX = 10 , epin_ht_dY = 3 , xs_metal_imp = 'metal' , via_i2m = None , xs_p = 'p' , xs_n = 'n' , xs_cont_wg = None , w_p = 3 , gap_p_i = 1 , gap_n_i = 1 , w_n = 3 , offset_i = 0 , A_imp_in = 180 , A_imp_out = 180 , xs_pcont = 'pp' , xs_ncont = 'np' , w_pcont = 3 , w_ncont = 3 , sp_cont = 0.2 , w_ovlp = 0.2 , bus_dopping = True , p_in_n_out = False )
Bases: AED_Ring_PIN
+STD Ring PIN primitive component.
+This component builds the STD Ring PIN layout cell.
+
+Parameters:
+
+name (str ) – Unique identifier for the device cell.
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.55.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+dual_BUS (bool , optional ) – Value for the dual_BUS parameter. Default is True.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+R_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+offset_X (float , optional ) – Value for the offset_X parameter. Default is 0.
+offset_Y (float , optional ) – Value for the offset_Y parameter. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (float , optional ) – Radius parameter in microns. Default is 20.
+R_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A_att (float , optional ) – Angle parameter in degrees. Default is 30.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is False.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+ht_notch_dual (bool , optional ) – Value for the ht_notch_dual parameter. Default is True.
+epin_ht_dX (int , optional ) – Value for the epin_ht_dX parameter. Default is 10.
+epin_ht_dY (int , optional ) – Value for the epin_ht_dY parameter. Default is 3.
+xs_metal_imp (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_i2m (Any , optional ) – Via definition used between implant and metal layers. Default is None.
+xs_p (str , optional ) – Layer or cross-section name used by the device. Default is ‘p’.
+xs_n (str , optional ) – Layer or cross-section name used by the device. Default is ‘n’.
+xs_cont_wg (Optional [ str ] , optional ) – Layer or cross-section name used by the device. Default is None.
+w_p (float , optional ) – Width parameter in microns. Default is 3.
+gap_p_i (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+gap_n_i (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+w_n (float , optional ) – Width parameter in microns. Default is 3.
+offset_i (float , optional ) – Value for the offset_i parameter. Default is 0.
+A_imp_in (int , optional ) – Angle parameter in degrees. Default is 180.
+A_imp_out (int , optional ) – Angle parameter in degrees. Default is 180.
+xs_pcont (str , optional ) – Layer or cross-section name used by the device. Default is ‘pp’.
+xs_ncont (str , optional ) – Layer or cross-section name used by the device. Default is ‘np’.
+w_pcont (float , optional ) – Width parameter in microns. Default is 3.
+w_ncont (float , optional ) – Width parameter in microns. Default is 3.
+sp_cont (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_ovlp (float , optional ) – Width parameter in microns. Default is 0.2.
+bus_dopping (bool , optional ) – Value for the bus_dopping parameter. Default is True.
+p_in_n_out (bool , optional ) – Value for the p_in_n_out parameter. Default is False.
+
+
+
@@ -410,6 +533,58 @@
class mxpic.components.primitives.active.rings. PIN_MRR_MM_Allpass ( name = None , r_ring = 10 , w_ring = 0.55 , gap = 0.2 , w_bus = 0.45 , R_cp = None , A_cp = 0 , R_att = 10 , R_att_min = 10 , A_att = 10 , offset_X = 0 , offset_Y = 0 , w_wg = 0.45 , Ltp_bus = 10 , dL_p2p = None , xs_ring = 'strip' , sharp_patch = True , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 8 , via_h2m = None , isl = None , A_ht = 270 , ht_notch_dual = True , epin_ht_dX = 10 , epin_ht_dY = 3 , xs_metal_imp = 'metal' , via_i2m = None , xs_p = 'p' , xs_n = 'n' , xs_cont_wg = None , w_p = 3 , w_n = 3 , w_i = 1 , offset_i = 0 , A_imp_in = 180 , A_imp_out = 180 , sp_cont = 0.2 , w_ovlp = 0.2 , bus_dopping = True , cell_xs_transition = None , p_in_n_out = False )
Bases: AED_Ring_PIN
+PIN MRR MM Allpass primitive component.
+This component builds the PIN MRR MM Allpass layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.55.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+R_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+R_att (int , optional ) – Radius parameter in microns. Default is 10.
+R_att_min (int , optional ) – Radius parameter in microns. Default is 10.
+A_att (int , optional ) – Angle parameter in degrees. Default is 10.
+offset_X (float , optional ) – Value for the offset_X parameter. Default is 0.
+offset_Y (float , optional ) – Value for the offset_Y parameter. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+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.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+ht_notch_dual (bool , optional ) – Value for the ht_notch_dual parameter. Default is True.
+epin_ht_dX (int , optional ) – Value for the epin_ht_dX parameter. Default is 10.
+epin_ht_dY (int , optional ) – Value for the epin_ht_dY parameter. Default is 3.
+xs_metal_imp (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_i2m (Any , optional ) – Via definition used between implant and metal layers. Default is None.
+xs_p (str , optional ) – Layer or cross-section name used by the device. Default is ‘p’.
+xs_n (str , optional ) – Layer or cross-section name used by the device. Default is ‘n’.
+xs_cont_wg (Optional [ str ] , optional ) – Layer or cross-section name used by the device. Default is None.
+w_p (float , optional ) – Width parameter in microns. Default is 3.
+w_n (float , optional ) – Width parameter in microns. Default is 3.
+w_i (float , optional ) – Width parameter in microns. Default is 1.
+offset_i (float , optional ) – Value for the offset_i parameter. Default is 0.
+A_imp_in (int , optional ) – Angle parameter in degrees. Default is 180.
+A_imp_out (int , optional ) – Angle parameter in degrees. Default is 180.
+sp_cont (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_ovlp (float , optional ) – Width parameter in microns. Default is 0.2.
+bus_dopping (bool , optional ) – Value for the bus_dopping parameter. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+p_in_n_out (bool , optional ) – Value for the p_in_n_out parameter. Default is False.
+
+
+
@@ -419,6 +594,58 @@
class mxpic.components.primitives.active.rings. PIN_MRR_MM_Adddrop ( name = None , r_ring = 10 , w_ring = 0.55 , gap = 0.2 , w_bus = 0.45 , R_cp = None , A_cp = 0 , R_att = 10 , R_att_min = 10 , A_att = 10 , offset_X = 0 , offset_Y = 0 , w_wg = 0.45 , Ltp_bus = 10 , dL_p2p = None , xs_ring = 'strip' , sharp_patch = True , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 8 , via_h2m = None , isl = None , A_ht = 270 , ht_notch_dual = True , epin_ht_dX = 10 , epin_ht_dY = 3 , xs_metal_imp = 'metal' , via_i2m = None , xs_p = 'p' , xs_n = 'n' , xs_cont_wg = None , w_p = 3 , w_n = 3 , w_i = 1 , offset_i = 0 , A_imp_in = 180 , A_imp_out = 180 , sp_cont = 0.2 , w_ovlp = 0.2 , bus_dopping = True , cell_xs_transition = None , p_in_n_out = False )
Bases: AED_Ring_PIN
+PIN MRR MM Adddrop primitive component.
+This component builds the PIN MRR MM Adddrop layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.55.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+R_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+R_att (int , optional ) – Radius parameter in microns. Default is 10.
+R_att_min (int , optional ) – Radius parameter in microns. Default is 10.
+A_att (int , optional ) – Angle parameter in degrees. Default is 10.
+offset_X (float , optional ) – Value for the offset_X parameter. Default is 0.
+offset_Y (float , optional ) – Value for the offset_Y parameter. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+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.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+ht_notch_dual (bool , optional ) – Value for the ht_notch_dual parameter. Default is True.
+epin_ht_dX (int , optional ) – Value for the epin_ht_dX parameter. Default is 10.
+epin_ht_dY (int , optional ) – Value for the epin_ht_dY parameter. Default is 3.
+xs_metal_imp (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_i2m (Any , optional ) – Via definition used between implant and metal layers. Default is None.
+xs_p (str , optional ) – Layer or cross-section name used by the device. Default is ‘p’.
+xs_n (str , optional ) – Layer or cross-section name used by the device. Default is ‘n’.
+xs_cont_wg (Optional [ str ] , optional ) – Layer or cross-section name used by the device. Default is None.
+w_p (float , optional ) – Width parameter in microns. Default is 3.
+w_n (float , optional ) – Width parameter in microns. Default is 3.
+w_i (float , optional ) – Width parameter in microns. Default is 1.
+offset_i (float , optional ) – Value for the offset_i parameter. Default is 0.
+A_imp_in (int , optional ) – Angle parameter in degrees. Default is 180.
+A_imp_out (int , optional ) – Angle parameter in degrees. Default is 180.
+sp_cont (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_ovlp (float , optional ) – Width parameter in microns. Default is 0.2.
+bus_dopping (bool , optional ) – Value for the bus_dopping parameter. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+p_in_n_out (bool , optional ) – Value for the p_in_n_out parameter. Default is False.
+
+
+
@@ -428,6 +655,53 @@
class mxpic.components.primitives.active.rings. PIN_MRR_STD_Allpass ( name = None , r_ring = 10 , w_ring = 0.55 , gap = 0.2 , w_bus = 0.45 , A_cp = 0 , w_wg = 0.45 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs_ring = 'strip' , sharp_patch = True , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 8 , via_h2m = None , isl = None , A_ht = 270 , ht_notch_dual = True , epin_ht_dX = 10 , epin_ht_dY = 3 , xs_metal_imp = 'metal' , via_i2m = None , xs_p = 'p' , xs_n = 'n' , xs_cont_wg = None , w_p = 3 , w_n = 3 , w_i = 1 , offset_i = 0 , A_imp_in = 180 , A_imp_out = 180 , sp_cont = 0.2 , w_ovlp = 0.2 , bus_dopping = True , cell_xs_transition = None , p_in_n_out = False )
Bases: AED_Ring_PIN
+PIN MRR STD Allpass primitive component.
+This component builds the PIN MRR STD Allpass layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.55.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+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.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+ht_notch_dual (bool , optional ) – Value for the ht_notch_dual parameter. Default is True.
+epin_ht_dX (int , optional ) – Value for the epin_ht_dX parameter. Default is 10.
+epin_ht_dY (int , optional ) – Value for the epin_ht_dY parameter. Default is 3.
+xs_metal_imp (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_i2m (Any , optional ) – Via definition used between implant and metal layers. Default is None.
+xs_p (str , optional ) – Layer or cross-section name used by the device. Default is ‘p’.
+xs_n (str , optional ) – Layer or cross-section name used by the device. Default is ‘n’.
+xs_cont_wg (Optional [ str ] , optional ) – Layer or cross-section name used by the device. Default is None.
+w_p (float , optional ) – Width parameter in microns. Default is 3.
+w_n (float , optional ) – Width parameter in microns. Default is 3.
+w_i (float , optional ) – Width parameter in microns. Default is 1.
+offset_i (float , optional ) – Value for the offset_i parameter. Default is 0.
+A_imp_in (int , optional ) – Angle parameter in degrees. Default is 180.
+A_imp_out (int , optional ) – Angle parameter in degrees. Default is 180.
+sp_cont (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_ovlp (float , optional ) – Width parameter in microns. Default is 0.2.
+bus_dopping (bool , optional ) – Value for the bus_dopping parameter. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+p_in_n_out (bool , optional ) – Value for the p_in_n_out parameter. Default is False.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/beam_splitters.html b/docs/build/html/mxpic/components/primitives/beam_splitters.html
index 0d5314e..2676589 100644
--- a/docs/build/html/mxpic/components/primitives/beam_splitters.html
+++ b/docs/build/html/mxpic/components/primitives/beam_splitters.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/primitives/directional_couplers.html b/docs/build/html/mxpic/components/primitives/directional_couplers.html
index 1c8748e..e8b5556 100644
--- a/docs/build/html/mxpic/components/primitives/directional_couplers.html
+++ b/docs/build/html/mxpic/components/primitives/directional_couplers.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -592,8 +598,24 @@
class mxpic.components.primitives.directional_couplers. DC_bend ( name = None , w_in = 0.45 , w_out = 0.45 , gap = 0.2 , r_in = 40 , theta_arc = 30 , w_wg = 0.45 , theta_ext = 15 , xs_wg = 'strip' , sharp_patch = True , show_pins = False )
Bases: object
-This is a class for bend directional coupler for broadband and fabrication tolerant power splitting.
-Written by HU GAOLEI at 2022.5.15.
+This is a class for bend directional coupler for broadband and fabrication tolerant power splitting.
+
+Parameters:
+
+name (Any , optional ) – Unique identifier for the device cell. Default is None.
+w_in (float , optional ) – Width parameter in microns. Default is 0.45.
+w_out (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+r_in (int , optional ) – Radius parameter in microns. Default is 40.
+theta_arc (int , optional ) – Angle parameter in degrees. Default is 30.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+theta_ext (int , optional ) – Angle parameter in degrees. Default is 15.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+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.
+
+
+
generate_gds ( cellname = '' )
diff --git a/docs/build/html/mxpic/components/primitives/grating_couplers.html b/docs/build/html/mxpic/components/primitives/grating_couplers.html
index c4f22a4..c01a23c 100644
--- a/docs/build/html/mxpic/components/primitives/grating_couplers.html
+++ b/docs/build/html/mxpic/components/primitives/grating_couplers.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -619,6 +625,36 @@ This is a class for 2D Grating in IMEC.
class mxpic.components.primitives.grating_couplers. GC_SiN_Si_Dual_Layer ( name = None , w_teeth_SiN = 0.5 , gap_teeth_SiN = 0.5 , w_teeth_Si = 0.5 , gap_teeth_Si = 0.5 , ori_teeth_offset = 5.0 , n_teeth_Si = 30 , n_teeth_SiN = 30 , A_gc_taper = 25.0 , R_teeth_ori_SiN = 40.0 , R_teeth_ori_Si = 40.0 , L_end_Si = 0.2 , L_end_SiN = 5.0 , w_port = 0.9 , A_anti_rfl = 4.0 , layer_SiN_slab = None , layer_Si_slab = None , layer_Si_teeth = None , layer_SiN_teeth = None , layer_SiN_etch = None , layer_Si_etch = None , layer_ox_open = None )
Bases: object
+GC SiN Si Dual Layer primitive component.
+This component builds the GC SiN Si Dual Layer layout cell.
+
+Parameters:
+
+name (str , optional ) – Unique identifier for the device cell. Default is None.
+w_teeth_SiN (list or float , optional ) – Width parameter in microns. Default is 0.5.
+gap_teeth_SiN (list or float , optional ) – Spacing or gap parameter in microns. Default is 0.5.
+w_teeth_Si (list or float , optional ) – Width parameter in microns. Default is 0.5.
+gap_teeth_Si (list or float , optional ) – Spacing or gap parameter in microns. Default is 0.5.
+ori_teeth_offset (float , optional ) – Value for the ori_teeth_offset parameter. Default is 5.0.
+n_teeth_Si (float , optional ) – Value for the n_teeth_Si parameter. Default is 30.
+n_teeth_SiN (float , optional ) – Value for the n_teeth_SiN parameter. Default is 30.
+A_gc_taper (float , optional ) – Angle parameter in degrees. Default is 25.0.
+R_teeth_ori_SiN (float , optional ) – Radius parameter in microns. Default is 40.0.
+R_teeth_ori_Si (float , optional ) – Radius parameter in microns. Default is 40.0.
+L_end_Si (float , optional ) – Length parameter in microns. Default is 0.2.
+L_end_SiN (float , optional ) – Length parameter in microns. Default is 5.0.
+w_port (float , optional ) – Width parameter in microns. Default is 0.9.
+A_anti_rfl (float , optional ) – Angle parameter in degrees. Default is 4.0.
+layer_SiN_slab (str , optional ) – Layer or cross-section name used by the device. Default is None.
+layer_Si_slab (str , optional ) – Layer or cross-section name used by the device. Default is None.
+layer_Si_teeth (str , optional ) – Layer or cross-section name used by the device. Default is None.
+layer_SiN_teeth (str , optional ) – Layer or cross-section name used by the device. Default is None.
+layer_SiN_etch (str , optional ) – Layer or cross-section name used by the device. Default is None.
+layer_Si_etch (str , optional ) – Layer or cross-section name used by the device. Default is None.
+layer_ox_open (str , optional ) – Layer or cross-section name used by the device. Default is None.
+
+
+
generate_gds ( )
diff --git a/docs/build/html/mxpic/components/primitives/index.html b/docs/build/html/mxpic/components/primitives/index.html
index 7e5af0d..9e4d758 100644
--- a/docs/build/html/mxpic/components/primitives/index.html
+++ b/docs/build/html/mxpic/components/primitives/index.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/primitives/multimode_interferometers.html b/docs/build/html/mxpic/components/primitives/multimode_interferometers.html
index 6117ee3..532a689 100644
--- a/docs/build/html/mxpic/components/primitives/multimode_interferometers.html
+++ b/docs/build/html/mxpic/components/primitives/multimode_interferometers.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/primitives/passive/crows.html b/docs/build/html/mxpic/components/primitives/passive/crows.html
index cb05d49..abc992e 100644
--- a/docs/build/html/mxpic/components/primitives/passive/crows.html
+++ b/docs/build/html/mxpic/components/primitives/passive/crows.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,35 @@
class mxpic.components.primitives.passive.crows. STD_CROW_V ( ring , bus , w_bus , w_ring , sz_ring , sz_bus , name = None , gap_crows = [0.4] , gap_cp = [0.45, 0.45] , w_heater = 0 , xs_heater = 'heater' , connected = True , w_metal = 8 , xs_metal = 'metal' , via_h2m = None , isl = None , ht_shift = 0 , A_ht = 45 , ISL_LEFT = True , ISL_RIGHT = True , show_pins = False )
Bases: object
+STD CROW V primitive component.
+This component builds the STD CROW V layout cell.
+
+Parameters:
+
+ring (Any ) – Ring cell or component used by this composite.
+bus (Any ) – Bus waveguide cell or component used by this composite.
+w_bus (float or list ) – Width parameter in microns.
+w_ring (float or list ) – Width parameter in microns.
+sz_ring (float or list ) – Value for the sz_ring parameter.
+sz_bus (float or list ) – Value for the sz_bus parameter.
+name (str , optional ) – Unique identifier for the device cell. Default is None.
+gap_crows (float or list , optional ) – Spacing or gap parameter in microns. Default is [0.4].
+gap_cp (float or list , optional ) – Spacing or gap parameter in microns. Default is [0.45, 0.45].
+w_heater (float or list , optional ) – Width parameter in microns. Default is 0.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+connected (bool , optional ) – Value for the connected parameter. Default is True.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+ht_shift (int , optional ) – Value for the ht_shift parameter. Default is 0.
+A_ht (int , optional ) – Angle parameter in degrees. Default is 45.
+ISL_LEFT (bool , optional ) – Value for the ISL_LEFT parameter. Default is True.
+ISL_RIGHT (bool , optional ) – Value for the ISL_RIGHT parameter. Default is True.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
A_ht
@@ -402,6 +437,48 @@
class mxpic.components.primitives.passive.crows. CROW_Eul_Ring ( name , R0 = 10 , R1 = 3 , w0 = 0.38 , w1 = 0.65 , w_bus = 0.35 , R_att = 15 , R_att_min = 3 , A_att = 30 , w_wg = 0.45 , dLx = 0 , dLy = 0 , xs_wg = 'strip' , gap_crows = [0.4] , gap_cp = 0.45 , w_heater = 0 , xs_heater = 'heater' , connected = True , w_metal = 8 , xs_metal = 'metal' , via_h2m = None , isl = None , ISL_LEFT = True , ISL_RIGHT = True , show_pins = False , sharp_patch = True , dL_p2p = None , Ltp_bus = 0 , ht_shift = 0 , A_ht = 45 , R_cp = None , bus_order = 1.0 , width_type = 'crow_customize' , A_cp = 0 )
Bases: STD_CROW_V
+CROW Eul Ring primitive component.
+This component builds the CROW Eul Ring layout cell.
+
+Parameters:
+
+name (str ) – Unique identifier for the device cell.
+R0 (int , optional ) – Radius parameter in microns. Default is 10.
+R1 (int , optional ) – Radius parameter in microns. Default is 3.
+w0 (float , optional ) – Width parameter in microns. Default is 0.38.
+w1 (float , optional ) – Width parameter in microns. Default is 0.65.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.35.
+R_att (int , optional ) – Radius parameter in microns. Default is 15.
+R_att_min (int , optional ) – Radius parameter in microns. Default is 3.
+A_att (int , optional ) – Angle parameter in degrees. Default is 30.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+dLx (float , optional ) – Value for the dLx parameter. Default is 0.
+dLy (float , optional ) – Value for the dLy parameter. Default is 0.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+gap_crows (list , optional ) – Spacing or gap parameter in microns. Default is [0.4].
+gap_cp (float , optional ) – Spacing or gap parameter in microns. Default is 0.45.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+connected (bool , optional ) – Value for the connected parameter. Default is True.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+ISL_LEFT (bool , optional ) – Value for the ISL_LEFT parameter. Default is True.
+ISL_RIGHT (bool , optional ) – Value for the ISL_RIGHT parameter. Default is True.
+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.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 0.
+ht_shift (int , optional ) – Value for the ht_shift parameter. Default is 0.
+A_ht (int , optional ) – Angle parameter in degrees. Default is 45.
+R_cp (Any , optional ) – Radius parameter in microns. Default is None.
+bus_order (float , optional ) – Value for the bus_order parameter. Default is 1.0.
+width_type (str , optional ) – Width parameter in microns. Default is ‘crow_customize’.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+
+
+
@@ -411,6 +488,45 @@
class mxpic.components.primitives.passive.crows. CROW_Eul_RCK ( R0 = 10 , R1 = 3 , R2 = 20 , w0 = 0.38 , w1 = 0.65 , w_bus = 0.35 , R_att = 15 , R_att_min = 3 , A_att = 30 , w_wg = 0.45 , dAc = 0 , dLx = 0 , dLy = 0 , xs_wg = 'strip' , gap_crows = [0.4] , gap_cp = 0.45 , w_heater = 0 , xs_heater = 'heater' , connected = True , w_metal = 8 , xs_metal = 'metal' , via_h2m = None , isl = None , ISL_LEFT = True , ISL_RIGHT = True , show_pins = False , sharp_patch = True , dL_p2p = None , Ltp_bus = 0 , ht_shift = 0 , A_ht = 45 )
Bases: STD_CROW_V
+CROW Eul RCK primitive component.
+This component builds the CROW Eul RCK layout cell.
+
+Parameters:
+
+R0 (int , optional ) – Radius parameter in microns. Default is 10.
+R1 (int , optional ) – Radius parameter in microns. Default is 3.
+R2 (int , optional ) – Radius parameter in microns. Default is 20.
+w0 (float , optional ) – Width parameter in microns. Default is 0.38.
+w1 (float , optional ) – Width parameter in microns. Default is 0.65.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.35.
+R_att (int , optional ) – Radius parameter in microns. Default is 15.
+R_att_min (int , optional ) – Radius parameter in microns. Default is 3.
+A_att (int , optional ) – Angle parameter in degrees. Default is 30.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+dAc (float , optional ) – Value for the dAc parameter. Default is 0.
+dLx (float , optional ) – Value for the dLx parameter. Default is 0.
+dLy (float , optional ) – Value for the dLy parameter. Default is 0.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+gap_crows (list , optional ) – Spacing or gap parameter in microns. Default is [0.4].
+gap_cp (float , optional ) – Spacing or gap parameter in microns. Default is 0.45.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+connected (bool , optional ) – Value for the connected parameter. Default is True.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+ISL_LEFT (bool , optional ) – Value for the ISL_LEFT parameter. Default is True.
+ISL_RIGHT (bool , optional ) – Value for the ISL_RIGHT parameter. Default is True.
+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.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 0.
+ht_shift (int , optional ) – Value for the ht_shift parameter. Default is 0.
+A_ht (int , optional ) – Angle parameter in degrees. Default is 45.
+
+
+
@@ -420,6 +536,49 @@
class mxpic.components.primitives.passive.crows. CROW_Circular_ring ( r_ring = 10 , w_ring = 0.45 , xs_ring = 'strip' , w1_bus = 0.45 , A1_cp = 10 , w2_bus = 0.45 , A2_cp = 10 , gap1 = 0.45 , gap2 = 0.45 , w_wg = 0.45 , Euler_trasition = True , R1_cp = None , R2_cp = None , R1_att = 10 , R2_att = 10 , R1_att_min = 5 , R2_att_min = 5 , A1_att = 45 , A2_att = 45 , gap_crows = [0.4] , w_heater = 0 , xs_heater = 'heater' , connected = True , w_metal = 8 , xs_metal = 'metal' , via_h2m = None , isl = None , ISL_LEFT = True , ISL_RIGHT = True , show_pins = False , sharp_patch = True , dL_p2p = None , Ltp_bus = 0 , ht_shift = 0 , A_ht = 45 )
Bases: STD_CROW_V
+CROW Circular ring primitive component.
+This component builds the CROW Circular ring layout cell.
+
+Parameters:
+
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.45.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+w1_bus (float , optional ) – Value for the w1_bus parameter. Default is 0.45.
+A1_cp (int , optional ) – Angle parameter in degrees. Default is 10.
+w2_bus (float , optional ) – Value for the w2_bus parameter. Default is 0.45.
+A2_cp (int , optional ) – Angle parameter in degrees. Default is 10.
+gap1 (float , optional ) – Spacing or gap parameter in microns. Default is 0.45.
+gap2 (float , optional ) – Spacing or gap parameter in microns. Default is 0.45.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is True.
+R1_cp (Any , optional ) – Radius parameter in microns. Default is None.
+R2_cp (Any , optional ) – Radius parameter in microns. Default is None.
+R1_att (float , optional ) – Radius parameter in microns. Default is 10.
+R2_att (float , optional ) – Radius parameter in microns. Default is 10.
+R1_att_min (float , optional ) – Radius parameter in microns. Default is 5.
+R2_att_min (float , optional ) – Radius parameter in microns. Default is 5.
+A1_att (int , optional ) – Angle parameter in degrees. Default is 45.
+A2_att (int , optional ) – Angle parameter in degrees. Default is 45.
+gap_crows (float or list , optional ) – Spacing or gap parameter in microns. Default is [0.4].
+w_heater (float or list , optional ) – Width parameter in microns. Default is 0.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+connected (bool , optional ) – Value for the connected parameter. Default is True.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+ISL_LEFT (bool , optional ) – Value for the ISL_LEFT parameter. Default is True.
+ISL_RIGHT (bool , optional ) – Value for the ISL_RIGHT parameter. Default is True.
+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.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 0.
+ht_shift (int , optional ) – Value for the ht_shift parameter. Default is 0.
+A_ht (int , optional ) – Angle parameter in degrees. Default is 45.
+
+
+
@@ -429,6 +588,39 @@
class mxpic.components.primitives.passive.crows. CROW_STD_Allpass ( r_ring = 10 , w_ring = 0.45 , xs_ring = 'strip' , w_bus = 0.45 , A_cp = 10 , gap_bus = 0.45 , w_wg = 0.45 , Euler_trasition = True , R_att = 10 , R_att_min = 5 , A_att = 45 , gap_crows = [0.4] , w_heater = 0 , xs_heater = 'heater' , connected = True , w_metal = 8 , xs_metal = 'metal' , via_h2m = None , isl = None , show_pins = False , sharp_patch = True , dL_p2p = None , Ltp_bus = 0 , ht_shift = 0 , A_ht = 45 )
Bases: CROW_Circular_ring
+CROW STD Allpass primitive component.
+This component builds the CROW STD Allpass layout cell.
+
+Parameters:
+
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.45.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 10.
+gap_bus (float , optional ) – Spacing or gap parameter in microns. Default is 0.45.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is True.
+R_att (float , optional ) – Radius parameter in microns. Default is 10.
+R_att_min (float , optional ) – Radius parameter in microns. Default is 5.
+A_att (int , optional ) – Angle parameter in degrees. Default is 45.
+gap_crows (float or list , optional ) – Spacing or gap parameter in microns. Default is [0.4].
+w_heater (float or list , optional ) – Width parameter in microns. Default is 0.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+connected (bool , optional ) – Value for the connected parameter. Default is True.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+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.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 0.
+ht_shift (int , optional ) – Value for the ht_shift parameter. Default is 0.
+A_ht (int , optional ) – Angle parameter in degrees. Default is 45.
+
+
+
@@ -438,6 +630,39 @@
class mxpic.components.primitives.passive.crows. CROW_STD_Adddrop ( r_ring = 10 , w_ring = 0.45 , xs_ring = 'strip' , w_bus = 0.45 , A_cp = 10 , gap_bus = 0.45 , w_wg = 0.45 , Euler_trasition = True , R_att = 10 , R_att_min = 5 , A_att = 45 , gap_crows = [0.4] , w_heater = 0 , xs_heater = 'heater' , connected = True , w_metal = 8 , xs_metal = 'metal' , via_h2m = None , isl = None , show_pins = False , sharp_patch = True , dL_p2p = None , Ltp_bus = 0 , ht_shift = 0 , A_ht = 45 )
Bases: CROW_Circular_ring
+CROW STD Adddrop primitive component.
+This component builds the CROW STD Adddrop layout cell.
+
+Parameters:
+
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.45.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 10.
+gap_bus (float , optional ) – Spacing or gap parameter in microns. Default is 0.45.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is True.
+R_att (float , optional ) – Radius parameter in microns. Default is 10.
+R_att_min (float , optional ) – Radius parameter in microns. Default is 5.
+A_att (int , optional ) – Angle parameter in degrees. Default is 45.
+gap_crows (float or list , optional ) – Spacing or gap parameter in microns. Default is [0.4].
+w_heater (float or list , optional ) – Width parameter in microns. Default is 0.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+connected (bool , optional ) – Value for the connected parameter. Default is True.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+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.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 0.
+ht_shift (int , optional ) – Value for the ht_shift parameter. Default is 0.
+A_ht (int , optional ) – Angle parameter in degrees. Default is 45.
+
+
+
@@ -447,6 +672,52 @@
class mxpic.components.primitives.passive.crows. CROW_AED ( r_outer = 10 , wa = 0.45 , wb = 0.45 , xs_ring = 'strip' , w1_bus = 0.45 , A1_cp = 10 , w2_bus = 0.45 , A2_cp = 10 , gap1 = 0.45 , gap2 = 0.45 , w_wg = 0.45 , Euler_trasition = True , R1_cp = None , R2_cp = None , R1_att = 15 , R2_att = 15 , R1_att_min = 5 , R2_att_min = 5 , L_tilt = 0 , A1_att = 45 , A2_att = 45 , Ltp_bus = 0 , dL_p2p = None , gap_crows = [0.4] , gap_cp = [0.45, 0.45] , w_heater = 0 , xs_heater = 'heater' , connected = True , w_metal = 8 , xs_metal = 'metal' , via_h2m = None , isl = None , ISL_LEFT = True , ISL_RIGHT = True , show_pins = False , sharp_patch = True , ht_shift = 0 , A_ht = 45 )
Bases: STD_CROW_V
+CROW AED primitive component.
+This component builds the CROW AED layout cell.
+
+Parameters:
+
+r_outer (float , optional ) – Radius parameter in microns. Default is 10.
+wa (float , optional ) – Width parameter in microns. Default is 0.45.
+wb (float , optional ) – Width parameter in microns. Default is 0.45.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+w1_bus (float , optional ) – Value for the w1_bus parameter. Default is 0.45.
+A1_cp (int , optional ) – Angle parameter in degrees. Default is 10.
+w2_bus (float , optional ) – Value for the w2_bus parameter. Default is 0.45.
+A2_cp (int , optional ) – Angle parameter in degrees. Default is 10.
+gap1 (float , optional ) – Spacing or gap parameter in microns. Default is 0.45.
+gap2 (float , optional ) – Spacing or gap parameter in microns. Default is 0.45.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is True.
+R1_cp (float , optional ) – Radius parameter in microns. Default is None.
+R2_cp (float , optional ) – Radius parameter in microns. Default is None.
+R1_att (float , optional ) – Radius parameter in microns. Default is 15.
+R2_att (float , optional ) – Radius parameter in microns. Default is 15.
+R1_att_min (float , optional ) – Radius parameter in microns. Default is 5.
+R2_att_min (float , optional ) – Radius parameter in microns. Default is 5.
+L_tilt (int , optional ) – Length parameter in microns. Default is 0.
+A1_att (int , optional ) – Angle parameter in degrees. Default is 45.
+A2_att (int , optional ) – Angle parameter in degrees. Default is 45.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 0.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+gap_crows (float or list , optional ) – Spacing or gap parameter in microns. Default is [0.4].
+gap_cp (float or list , optional ) – Spacing or gap parameter in microns. Default is [0.45, 0.45].
+w_heater (float or list , optional ) – Width parameter in microns. Default is 0.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+connected (bool , optional ) – Value for the connected parameter. Default is True.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+ISL_LEFT (bool , optional ) – Value for the ISL_LEFT parameter. Default is True.
+ISL_RIGHT (bool , optional ) – Value for the ISL_RIGHT parameter. Default is True.
+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.
+ht_shift (int , optional ) – Value for the ht_shift parameter. Default is 0.
+A_ht (int , optional ) – Angle parameter in degrees. Default is 45.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/passive/index.html b/docs/build/html/mxpic/components/primitives/passive/index.html
index 5909246..721806c 100644
--- a/docs/build/html/mxpic/components/primitives/passive/index.html
+++ b/docs/build/html/mxpic/components/primitives/passive/index.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/primitives/passive/rings.html b/docs/build/html/mxpic/components/primitives/passive/rings.html
index ac3f17a..2888bad 100644
--- a/docs/build/html/mxpic/components/primitives/passive/rings.html
+++ b/docs/build/html/mxpic/components/primitives/passive/rings.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -820,6 +826,27 @@ orthogonal ubend.
class mxpic.components.primitives.passive.rings. SOCR ( w_wg = 0.45 , w_cp = 0.45 , w_ring = 0.45 , r_ring = 6 , gap = 0.2 , theta_arc = 100 , Ls = 2 , xs_ring = 'strip' , w_heater = 1.5 , xs_heater = 'heater' , w_metal = 6 , xs_metal = 'metal' , via_h2m = None , sharp_patch = True , show_pins = True )
Bases: object
This is the class for normal Strong Over Coupled Ring for phase modulation.
+
+Parameters:
+
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+w_cp (float , optional ) – Width parameter in microns. Default is 0.45.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.45.
+r_ring (float , optional ) – Radius parameter in microns. Default is 6.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+theta_arc (float , optional ) – Angle parameter in degrees. Default is 100.
+Ls (float , optional ) – Length parameter in microns. Default is 2.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+w_heater (float , optional ) – Width parameter in microns. Default is 1.5.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_metal (float , optional ) – Width parameter in microns. Default is 6.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+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 True.
+
+
+
generate_2pi_gds ( gap = 10 )
@@ -859,9 +886,18 @@ Return: Cell
SOCR_Cband
-class mxpic.components.primitives.passive.rings. SOCR_Cband ( w_wg = 0.45 , show_pins = True )
+class mxpic.components.primitives.passive.rings. SOCR_Cband ( w_wg = 0.45 , via_h2m = None , show_pins = True )
Bases: SOCR
This is the class for already designed SOCR with multimode waveguide to suppres the phase noise.
+
+Parameters:
+
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is True.
+
+
+
@@ -871,9 +907,29 @@ Return: Cell
class mxpic.components.primitives.passive.rings. SOCR_Adiabatic ( w_wg = 0.45 , w_cp = 0.45 , w_in = 0.45 , w_out = 2 , r_out = 6 , gap = 0.2 , theta_arc = 100 , Ls = 2 , xs_ring = 'strip' , w_heater = 1.5 , xs_heater = 'heater' , w_metal = 6 , xs_metal = 'metal' , via_h2m = None , sharp_patch = True , show_pins = True )
Bases: SOCR
-This is the class for adiabatic Strong Over Coupled Ring(SOCR) for phase modulation.
-See detail in:
-[1] Liang, G., Huang, H., Mohanty, A. et al. Robust, efficient, micrometre-scale phase modulators at visible wavelengths. Nat. Photon. 15, 908–913 (2021).
+This is the class for adiabatic Strong Over Coupled Ring(SOCR) for phase modulation.
+
+Parameters:
+
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+w_cp (float , optional ) – Width parameter in microns. Default is 0.45.
+w_in (float , optional ) – Width parameter in microns. Default is 0.45.
+w_out (float , optional ) – Width parameter in microns. Default is 2.
+r_out (float , optional ) – Radius parameter in microns. Default is 6.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+theta_arc (float , optional ) – Angle parameter in degrees. Default is 100.
+Ls (float , optional ) – Length parameter in microns. Default is 2.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+w_heater (float , optional ) – Width parameter in microns. Default is 1.5.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_metal (float , optional ) – Width parameter in microns. Default is 6.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+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 True.
+
+
+
generate_eic_part ( )
@@ -898,19 +954,15 @@ Return: Cell
SOCR_Adiabatic_Cband
-class mxpic.components.primitives.passive.rings. SOCR_Adiabatic_Cband ( w_wg = 0.45 , show_pins = True )
+class mxpic.components.primitives.passive.rings. SOCR_Adiabatic_Cband ( w_wg = 0.45 , via_h2m = None , show_pins = True )
Bases: SOCR_Adiabatic
This is already designed SOCR at C-band.
Parameters:
-Gap (- ) – 200nm
-w_wg (- ) – 450nm
-w_in (- ) – 510nm
-w_out (- ) – 2um
-gap (- ) – 200nm
-theta_arc (- ) – 120degree
-Ls (- ) – 1um
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is True.
@@ -923,6 +975,57 @@ Return: Cell
class mxpic.components.primitives.passive.rings. MRR_AED ( name = None , ORx = 10 , ORy = 10 , IRx = 9.55 , IRy = 9.5 , gap1 = 0.2 , gap2 = 0.2 , w1_bus = 0.45 , w2_bus = 0.45 , R1_cp = None , R2_cp = None , A1_cp = 0 , A2_cp = 0 , offset_X = 0 , offset_Y = 0 , w_wg = 0.45 , R1_att = 20 , R2_att = 20 , R2_att_min = 10 , R1_att_min = 10 , A1_att = 30 , A2_att = 20 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs_ring = 'strip' , sharp_patch = True , cell_xs_transition = None , Euler_trasition = False , show_pins = False , xs_heater = None , w_heater = 0 , xs_metal = None , w_metal = 0 , via_h2m = None , isl = None , A_ht = 270 , ht_notch_dual = True , epin_dX = 0 , epin_dY = 0 , res = 0.05 , res_eic = 0.5 , ht_rot = False )
Bases: AED_ring
+MRR AED primitive component.
+This component builds the MRR AED layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+ORx (float , optional ) – Value for the ORx parameter. Default is 10.
+ORy (float , optional ) – Value for the ORy parameter. Default is 10.
+IRx (float , optional ) – Value for the IRx parameter. Default is 10 - 0.45.
+IRy (float , optional ) – Value for the IRy parameter. Default is 10 - 0.5.
+gap1 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+gap2 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w1_bus (float , optional ) – Value for the w1_bus parameter. Default is 0.45.
+w2_bus (float , optional ) – Value for the w2_bus parameter. Default is 0.45.
+R1_cp (Any , optional ) – Radius parameter in microns. Default is None.
+R2_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A1_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+A2_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+offset_X (float , optional ) – Value for the offset_X parameter. Default is 0.
+offset_Y (float , optional ) – Value for the offset_Y parameter. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R1_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+R1_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A1_att (float , optional ) – Angle parameter in degrees. Default is 30.
+A2_att (float , optional ) – Angle parameter in degrees. Default is 20.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is False.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is None.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is None.
+w_metal (float , optional ) – Width parameter in microns. Default is 0.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+ht_notch_dual (bool , optional ) – Value for the ht_notch_dual parameter. Default is True.
+epin_dX (int , optional ) – Value for the epin_dX parameter. Default is 0.
+epin_dY (int , optional ) – Value for the epin_dY parameter. Default is 0.
+res (float , optional ) – Value for the res parameter. Default is 0.05.
+res_eic (float , optional ) – Value for the res_eic parameter. Default is 0.5.
+ht_rot (bool , optional ) – Value for the ht_rot parameter. Default is False.
+
+
+
generate_eic_gds ( show_pins = False )
@@ -937,6 +1040,55 @@ Return: Cell
class mxpic.components.primitives.passive.rings. MRR_STD_Ring ( name = None , r_ring = 10 , w_ring = 0.45 , gap1 = 0.2 , gap2 = 0.2 , w1_bus = 0.45 , w2_bus = 0 , R1_cp = None , R2_cp = None , A1_cp = 0 , A2_cp = 0 , offset_X = 0 , offset_Y = 0 , w_wg = 0.45 , R1_att = 20 , R2_att = 20 , R2_att_min = 10 , R1_att_min = 10 , A1_att = 30 , A2_att = 20 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs_ring = 'strip' , sharp_patch = True , cell_xs_transition = None , Euler_trasition = False , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 0 , via_h2m = None , isl = None , A_ht = 270 , ht_notch_dual = False , epin_dX = 0 , epin_dY = 0 , res = 0.05 , res_eic = 0.5 , ht_rot = False )
Bases: MRR_AED
+MRR STD Ring primitive component.
+This component builds the MRR STD Ring layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.45.
+gap1 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+gap2 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w1_bus (float , optional ) – Value for the w1_bus parameter. Default is 0.45.
+w2_bus (float , optional ) – Value for the w2_bus parameter. Default is 0.
+R1_cp (Any , optional ) – Radius parameter in microns. Default is None.
+R2_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A1_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+A2_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+offset_X (float , optional ) – Value for the offset_X parameter. Default is 0.
+offset_Y (float , optional ) – Value for the offset_Y parameter. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R1_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+R1_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A1_att (float , optional ) – Angle parameter in degrees. Default is 30.
+A2_att (float , optional ) – Angle parameter in degrees. Default is 20.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is False.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 0.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+ht_notch_dual (bool , optional ) – Value for the ht_notch_dual parameter. Default is False.
+epin_dX (int , optional ) – Value for the epin_dX parameter. Default is 0.
+epin_dY (int , optional ) – Value for the epin_dY parameter. Default is 0.
+res (float , optional ) – Value for the res parameter. Default is 0.05.
+res_eic (float , optional ) – Value for the res_eic parameter. Default is 0.5.
+ht_rot (bool , optional ) – Value for the ht_rot parameter. Default is False.
+
+
+
@@ -946,6 +1098,41 @@ Return: Cell
class mxpic.components.primitives.passive.rings. MRR_STD_Allpass ( name , r_ring , w_ring , gap , w_bus , A_cp , w_wg = 0.45 , R_att = 20 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs_ring = 'strip' , sharp_patch = True , cell_xs_transition = None , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 0 , via_h2m = None , isl = None , A_ht = 270 , epin_dX = 0 , epin_dY = 0 , res = 0.05 , res_eic = 0.5 , ht_rot = False )
Bases: MRR_STD_Ring
+MRR STD Allpass primitive component.
+This component builds the MRR STD Allpass layout cell.
+
+Parameters:
+
+name (str ) – Unique identifier for the device cell.
+r_ring (float ) – Radius parameter in microns.
+w_ring (float ) – Width parameter in microns.
+gap (float ) – Spacing or gap parameter in microns.
+w_bus (float ) – Width parameter in microns.
+A_cp (Any ) – Angle parameter in degrees.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (float , optional ) – Radius parameter in microns. Default is 20.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 0.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+epin_dX (int , optional ) – Value for the epin_dX parameter. Default is 0.
+epin_dY (int , optional ) – Value for the epin_dY parameter. Default is 0.
+res (float , optional ) – Value for the res parameter. Default is 0.05.
+res_eic (float , optional ) – Value for the res_eic parameter. Default is 0.5.
+ht_rot (bool , optional ) – Value for the ht_rot parameter. Default is False.
+
+
+
@@ -955,6 +1142,41 @@ Return: Cell
class mxpic.components.primitives.passive.rings. MRR_STD_Adddrop ( name , r_ring , w_ring , gap , w_bus , A_cp , w_wg = 0.45 , R_att = 20 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs_ring = 'strip' , sharp_patch = True , cell_xs_transition = None , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 0 , via_h2m = None , isl = None , A_ht = 270 , epin_dX = 0 , epin_dY = 0 , res = 0.05 , res_eic = 0.5 , ht_rot = False )
Bases: MRR_STD_Ring
+MRR STD Adddrop primitive component.
+This component builds the MRR STD Adddrop layout cell.
+
+Parameters:
+
+name (str ) – Unique identifier for the device cell.
+r_ring (float ) – Radius parameter in microns.
+w_ring (float ) – Width parameter in microns.
+gap (float ) – Spacing or gap parameter in microns.
+w_bus (float ) – Width parameter in microns.
+A_cp (Any ) – Angle parameter in degrees.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (float , optional ) – Radius parameter in microns. Default is 20.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 0.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+epin_dX (int , optional ) – Value for the epin_dX parameter. Default is 0.
+epin_dY (int , optional ) – Value for the epin_dY parameter. Default is 0.
+res (float , optional ) – Value for the res parameter. Default is 0.05.
+res_eic (float , optional ) – Value for the res_eic parameter. Default is 0.5.
+ht_rot (bool , optional ) – Value for the ht_rot parameter. Default is False.
+
+
+
@@ -964,6 +1186,42 @@ Return: Cell
class mxpic.components.primitives.passive.rings. MRR_MM_Allpass ( name = None , r_ring = 10 , w_ring = 0.45 , gap = 0.2 , w_bus = 0.45 , A_cp = 0 , w_wg = 0.45 , R_att = 20 , R_att_min = 10 , A_att = 30 , Ltp_bus = 10 , dL_p2p = None , xs_ring = 'strip' , sharp_patch = True , cell_xs_transition = None , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 0 , via_h2m = None , isl = None , A_ht = 270 , epin_dX = 0 , epin_dY = 0 , res = 0.05 , res_eic = 0.5 , ht_rot = False )
Bases: MRR_STD_Ring
+MRR MM Allpass primitive component.
+This component builds the MRR MM Allpass layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (float , optional ) – Radius parameter in microns. Default is 20.
+R_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A_att (float , optional ) – Angle parameter in degrees. Default is 30.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 0.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+epin_dX (int , optional ) – Value for the epin_dX parameter. Default is 0.
+epin_dY (int , optional ) – Value for the epin_dY parameter. Default is 0.
+res (float , optional ) – Value for the res parameter. Default is 0.05.
+res_eic (float , optional ) – Value for the res_eic parameter. Default is 0.5.
+ht_rot (bool , optional ) – Value for the ht_rot parameter. Default is False.
+
+
+
@@ -973,6 +1231,42 @@ Return: Cell
class mxpic.components.primitives.passive.rings. MRR_MM_Adddrop ( name = None , r_ring = 10 , w_ring = 0.45 , gap = 0.2 , w_bus = 0.45 , A_cp = 0 , w_wg = 0.45 , R_att = 20 , R_att_min = 10 , A_att = 30 , Ltp_bus = 10 , dL_p2p = None , xs_ring = 'strip' , sharp_patch = True , cell_xs_transition = None , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 0 , via_h2m = None , isl = None , A_ht = 270 , epin_dX = 0 , epin_dY = 0 , res = 0.05 , res_eic = 0.5 , ht_rot = False )
Bases: MRR_STD_Ring
+MRR MM Adddrop primitive component.
+This component builds the MRR MM Adddrop layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (float , optional ) – Radius parameter in microns. Default is 20.
+R_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A_att (float , optional ) – Angle parameter in degrees. Default is 30.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 0.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+epin_dX (int , optional ) – Value for the epin_dX parameter. Default is 0.
+epin_dY (int , optional ) – Value for the epin_dY parameter. Default is 0.
+res (float , optional ) – Value for the res parameter. Default is 0.05.
+res_eic (float , optional ) – Value for the res_eic parameter. Default is 0.5.
+ht_rot (bool , optional ) – Value for the ht_rot parameter. Default is False.
+
+
+
@@ -982,6 +1276,43 @@ Return: Cell
class mxpic.components.primitives.passive.rings. MRR_DW_Adddrop ( name , r_ring , w0_ring , w1_ring , gap = 0.2 , w_bus = 0.45 , A_cp = 0 , w_wg = 0.45 , R_att = 20 , R_att_min = 10 , A_att = 30 , Ltp_bus = 10 , dL_p2p = None , xs_ring = 'strip' , sharp_patch = True , cell_xs_transition = None , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 0 , via_h2m = None , isl = None , A_ht = 270 , epin_dX = 0 , epin_dY = 0 , res = 0.05 , res_eic = 0.5 , ht_rot = False )
Bases: MRR_AED
+MRR DW Adddrop primitive component.
+This component builds the MRR DW Adddrop layout cell.
+
+Parameters:
+
+name (str ) – Unique identifier for the device cell.
+r_ring (float ) – Radius parameter in microns.
+w0_ring (float ) – Value for the w0_ring parameter.
+w1_ring (float ) – Value for the w1_ring parameter.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (float , optional ) – Radius parameter in microns. Default is 20.
+R_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A_att (float , optional ) – Angle parameter in degrees. Default is 30.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 0.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+epin_dX (int , optional ) – Value for the epin_dX parameter. Default is 0.
+epin_dY (int , optional ) – Value for the epin_dY parameter. Default is 0.
+res (float , optional ) – Value for the res parameter. Default is 0.05.
+res_eic (float , optional ) – Value for the res_eic parameter. Default is 0.5.
+ht_rot (bool , optional ) – Value for the ht_rot parameter. Default is False.
+
+
+
@@ -991,6 +1322,43 @@ Return: Cell
class mxpic.components.primitives.passive.rings. MRR_DW_Allpass ( name , r_ring , w0_ring , w1_ring , gap = 0.2 , w_bus = 0.45 , A_cp = 0 , w_wg = 0.45 , R_att = 20 , R_att_min = 10 , A_att = 30 , Ltp_bus = 10 , dL_p2p = None , xs_ring = 'strip' , sharp_patch = True , cell_xs_transition = None , show_pins = False , xs_heater = 'heater' , w_heater = 0 , xs_metal = 'metal' , w_metal = 0 , via_h2m = None , isl = None , A_ht = 270 , epin_dX = 0 , epin_dY = 0 , res = 0.05 , res_eic = 0.5 , ht_rot = False )
Bases: MRR_AED
+MRR DW Allpass primitive component.
+This component builds the MRR DW Allpass layout cell.
+
+Parameters:
+
+name (str ) – Unique identifier for the device cell.
+r_ring (float ) – Radius parameter in microns.
+w0_ring (float ) – Value for the w0_ring parameter.
+w1_ring (float ) – Value for the w1_ring parameter.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (float , optional ) – Radius parameter in microns. Default is 20.
+R_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A_att (float , optional ) – Angle parameter in degrees. Default is 30.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+xs_ring (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_heater (float , optional ) – Width parameter in microns. Default is 0.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_metal (float , optional ) – Width parameter in microns. Default is 0.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+A_ht (float , optional ) – Angle parameter in degrees. Default is 270.
+epin_dX (int , optional ) – Value for the epin_dX parameter. Default is 0.
+epin_dY (int , optional ) – Value for the epin_dY parameter. Default is 0.
+res (float , optional ) – Value for the res parameter. Default is 0.05.
+res_eic (float , optional ) – Value for the res_eic parameter. Default is 0.5.
+ht_rot (bool , optional ) – Value for the ht_rot parameter. Default is False.
+
+
+
@@ -1000,6 +1368,35 @@ Return: Cell
class mxpic.components.primitives.passive.rings. STD_ring_AMZI_adddrop ( name = None , r_ring = 30 , w_ring = 0.45 , w_wg = 0.45 , xs_wg = 'strip' , w_bus = 0.45 , gap = 0.2 , dAc = 10 , L_tilt = 1 , dL_arm = 10 , w_heater = 2.5 , xs_heater = 'heater' , w_metal = 6 , xs_metal = 'metal' , via_h2m = None , isl = None , res = 0.1 , R_bend = 10 , L_tp = 5 , show_pins = False , sharp_patch = True )
Bases: object
+STD ring AMZI adddrop primitive component.
+This component builds the STD ring AMZI adddrop layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+r_ring (float , optional ) – Radius parameter in microns. Default is 30.
+w_ring (float , optional ) – Width parameter in microns. Default is 0.45.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+dAc (float , optional ) – Value for the dAc parameter. Default is 10.
+L_tilt (int , optional ) – Length parameter in microns. Default is 1.
+dL_arm (float , optional ) – Value for the dL_arm parameter. Default is 10.
+w_heater (float , optional ) – Width parameter in microns. Default is 2.5.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+w_metal (float , optional ) – Width parameter in microns. Default is 6.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+res (float , optional ) – Value for the res parameter. Default is 0.1.
+R_bend (int , optional ) – Radius parameter in microns. Default is 10.
+L_tp (int , optional ) – Length parameter in microns. Default is 5.
+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.
+
+
+
generate_gds ( show_pins , sharp_patch )
diff --git a/docs/build/html/mxpic/components/primitives/passive/unit.html b/docs/build/html/mxpic/components/primitives/passive/unit.html
index 99772cc..0dc8ae3 100644
--- a/docs/build/html/mxpic/components/primitives/passive/unit.html
+++ b/docs/build/html/mxpic/components/primitives/passive/unit.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,35 @@
class mxpic.components.primitives.passive.unit. waveguide ( w_heater = 2.5 , L_wg = 150 , L_heater = 150 , w_metal = 10 , xs_heater = 'heater' , xs_metal = 'metal' , xs_wg = 'strip' , w_wg = 0.45 , w_port = None , Ltp = None , via_h2m = None , isl = None , euler_bend = False , Rmin = 5 , thin_attach = False , UPPER_ISL = True , LOWER_ISL = True , shape = 'strip' , R_bend = 10 , ubend_offset = 20 , show_pins = False )
Bases: object
+waveguide primitive component.
+This component builds the waveguide layout cell.
+
+Parameters:
+
+w_heater (float , optional ) – Width parameter in microns. Default is 2.5.
+L_wg (int , optional ) – Length parameter in microns. Default is 150.
+L_heater (int , optional ) – Length parameter in microns. Default is 150.
+w_metal (float , optional ) – Width parameter in microns. Default is 10.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+xs_wg (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.
+w_port (Optional [ float ] , optional ) – Width parameter in microns. Default is None.
+Ltp (Any , optional ) – Length parameter in microns. Default is None.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+euler_bend (bool , optional ) – Value for the euler_bend parameter. Default is False.
+Rmin (int , optional ) – Radius parameter in microns. Default is 5.
+thin_attach (bool , optional ) – Value for the thin_attach parameter. Default is False.
+UPPER_ISL (bool , optional ) – Value for the UPPER_ISL parameter. Default is True.
+LOWER_ISL (bool , optional ) – Length parameter in microns. Default is True.
+shape (str , optional ) – Value for the shape parameter. Default is ‘strip’.
+R_bend (int , optional ) – Radius parameter in microns. Default is 10.
+ubend_offset (int , optional ) – Value for the ubend_offset parameter. Default is 20.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
@@ -387,6 +422,34 @@
class mxpic.components.primitives.passive.unit. PS_2st ( xs_wg = 'strip' , w_wg = 0.5 , w1 = 0.7 , w2 = 0.9 , L1 = 10 , L2 = 55 , L_wg = 0 , L_tp = 1 , L12 = None , L_ht = None , xs_heater = 'heater' , xs_metal = 'metal' , w_heater = 2.5 , w_metal = 8 , via_h2m = None , isl = None , UPPER_ISL = True , LOWER_ISL = True , R_bend = 10 , show_pins = False )
Bases: object
+PS 2st primitive component.
+This component builds the PS 2st layout cell.
+
+Parameters:
+
+xs_wg (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.5.
+w1 (float , optional ) – Width parameter in microns. Default is 0.7.
+w2 (float , optional ) – Width parameter in microns. Default is 0.9.
+L1 (int , optional ) – Length parameter in microns. Default is 10.
+L2 (int , optional ) – Length parameter in microns. Default is 55.
+L_wg (int , optional ) – Length parameter in microns. Default is 0.
+L_tp (int , optional ) – Length parameter in microns. Default is 1.
+L12 (Any , optional ) – Length parameter in microns. Default is None.
+L_ht (Any , optional ) – Length parameter in microns. Default is None.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_heater (float , optional ) – Width parameter in microns. Default is 2.5.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+UPPER_ISL (bool , optional ) – Value for the UPPER_ISL parameter. Default is True.
+LOWER_ISL (bool , optional ) – Length parameter in microns. Default is True.
+R_bend (int , optional ) – Radius parameter in microns. Default is 10.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_gds ( )
@@ -401,6 +464,33 @@
class mxpic.components.primitives.passive.unit. PS_2st_Straight ( xs_wg = 'strip' , w_wg = 0.5 , w1 = 0.7 , w2 = 0.9 , L1 = 10 , L2 = 55 , L_wg = 0 , L_tp = 1 , L12 = None , L_ht = None , xs_heater = 'heater' , xs_metal = 'metal' , w_heater = 2.5 , w_metal = 8 , via_h2m = None , isl = None , UPPER_ISL = True , LOWER_ISL = True , show_pins = False )
Bases: object
+PS 2st Straight primitive component.
+This component builds the PS 2st Straight layout cell.
+
+Parameters:
+
+xs_wg (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.5.
+w1 (float , optional ) – Width parameter in microns. Default is 0.7.
+w2 (float , optional ) – Width parameter in microns. Default is 0.9.
+L1 (int , optional ) – Length parameter in microns. Default is 10.
+L2 (int , optional ) – Length parameter in microns. Default is 55.
+L_wg (int , optional ) – Length parameter in microns. Default is 0.
+L_tp (int , optional ) – Length parameter in microns. Default is 1.
+L12 (Any , optional ) – Length parameter in microns. Default is None.
+L_ht (Any , optional ) – Length parameter in microns. Default is None.
+xs_heater (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+xs_metal (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+w_heater (float , optional ) – Width parameter in microns. Default is 2.5.
+w_metal (float , optional ) – Width parameter in microns. Default is 8.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+isl (Any , optional ) – Isolation-trench definition used by the electrical layout. Default is None.
+UPPER_ISL (bool , optional ) – Value for the UPPER_ISL parameter. Default is True.
+LOWER_ISL (bool , optional ) – Length parameter in microns. Default is True.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_gds ( )
@@ -415,6 +505,20 @@
class mxpic.components.primitives.passive.unit. PSR_1x2 ( PSR , MDM , xs = 'strip' , w_wg = 0.45 , L_tp = 15 , show_pins = False )
Bases: object
+PSR 1x2 primitive component.
+This component builds the PSR 1x2 layout cell.
+
+Parameters:
+
+PSR (Any ) – Polarization splitter-rotator cell or component used by this composite.
+MDM (Any ) – Mode multiplexer/demultiplexer cell or component used by this composite.
+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.
+L_tp (int , optional ) – Length parameter in microns. Default is 15.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_test_gds ( gc , gc_IN = None , gc2gc_dX = 140 , gc2gc_dY = 40 )
@@ -429,6 +533,19 @@
class mxpic.components.primitives.passive.unit. Brag_WDM ( Brag , MDM , w_wg = 0.45 , L_tp = 30 , show_pins = False )
Bases: object
+Brag WDM primitive component.
+This component builds the Brag WDM layout cell.
+
+Parameters:
+
+Brag (Any ) – Bragg grating cell or component used by this composite.
+MDM (Any ) – Mode multiplexer/demultiplexer cell or component used by this composite.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+L_tp (int , optional ) – Length parameter in microns. Default is 30.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_test_gds ( gc , gc2gc_dX = 140 , gc2gc_dY = 40 , dX_offset = 50 )
diff --git a/docs/build/html/mxpic/components/primitives/pic/PBS.html b/docs/build/html/mxpic/components/primitives/pic/PBS.html
index 0e28772..52cdb96 100644
--- a/docs/build/html/mxpic/components/primitives/pic/PBS.html
+++ b/docs/build/html/mxpic/components/primitives/pic/PBS.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,26 @@
class mxpic.components.primitives.pic.PBS. PBS_3wg ( name = None , xs = 'strip' , Lcp = 11.7 , w1_tp = 0.55 , w2_tp = 0.3 , w_m = 0.45 , gap = 0.25 , R_bend = 20 , A_bend = 7.5 , w_wg = 0.45 , show_pins = False , sharp_patch = True )
Bases: object
+PBS 3wg primitive component.
+This component builds the PBS 3wg layout cell.
+
+Parameters:
+
+name (Optional [ 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’.
+Lcp (float , optional ) – Length parameter in microns. Default is 11.7.
+w1_tp (float , optional ) – Value for the w1_tp parameter. Default is 0.55.
+w2_tp (float , optional ) – Value for the w2_tp parameter. Default is 0.3.
+w_m (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.25.
+R_bend (int , optional ) – Radius parameter in microns. Default is 20.
+A_bend (float , optional ) – Angle parameter in degrees. Default is 7.5.
+w_wg (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.
+
+
+
generate_gds ( show_pins = False , sharp_patch = True )
diff --git a/docs/build/html/mxpic/components/primitives/pic/YBS.html b/docs/build/html/mxpic/components/primitives/pic/YBS.html
index f1085f1..3e36cbd 100644
--- a/docs/build/html/mxpic/components/primitives/pic/YBS.html
+++ b/docs/build/html/mxpic/components/primitives/pic/YBS.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,24 @@
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: object
+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.
+
+
+
generate_gds ( show_pins = False , sharp_patch = True )
@@ -392,6 +416,26 @@
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: object
+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.
+
+
+
generate_gds ( sharp_patch , err_asy = 0 )
diff --git a/docs/build/html/mxpic/components/primitives/pic/bragg.html b/docs/build/html/mxpic/components/primitives/pic/bragg.html
index abedeeb..c4574eb 100644
--- a/docs/build/html/mxpic/components/primitives/pic/bragg.html
+++ b/docs/build/html/mxpic/components/primitives/pic/bragg.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,25 @@
class mxpic.components.primitives.pic.bragg. Bragg_apodized ( Period = 0.3 , w = 1.1 , xs = 'strip' , etch_type = 'FETCH' , etch_shape = 'rectangle' , N = 200 , eta_etch = 0.5 , dT = 0.15 , b = 10 , eta_ds = 0.5 , show_pins = False )
Bases: object
+Bragg apodized primitive component.
+This component builds the Bragg apodized layout cell.
+
+Parameters:
+
+Period (float , optional ) – Value for the Period parameter. Default is 0.3.
+w (float , optional ) – Width parameter in microns. Default is 1.1.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+etch_type (str , optional ) – Value for the etch_type parameter. Default is ‘FETCH’.
+etch_shape (str , optional ) – Value for the etch_shape parameter. Default is ‘rectangle’.
+N (int , optional ) – Value for the N parameter. Default is 200.
+eta_etch (float , optional ) – Value for the eta_etch parameter. Default is 0.5.
+dT (float , optional ) – Value for the dT parameter. Default is 0.15.
+b (int , optional ) – Value for the b parameter. Default is 10.
+eta_ds (float , optional ) – Value for the eta_ds parameter. Default is 0.5.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_negative ( )
@@ -397,6 +422,23 @@
class mxpic.components.primitives.pic.bragg. Bragg ( Period = 0.3 , w = 1.1 , xs = 'strip' , etch_type = 'FETCH' , etch_shape = 'rectangle' , N = 200 , eta_etch = 0.5 , dT = 0.15 , show_pins = False )
Bases: Bragg_apodized
+Bragg primitive component.
+This component builds the Bragg layout cell.
+
+Parameters:
+
+Period (float , optional ) – Value for the Period parameter. Default is 0.3.
+w (float , optional ) – Width parameter in microns. Default is 1.1.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+etch_type (str , optional ) – Value for the etch_type parameter. Default is ‘FETCH’.
+etch_shape (str , optional ) – Value for the etch_shape parameter. Default is ‘rectangle’.
+N (int , optional ) – Value for the N parameter. Default is 200.
+eta_etch (float , optional ) – Value for the eta_etch parameter. Default is 0.5.
+dT (float , optional ) – Value for the dT parameter. Default is 0.15.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/pic/couplers.html b/docs/build/html/mxpic/components/primitives/pic/couplers.html
index 92d4c2d..0b59652 100644
--- a/docs/build/html/mxpic/components/primitives/pic/couplers.html
+++ b/docs/build/html/mxpic/components/primitives/pic/couplers.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,37 @@
class mxpic.components.primitives.pic.couplers. ring_bus_wg ( xs = 'strip' , R_cp = 20 , w_bus = 0.5 , bend_DC = True , w_wg = 0.5 , dLc = 10 , dAc = 10 , euler_transistion = False , dL_trans = 10 , dA_trans = 30 , R_max_trans = 100 , w_trans = 0.5 , euler_anti_bend = False , R_max_anti = 100 , R_min_anti = 10 , A_anti = None , res = 0.1 , wg_Ltp = 5 , dL_p2p = None , sharp_patch = True , show_pins = False , end_patch = False , clothoid_order = 1 )
Bases: object
+ring bus wg primitive component.
+This component builds the ring bus wg layout cell.
+
+Parameters:
+
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+R_cp (int , optional ) – Radius parameter in microns. Default is 20.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.5.
+bend_DC (bool , optional ) – Value for the bend_DC parameter. Default is True.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.5.
+dLc (float , optional ) – Value for the dLc parameter. Default is 10.
+dAc (float , optional ) – Value for the dAc parameter. Default is 10.
+euler_transistion (bool , optional ) – Value for the euler_transistion parameter. Default is False.
+dL_trans (float , optional ) – Value for the dL_trans parameter. Default is 10.
+dA_trans (float , optional ) – Value for the dA_trans parameter. Default is 30.
+R_max_trans (int , optional ) – Radius parameter in microns. Default is 100.
+w_trans (float , optional ) – Width parameter in microns. Default is 0.5.
+euler_anti_bend (bool , optional ) – Value for the euler_anti_bend parameter. Default is False.
+R_max_anti (int , optional ) – Radius parameter in microns. Default is 100.
+R_min_anti (int , optional ) – Radius parameter in microns. Default is 10.
+A_anti (Any , optional ) – Angle parameter in degrees. Default is None.
+res (float , optional ) – Value for the res parameter. Default is 0.1.
+wg_Ltp (int , optional ) – Value for the wg_Ltp parameter. Default is 5.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+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.
+end_patch (bool , optional ) – Value for the end_patch parameter. Default is False.
+clothoid_order (int , optional ) – Value for the clothoid_order parameter. Default is 1.
+
+
+
generate_gds ( sharp_patch , show_pins = False )
@@ -392,6 +429,41 @@
class mxpic.components.primitives.pic.couplers. ADC_STD_2x2 ( name = None , xs = 'strip' , wu0 = 0.45 , wu1 = 0.61 , wu_in = 0.45 , wu_out = 0.8 , wd0 = 0.33 , wd1 = 0.2 , wd_in = 0.45 , wd_out = 0.8 , Lu = 33 , Ld = 33 , angle = 20 , g0 = 0.2 , g1 = 0.2 , sbend_type = 'euler' , Rmax = None , Rmin = 5 , Ru0 = 0 , Ru1 = 20 , Rd0 = 20 , Rd1 = 0 , tp_angle = 2 , sharp_patch = True , show_pins = False , euler_points = 64 , res = 0.1 )
Bases: object
+ADC STD 2x2 primitive component.
+This component builds the ADC STD 2x2 layout cell.
+
+Parameters:
+
+name (Optional [ 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’.
+wu0 (float , optional ) – Value for the wu0 parameter. Default is 0.45.
+wu1 (float , optional ) – Value for the wu1 parameter. Default is 0.61.
+wu_in (float , optional ) – Value for the wu_in parameter. Default is 0.45.
+wu_out (float , optional ) – Value for the wu_out parameter. Default is 0.8.
+wd0 (float , optional ) – Value for the wd0 parameter. Default is 0.33.
+wd1 (float , optional ) – Value for the wd1 parameter. Default is 0.2.
+wd_in (float , optional ) – Value for the wd_in parameter. Default is 0.45.
+wd_out (float , optional ) – Value for the wd_out parameter. Default is 0.8.
+Lu (int , optional ) – Length parameter in microns. Default is 33.
+Ld (int , optional ) – Length parameter in microns. Default is 33.
+angle (float , optional ) – Angle parameter in degrees. Default is 20.
+g0 (float , optional ) – Value for the g0 parameter. Default is 0.2.
+g1 (float , optional ) – Value for the g1 parameter. Default is 0.2.
+sbend_type (str , optional ) – Value for the sbend_type parameter. Default is ‘euler’.
+Rmax (Any , optional ) – Radius parameter in microns. Default is None.
+Rmin (int , optional ) – Radius parameter in microns. Default is 5.
+Ru0 (int , optional ) – Radius parameter in microns. Default is 0.
+Ru1 (int , optional ) – Radius parameter in microns. Default is 20.
+Rd0 (int , optional ) – Radius parameter in microns. Default is 20.
+Rd1 (int , optional ) – Radius parameter in microns. Default is 0.
+tp_angle (int , optional ) – Value for the tp_angle parameter. Default is 2.
+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.
+euler_points (int , optional ) – Value for the euler_points parameter. Default is 64.
+res (float , optional ) – Value for the res parameter. Default is 0.1.
+
+
+
generate_err ( err = 0.02 )
@@ -416,6 +488,28 @@
class mxpic.components.primitives.pic.couplers. DC ( name = None , xs = 'strip' , w_cp = 0.45 , w_wg = 0.45 , L_cp = 30 , angle = 20 , gap = 0.2 , sbend_type = 'circular' , Rmax = None , Rmin = 5 , R0 = 10 , tp_angle = 2 , sharp_patch = True , show_pins = False )
Bases: ADC_STD_2x2
+DC primitive component.
+This component builds the DC layout cell.
+
+Parameters:
+
+name (Optional [ 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_cp (float , optional ) – Width parameter in microns. Default is 0.45.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+L_cp (float , optional ) – Length parameter in microns. Default is 30.
+angle (float , optional ) – Angle parameter in degrees. Default is 20.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+sbend_type (str , optional ) – Value for the sbend_type parameter. Default is ‘circular’.
+Rmax (float , optional ) – Radius parameter in microns. Default is None.
+Rmin (float , optional ) – Radius parameter in microns. Default is 5.
+R0 (float , optional ) – Radius parameter in microns. Default is 10.
+tp_angle (float , optional ) – Value for the tp_angle parameter. Default is 2.
+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.
+
+
+
generate_test_gds ( gc , dX_gc2gc = 300 , dY_gc2gc = 40 , sharp_patch = True )
@@ -430,6 +524,26 @@
class mxpic.components.primitives.pic.couplers. BS_tdc ( name = None , xs = 'strip' , wa0 = 0.35 , wa1 = 0.45 , wb0 = 0.55 , wb1 = 0.45 , w_wg = 0.45 , gap = 0.2 , Lt = 20 , R0 = 30 , angle = 15 , sbend_type = 'circle' )
Bases: ADC_STD_2x2
+BS tdc primitive component.
+This component builds the BS tdc layout cell.
+
+Parameters:
+
+name (Optional [ 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’.
+wa0 (float , optional ) – Value for the wa0 parameter. Default is 0.35.
+wa1 (float , optional ) – Value for the wa1 parameter. Default is 0.45.
+wb0 (float , optional ) – Value for the wb0 parameter. Default is 0.55.
+wb1 (float , optional ) – Value for the wb1 parameter. Default is 0.45.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+Lt (float , optional ) – Length parameter in microns. Default is 20.
+R0 (float , optional ) – Radius parameter in microns. Default is 30.
+angle (float , optional ) – Angle parameter in degrees. Default is 15.
+sbend_type (str , optional ) – Value for the sbend_type parameter. Default is ‘circle’.
+
+
+
@@ -439,6 +553,33 @@
class mxpic.components.primitives.pic.couplers. MDM ( name = None , xs = 'strip' , wb0 = 0.45 , wb1 = 0.61 , wb_in = 0.45 , wb_out = 0.88 , w_wg = 0.45 , w0 = 0.33 , w1 = 0.2 , gap0 = 0.2 , Lt_bus = 20 , R0 = 40 , angle = 22.5 , Lt_cp = None , gap1 = None , Lb0 = None , symmetric_BUS = True , single_end = True , Rmin = 8 )
Bases: ADC_STD_2x2
+MDM primitive component.
+This component builds the MDM layout cell.
+
+Parameters:
+
+name (Optional [ 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’.
+wb0 (float , optional ) – Value for the wb0 parameter. Default is 0.45.
+wb1 (float , optional ) – Value for the wb1 parameter. Default is 0.61.
+wb_in (float , optional ) – Value for the wb_in parameter. Default is 0.45.
+wb_out (float , optional ) – Value for the wb_out parameter. Default is 0.88.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+w0 (float , optional ) – Width parameter in microns. Default is 0.33.
+w1 (float , optional ) – Width parameter in microns. Default is 0.2.
+gap0 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+Lt_bus (float , optional ) – Length parameter in microns. Default is 20.
+R0 (float , optional ) – Radius parameter in microns. Default is 40.
+angle (float , optional ) – Angle parameter in degrees. Default is 22.5.
+Lt_cp (float , optional ) – Length parameter in microns. Default is None.
+gap1 (float , optional ) – Spacing or gap parameter in microns. Default is None.
+Lb0 (float , optional ) – Length parameter in microns. Default is None.
+symmetric_BUS (bool , optional ) – Value for the symmetric_BUS parameter. Default is True.
+single_end (bool , optional ) – Value for the single_end parameter. Default is True.
+Rmin (float , optional ) – Radius parameter in microns. Default is 8.
+
+
+
generate_test_gds ( gc , dX_gc2gc = 300 , dY_gc2gc = 40 , sharp_patch = True )
@@ -453,8 +594,24 @@
class mxpic.components.primitives.pic.couplers. DC_bend ( name = None , w_in = 0.45 , w_out = 0.45 , gap = 0.2 , r_in = 40 , theta_arc = 30 , w_wg = 0.45 , theta_ext = 15 , xs_wg = 'strip' , sharp_patch = True , show_pins = False )
Bases: object
-This is a class for bend directional coupler for broadband and fabrication tolerant power splitting.
-Written by HU GAOLEI at 2022.5.15.
+This is a class for bend directional coupler for broadband and fabrication tolerant power splitting.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+w_in (float , optional ) – Width parameter in microns. Default is 0.45.
+w_out (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+r_in (float , optional ) – Radius parameter in microns. Default is 40.
+theta_arc (float , optional ) – Angle parameter in degrees. Default is 30.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+theta_ext (float , optional ) – Angle parameter in degrees. Default is 15.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+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.
+
+
+
generate_gds ( cellname = '' )
@@ -475,6 +632,29 @@ Written by HU GAOLEI at 2022.5.15.
class mxpic.components.primitives.pic.couplers. DC_pX_3sg ( name = None , xs_wg = 'strip' , Lc1 = 10 , Lp1 = 5 , Lc2 = 10 , Lt = 1 , w_cp = 0.5 , dw = 0.1 , gap = 0.2 , R0 = 10 , A = 15 , w_wg = 0.45 , pX_type = 'symmetric' , port_symmetric = True , sharp_patch = True )
Bases: object
+DC pX 3sg primitive component.
+This component builds the DC pX 3sg layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+Lc1 (float , optional ) – Length parameter in microns. Default is 10.
+Lp1 (float , optional ) – Length parameter in microns. Default is 5.
+Lc2 (float , optional ) – Length parameter in microns. Default is 10.
+Lt (float , optional ) – Length parameter in microns. Default is 1.
+w_cp (float , optional ) – Width parameter in microns. Default is 0.5.
+dw (float , optional ) – Value for the dw parameter. Default is 0.1.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+R0 (float , optional ) – Radius parameter in microns. Default is 10.
+A (float , optional ) – Angle parameter in degrees. Default is 15.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+pX_type (str , optional ) – Value for the pX_type parameter. Default is ‘symmetric’.
+port_symmetric (bool , optional ) – Value for the port_symmetric parameter. Default is True.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+
+
+
generate_gds ( err = 0 )
diff --git a/docs/build/html/mxpic/components/primitives/pic/cross.html b/docs/build/html/mxpic/components/primitives/pic/cross.html
index 1694900..ddb708e 100644
--- a/docs/build/html/mxpic/components/primitives/pic/cross.html
+++ b/docs/build/html/mxpic/components/primitives/pic/cross.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,19 @@
class mxpic.components.primitives.pic.cross. Cross ( name = None , L = [0, 1, 2, 3, 4] , w = [0.5, 0.45, 0.6, 0.4, 0.5] , xs = 'strip' , show_pins = False )
Bases: object
+Cross primitive component.
+This component builds the Cross layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+L (list , optional ) – Length parameter in microns. Default is [0, 1, 2, 3, 4].
+w (list , optional ) – Width parameter in microns. Default is [0.5, 0.45, 0.6, 0.4, 0.5].
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_gds ( show_pins )
@@ -397,6 +416,20 @@
class mxpic.components.primitives.pic.cross. Cross_Sine ( name = None , res = [1, 1, 1, 1] , w = [0.5, 0.45, 0.6, 0.4, 0.5] , xs = 'strip' , n_points = 4 , show_pins = False )
Bases: Cross
+Cross Sine primitive component.
+This component builds the Cross Sine layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+res (list , optional ) – Value for the res parameter. Default is [1, 1, 1, 1].
+w (list , optional ) – Width parameter in microns. Default is [0.5, 0.45, 0.6, 0.4, 0.5].
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+n_points (int , optional ) – Value for the n_points parameter. Default is 4.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/pic/gratings.html b/docs/build/html/mxpic/components/primitives/pic/gratings.html
index c6ffb51..7c44972 100644
--- a/docs/build/html/mxpic/components/primitives/pic/gratings.html
+++ b/docs/build/html/mxpic/components/primitives/pic/gratings.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -383,21 +389,18 @@
Parameters:
-( Default (- etch_depth [ str ] ) – CUMEC_CSiP130Cu)
-( Default – 0.5um)
-Width of input waveguide
-( Default – [0.5,..,0.5]])
-Vectors to define the length of each teeth
-( Default – 1um)
-Length of the linear taper region
-( Default – 3um)
-Width of the nanoantenna
-[ degree ] ( Default (- max_theta ) – 110)
-Open degree of linear taper
-( Default – non-periodic)
-Way to define the antenna, including: “non-periodic”, “periodic”
-( Default – “DETCH”)
-Define the etch depth, including: “FETCH”, “METCH”, “SETCH”
+w_wg (float , optional ) – Width parameter in microns. Default is 0.41.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+define_type (str , optional ) – Value for the define_type parameter. Default is ‘non-periodic’.
+vector (list , optional ) – Value for the vector parameter. Default is [0.5, 0.5, 0.5, 0.5, 0.5, 0.5].
+taper_length (float , optional ) – Value for the taper_length parameter. Default is 3.
+width (float , optional ) – Width parameter in microns. Default is 6.
+max_theta (float , optional ) – Value for the max_theta parameter. Default is 110.
+pitch (float , optional ) – Spacing or gap parameter in microns. Default is 0.6.
+duty_cycle (float , optional ) – Value for the duty_cycle parameter. Default is 0.3.
+teeth_number (float , optional ) – Value for the teeth_number parameter. Default is 6.
+etch_depth (list , optional ) – Value for the etch_depth parameter. Default is [‘METCH’].
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is True.
@@ -429,6 +432,19 @@ Define the etch depth, including: “FETCH”, “METCH”, “SETCH”
class mxpic.components.primitives.pic.gratings. Taper ( width1 = 4 , width2 = 0.45 , length = 30 , type = 'linear' , show_pins = False )
Bases: object
+Taper primitive component.
+This component builds the Taper layout cell.
+
+Parameters:
+
+width1 (float , optional ) – Width parameter in microns. Default is 4.
+width2 (float , optional ) – Width parameter in microns. Default is 0.45.
+length (float , optional ) – Length parameter in microns. Default is 30.
+type (str , optional ) – Value for the type parameter. Default is ‘linear’.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_gds ( )
@@ -444,6 +460,24 @@ Define the etch depth, including: “FETCH”, “METCH”, “SETCH”
class mxpic.components.primitives.pic.gratings. Grating_2D_Hole ( w_wg = 0.5 , w_gt = 5 , l_taper = 30 , type_taper = 'parabolic' , gt_vector = [0.5, 0.5, 0.5, 0.5, 0.5] , gt_diameter = 0.4 , gt_layer = 'STRIP_COR' , polysi_vector = [0.5, 0.5, 0.5, 0.5, 0.5] , polysi_diameter = 0.4 , polysi_layer = 'FCW_TRE' , reflector_vector = [0.3, 0.3, 0.3, 0.3, 0.3, 0.3] , l_field_center = 1 )
Bases: object
This is a class for 2D Grating in IMEC.
+
+Parameters:
+
+w_wg (float , optional ) – Width parameter in microns. Default is 0.5.
+w_gt (float , optional ) – Width parameter in microns. Default is 5.
+l_taper (float , optional ) – Value for the l_taper parameter. Default is 30.
+type_taper (str , optional ) – Value for the type_taper parameter. Default is ‘parabolic’.
+gt_vector (list , optional ) – Value for the gt_vector parameter. Default is [0.5, 0.5, 0.5, 0.5, 0.5].
+gt_diameter (float , optional ) – Value for the gt_diameter parameter. Default is 0.4.
+gt_layer (str , optional ) – Value for the gt_layer parameter. Default is ‘STRIP_COR’.
+polysi_vector (list , optional ) – Value for the polysi_vector parameter. Default is [0.5, 0.5, 0.5, 0.5, 0.5].
+polysi_diameter (float , optional ) – Value for the polysi_diameter parameter. Default is 0.4.
+polysi_layer (str , optional ) – Value for the polysi_layer parameter. Default is ‘FCW_TRE’.
+reflector_vector (list , optional ) – Value for the reflector_vector parameter. Default is [0.3, 0.3, 0.3, 0.3, 0.3, 0.3].
+l_field_center (float , optional ) – Value for the l_field_center parameter. Default is 1.
+
+
+
generate_gds ( )
@@ -458,6 +492,18 @@ Define the etch depth, including: “FETCH”, “METCH”, “SETCH”
class mxpic.components.primitives.pic.gratings. Grating_2D_Hole_4Rec ( grating_unit , mode_radius = 8 , cell_name = None , show_pins = False )
Bases: object
+Grating 2D Hole 4Rec primitive component.
+This component builds the Grating 2D Hole 4Rec layout cell.
+
+Parameters:
+
+grating_unit (Any ) – Grating unit cell or component used by this wrapper.
+mode_radius (int , optional ) – Value for the mode_radius parameter. Default is 8.
+cell_name (Optional [ str ] , optional ) – Optional generated cell name. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_gds ( )
@@ -472,6 +518,18 @@ Define the etch depth, including: “FETCH”, “METCH”, “SETCH”
class mxpic.components.primitives.pic.gratings. Grating_2D_Hole_3Rec ( grating_unit , mode_radius = 6.5 , cell_name = None , show_pins = False )
Bases: object
+Grating 2D Hole 3Rec primitive component.
+This component builds the Grating 2D Hole 3Rec layout cell.
+
+Parameters:
+
+grating_unit (Any ) – Grating unit cell or component used by this wrapper.
+mode_radius (float , optional ) – Value for the mode_radius parameter. Default is 6.5.
+cell_name (Optional [ str ] , optional ) – Optional generated cell name. Default is None.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_gds ( )
@@ -486,6 +544,38 @@ Define the etch depth, including: “FETCH”, “METCH”, “SETCH”
class mxpic.components.primitives.pic.gratings. GC_STD_2D ( name = None , etch_type = 'FETCH' , xs_wg = 'grating' , Dx_hole = 0.3 , Dy_hole = 0.3 , hole_shape = 'circle' , shape = 'circle' , xs_open = None , Px = 0.57 , Py = 0.57 , num_x = 25 , num_y = 25 , Lx_taper = 50 , Ly_taper = 0 , Lx_end = 1 , Ly_end = 1 , Lx_side = 0.5 , Ly_side = 0.5 , Lx_port = 5 , Ly_port = 5 , w_wg = 0.5 , show_pins = False , P_AR = 0.6 , L_AR = 1 )
Bases: object
+GC STD 2D primitive component.
+This component builds the GC STD 2D layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+etch_type (str , optional ) – Value for the etch_type parameter. Default is ‘FETCH’.
+xs_wg (str , optional ) – Layer or cross-section name used by the device. Default is ‘grating’.
+Dx_hole (float , optional ) – Value for the Dx_hole parameter. Default is 0.3.
+Dy_hole (float , optional ) – Value for the Dy_hole parameter. Default is 0.3.
+hole_shape (str , optional ) – Value for the hole_shape parameter. Default is ‘circle’.
+shape (str , optional ) – Value for the shape parameter. Default is ‘circle’.
+xs_open (str , optional ) – Layer or cross-section name used by the device. Default is None.
+Px (float , optional ) – Value for the Px parameter. Default is 0.57.
+Py (float , optional ) – Value for the Py parameter. Default is 0.57.
+num_x (float , optional ) – Count or repetition parameter. Default is 25.
+num_y (float , optional ) – Count or repetition parameter. Default is 25.
+Lx_taper (float , optional ) – Length parameter in microns. Default is 50.
+Ly_taper (float , optional ) – Length parameter in microns. Default is 0.
+Lx_end (float , optional ) – Length parameter in microns. Default is 1.
+Ly_end (float , optional ) – Length parameter in microns. Default is 1.
+Lx_side (float , optional ) – Length parameter in microns. Default is 0.5.
+Ly_side (float , optional ) – Length parameter in microns. Default is 0.5.
+Lx_port (float , optional ) – Length parameter in microns. Default is 5.
+Ly_port (float , optional ) – Length parameter in microns. Default is 5.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.5.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+P_AR (float , optional ) – Value for the P_AR parameter. Default is 0.6.
+L_AR (float , optional ) – Length parameter in microns. Default is 1.
+
+
+
generate_negative ( )
@@ -510,6 +600,30 @@ Define the etch depth, including: “FETCH”, “METCH”, “SETCH”
class mxpic.components.primitives.pic.gratings. GC_STD_1D ( name = None , xs_wg = 'strip' , w_wg = 0.5 , etch_type = 'FETCH' , xs_open = None , L_taper = 10 , L_end = 2 , A_taper = 30 , Period = 0.5 , eta_etch = 0.5 , num = 20 , sector_gc = True , show_pins = False , L_tail = 2 , P_AR = 1 , L_AR = 2 )
Bases: object
+GC STD 1D primitive component.
+This component builds the GC STD 1D layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+xs_wg (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.5.
+etch_type (str , optional ) – Value for the etch_type parameter. Default is ‘FETCH’.
+xs_open (str , optional ) – Layer or cross-section name used by the device. Default is None.
+L_taper (float , optional ) – Length parameter in microns. Default is 10.
+L_end (float , optional ) – Length parameter in microns. Default is 2.
+A_taper (float , optional ) – Angle parameter in degrees. Default is 30.
+Period (float , optional ) – Value for the Period parameter. Default is 0.5.
+eta_etch (float , optional ) – Value for the eta_etch parameter. Default is 0.5.
+num (float , optional ) – Count or repetition parameter. Default is 20.
+sector_gc (bool , optional ) – Value for the sector_gc parameter. Default is True.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+L_tail (int , optional ) – Length parameter in microns. Default is 2.
+P_AR (float , optional ) – Value for the P_AR parameter. Default is 1.
+L_AR (float , optional ) – Length parameter in microns. Default is 2.
+
+
+
generate_negative ( )
@@ -534,6 +648,18 @@ Define the etch depth, including: “FETCH”, “METCH”, “SETCH”
class mxpic.components.primitives.pic.gratings. FA ( fiber_coupler , pitch , number , show_pins = False )
Bases: object
+FA primitive component.
+This component builds the FA layout cell.
+
+Parameters:
+
+fiber_coupler (Any ) – Fiber coupler cell or component used by this array.
+pitch (float ) – Spacing or gap parameter in microns.
+number (int ) – Count or repetition parameter.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/pic/index.html b/docs/build/html/mxpic/components/primitives/pic/index.html
index a7b8baa..e4d98ad 100644
--- a/docs/build/html/mxpic/components/primitives/pic/index.html
+++ b/docs/build/html/mxpic/components/primitives/pic/index.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/primitives/pic/mmi.html b/docs/build/html/mxpic/components/primitives/pic/mmi.html
index da570b8..6c9cf07 100644
--- a/docs/build/html/mxpic/components/primitives/pic/mmi.html
+++ b/docs/build/html/mxpic/components/primitives/pic/mmi.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,29 @@
class mxpic.components.primitives.pic.mmi. MMI_ML ( name = None , L_arm = [10] , w_arm = [0.45, 1.35] , xs = 'strip' , arm_sine_width = False , L_mmi = [10] , w_mmi = [5, 5] , mmi_sine_width = False , sharp_patch = True , show_pins = False , res = 0.01 , N_out = 3 , N_in = 1 , Dp_out = 1.5 , Dp_in = 1.5 )
Bases: object
+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.
+
+
+
generate_gds ( sharp_patch , show_pins )
@@ -397,6 +426,27 @@
class mxpic.components.primitives.pic.mmi. MMI_STD ( name = None , N_out = 3 , N_in = 1 , L_arm = 10 , w_wg = 0.45 , w_port = 1.2 , xs = 'strip' , L_mmi = 10 , w_mmi = 5 , sharp_patch = True , show_pins = False , Dp_out = 1.5 , Dp_in = 1.5 )
Bases: 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.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/pic/racetrack.html b/docs/build/html/mxpic/components/primitives/pic/racetrack.html
index e662212..862eea8 100644
--- a/docs/build/html/mxpic/components/primitives/pic/racetrack.html
+++ b/docs/build/html/mxpic/components/primitives/pic/racetrack.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -387,6 +393,45 @@
class mxpic.components.primitives.pic.racetrack. RacetrackResonator ( R0 , w0 , R1 , w1 , dLy , dLx , name = None , xs = 'strip' , gap1 = 0.2 , gap2 = 0.2 , w1_bus = 0.45 , w2_bus = 0.45 , R1_cp = None , R2_cp = None , A1_cp = 0 , A2_cp = 0 , w_wg = 0.45 , R1_att = 20 , R2_att = 20 , R2_att_min = 10 , R1_att_min = 10 , A1_att = 30 , A2_att = 20 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , sharp_patch = True , cell_xs_transition = None , Euler_trasition = False , res = 0.01 , show_pins = False )
Bases: object
+RacetrackResonator primitive component.
+This component builds the RacetrackResonator layout cell.
+
+Parameters:
+
+R0 (Any ) – Radius parameter in microns.
+w0 (float ) – Width parameter in microns.
+R1 (Any ) – Radius parameter in microns.
+w1 (float ) – Width parameter in microns.
+dLy (float ) – Value for the dLy parameter.
+dLx (float ) – Value for the dLx parameter.
+name (Optional [ 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’.
+gap1 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+gap2 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w1_bus (float , optional ) – Value for the w1_bus parameter. Default is 0.45.
+w2_bus (float , optional ) – Value for the w2_bus parameter. Default is 0.45.
+R1_cp (Any , optional ) – Radius parameter in microns. Default is None.
+R2_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A1_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+A2_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R1_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+R1_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A1_att (float , optional ) – Angle parameter in degrees. Default is 30.
+A2_att (float , optional ) – Angle parameter in degrees. Default is 20.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is False.
+res (float , optional ) – Value for the res parameter. Default is 0.01.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_gds ( sharp_patch = True , show_pins = False )
@@ -401,6 +446,36 @@
class mxpic.components.primitives.pic.racetrack. Racetrack_STD_Allpass ( r_rck , w_rck , dLy , name = None , xs = 'strip' , gap = 0.2 , w_bus = 0.45 , A_cp = 0 , w_wg = 0.45 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 0 , Ratt = 10 , w_ht = 0 , w_mt = 10 , via_h2m = None , xs_ht = 'heater' , xs_mt = 'metal' , sharp_patch = True , cell_xs_transition = None , res = 0.01 , show_pins = False )
Bases: RacetrackResonator
+Racetrack STD Allpass primitive component.
+This component builds the Racetrack STD Allpass layout cell.
+
+Parameters:
+
+r_rck (float ) – Radius parameter in microns.
+w_rck (float ) – Width parameter in microns.
+dLy (float ) – Value for the dLy parameter.
+name (Optional [ 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’.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 0.
+Ratt (int , optional ) – Radius parameter in microns. Default is 10.
+w_ht (float , optional ) – Width parameter in microns. Default is 0.
+w_mt (float , optional ) – Width parameter in microns. Default is 10.
+via_h2m (Any , optional ) – Via definition used between heater and metal layers. Default is None.
+xs_ht (str , optional ) – Layer or cross-section name used by the device. Default is ‘heater’.
+xs_mt (str , optional ) – Layer or cross-section name used by the device. Default is ‘metal’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+res (float , optional ) – Value for the res parameter. Default is 0.01.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_eic_gds ( sharp_patch = True , show_pins = False )
@@ -415,6 +490,34 @@
class mxpic.components.primitives.pic.racetrack. Racetrack_MM_Allpass ( r1_rck , w1_rck , r0_rck , w0_rck , dLy , name = None , xs = 'strip' , gap = 0.2 , w_bus = 0.45 , A_cp = 0 , w_wg = 0.45 , R_att = 50 , R_att_min = 10 , A_att = 15 , Ltp_bus = 10 , dL_p2p = None , sharp_patch = True , cell_xs_transition = None , res = 0.01 , show_pins = False )
Bases: RacetrackResonator
+Racetrack MM Allpass primitive component.
+This component builds the Racetrack MM Allpass layout cell.
+
+Parameters:
+
+r1_rck (float ) – Value for the r1_rck parameter.
+w1_rck (float ) – Value for the w1_rck parameter.
+r0_rck (float ) – Value for the r0_rck parameter.
+w0_rck (float ) – Value for the w0_rck parameter.
+dLy (float ) – Value for the dLy parameter.
+name (Optional [ 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’.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (int , optional ) – Radius parameter in microns. Default is 50.
+R_att_min (int , optional ) – Radius parameter in microns. Default is 10.
+A_att (int , optional ) – Angle parameter in degrees. Default is 15.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+res (float , optional ) – Value for the res parameter. Default is 0.01.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
@@ -424,6 +527,34 @@
class mxpic.components.primitives.pic.racetrack. Racetrack_MM_Adddrop ( r1_rck , w1_rck , r0_rck , w0_rck , dLy , name = None , xs = 'strip' , gap = 0.2 , w_bus = 0.45 , A_cp = 0 , w_wg = 0.45 , R_att = 50 , R_att_min = 10 , A_att = 15 , Ltp_bus = 10 , dL_p2p = None , sharp_patch = True , cell_xs_transition = None , res = 0.01 , show_pins = False )
Bases: RacetrackResonator
+Racetrack MM Adddrop primitive component.
+This component builds the Racetrack MM Adddrop layout cell.
+
+Parameters:
+
+r1_rck (float ) – Value for the r1_rck parameter.
+w1_rck (float ) – Value for the w1_rck parameter.
+r0_rck (float ) – Value for the r0_rck parameter.
+w0_rck (float ) – Value for the w0_rck parameter.
+dLy (float ) – Value for the dLy parameter.
+name (Optional [ 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’.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w_bus (float , optional ) – Width parameter in microns. Default is 0.45.
+A_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R_att (int , optional ) – Radius parameter in microns. Default is 50.
+R_att_min (int , optional ) – Radius parameter in microns. Default is 10.
+A_att (int , optional ) – Angle parameter in degrees. Default is 15.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+res (float , optional ) – Value for the res parameter. Default is 0.01.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/pic/rings.html b/docs/build/html/mxpic/components/primitives/pic/rings.html
index 6d059a6..f81c501 100644
--- a/docs/build/html/mxpic/components/primitives/pic/rings.html
+++ b/docs/build/html/mxpic/components/primitives/pic/rings.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,45 @@
class mxpic.components.primitives.pic.rings. AED_ring ( name = None , ORx = 10 , ORy = 10 , IRx = 9.55 , IRy = 9.35 , gap1 = 0.2 , gap2 = 0.2 , w1_bus = 0.45 , w2_bus = 0.45 , R1_cp = None , R2_cp = None , A1_cp = 0 , A2_cp = 0 , offset_X = 0 , offset_Y = 0 , w_wg = 0.45 , R1_att = 20 , R2_att = 20 , R2_att_min = 10 , R1_att_min = 10 , A1_att = 30 , A2_att = 20 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs = 'strip' , sharp_patch = True , cell_xs_transition = None , Euler_trasition = False , res = 0.01 , show_pins = False )
Bases: object
+AED ring primitive component.
+This component builds the AED ring layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+ORx (float , optional ) – Value for the ORx parameter. Default is 10.
+ORy (float , optional ) – Value for the ORy parameter. Default is 10.
+IRx (float , optional ) – Value for the IRx parameter. Default is 10 - 0.45.
+IRy (float , optional ) – Value for the IRy parameter. Default is 10 - 0.65.
+gap1 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+gap2 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w1_bus (float , optional ) – Value for the w1_bus parameter. Default is 0.45.
+w2_bus (float , optional ) – Value for the w2_bus parameter. Default is 0.45.
+R1_cp (Any , optional ) – Radius parameter in microns. Default is None.
+R2_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A1_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+A2_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+offset_X (float , optional ) – Value for the offset_X parameter. Default is 0.
+offset_Y (float , optional ) – Value for the offset_Y parameter. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R1_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+R1_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A1_att (float , optional ) – Angle parameter in degrees. Default is 30.
+A2_att (float , optional ) – Angle parameter in degrees. Default is 20.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is False.
+res (float , optional ) – Value for the res parameter. Default is 0.01.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
generate_pic_gds ( sharp_patch , show_pins )
@@ -397,6 +442,43 @@
class mxpic.components.primitives.pic.rings. STD_PIC_Rings ( name = None , r_ring = 10 , w_ring = 10 , gap1 = 0.2 , gap2 = 0.2 , w1_bus = 0.45 , w2_bus = 0 , R1_cp = None , R2_cp = None , A1_cp = 0 , A2_cp = 0 , offset_X = 0 , offset_Y = 0 , w_wg = 0.45 , R1_att = 20 , R2_att = 20 , R2_att_min = 10 , R1_att_min = 10 , A1_att = 30 , A2_att = 20 , Ltp_bus = 10 , dL_p2p = None , L_tilt = 10 , xs = 'strip' , sharp_patch = True , cell_xs_transition = None , Euler_trasition = False , res = 0.001 , show_pins = False )
Bases: AED_ring
+STD PIC Rings primitive component.
+This component builds the STD PIC Rings layout cell.
+
+Parameters:
+
+name (Optional [ str ] , optional ) – Unique identifier for the device cell. Default is None.
+r_ring (float , optional ) – Radius parameter in microns. Default is 10.
+w_ring (float , optional ) – Width parameter in microns. Default is 10.
+gap1 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+gap2 (float , optional ) – Spacing or gap parameter in microns. Default is 0.2.
+w1_bus (float , optional ) – Value for the w1_bus parameter. Default is 0.45.
+w2_bus (float , optional ) – Value for the w2_bus parameter. Default is 0.
+R1_cp (Any , optional ) – Radius parameter in microns. Default is None.
+R2_cp (Any , optional ) – Radius parameter in microns. Default is None.
+A1_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+A2_cp (int , optional ) – Angle parameter in degrees. Default is 0.
+offset_X (float , optional ) – Value for the offset_X parameter. Default is 0.
+offset_Y (float , optional ) – Value for the offset_Y parameter. Default is 0.
+w_wg (float , optional ) – Width parameter in microns. Default is 0.45.
+R1_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att (float , optional ) – Radius parameter in microns. Default is 20.
+R2_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+R1_att_min (float , optional ) – Radius parameter in microns. Default is 10.
+A1_att (float , optional ) – Angle parameter in degrees. Default is 30.
+A2_att (float , optional ) – Angle parameter in degrees. Default is 20.
+Ltp_bus (int , optional ) – Length parameter in microns. Default is 10.
+dL_p2p (Optional [ float ] , optional ) – Value for the dL_p2p parameter. Default is None.
+L_tilt (int , optional ) – Length parameter in microns. Default is 10.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+sharp_patch (bool , optional ) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+Euler_trasition (bool , optional ) – Value for the Euler_trasition parameter. Default is False.
+res (float , optional ) – Value for the res parameter. Default is 0.001.
+show_pins (bool , optional ) – Whether to draw pin markers in the generated layout. Default is False.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/pic/spiral.html b/docs/build/html/mxpic/components/primitives/pic/spiral.html
index 8b90069..b25d893 100644
--- a/docs/build/html/mxpic/components/primitives/pic/spiral.html
+++ b/docs/build/html/mxpic/components/primitives/pic/spiral.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,36 @@
class mxpic.components.primitives.pic.spiral. spiral ( name = None , shape = 'circle' , Dmin = 50 , R_bend = 10 , Rmin_euler = 10 , Lmin = 50 , width = 2 , w_port = 0.45 , w_bend_center = 1 , Rmin_bend_center = 10 , gap = 1 , cycles = 20 , xs = 'strip' , layer = None , w_bend_port = None , Ltp_port = 10 , res = 0.5 , rib2strip = True , port_angle = 180 , Euler_bend = False , show_pins = False , sharp_patch = True )
Bases: object
+spiral primitive component.
+This component builds the spiral layout cell.
+
+Parameters:
+
+name (str , optional ) – Unique identifier for the device cell. Default is None.
+shape (str , optional ) – Value for the shape parameter. Default is ‘circle’.
+Dmin (float , optional ) – Value for the Dmin parameter. Default is 50.
+R_bend (float , optional ) – Radius parameter in microns. Default is 10.
+Rmin_euler (float , optional ) – Radius parameter in microns. Default is 10.
+Lmin (float , optional ) – Length parameter in microns. Default is 50.
+width (float , optional ) – Width parameter in microns. Default is 2.
+w_port (float , optional ) – Width parameter in microns. Default is 0.45.
+w_bend_center (float , optional ) – Width parameter in microns. Default is 1.
+Rmin_bend_center (float , optional ) – Radius parameter in microns. Default is 10.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+cycles (float , optional ) – Count or repetition parameter. Default is 20.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+layer (str , optional ) – Layer or cross-section name used by the device. Default is None.
+w_bend_port (Optional [ float ] , optional ) – Width parameter in microns. Default is None.
+Ltp_port (int , optional ) – Length parameter in microns. Default is 10.
+res (float , optional ) – Value for the res parameter. Default is 0.5.
+rib2strip (bool , optional ) – Value for the rib2strip parameter. Default is True.
+port_angle (float , optional ) – Value for the port_angle parameter. Default is 180.
+Euler_bend (bool , optional ) – Value for the Euler_bend parameter. Default is False.
+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.
+
+
+
generate_gds ( show_pins )
@@ -392,6 +428,36 @@
class mxpic.components.primitives.pic.spiral. spiral_rectangle ( name = None , Dmin = 50 , Rmax_bend = 10 , Rmin_bend = 10 , wmin_bend = 10 , Lmin = 50 , width = 2 , w_port = None , gap = 1 , cycles = 20 , xs = 'strip' , layer = None , w_bend_port = None , Lport = 10 , Ltp = 10 , res = 0.5 , cell_xs_transition = None , port_angle = 180 , show_pins = False , sharp_patch = True , in_out_align = True , Lpatch = 0.05 )
Bases: object
+spiral rectangle primitive component.
+This component builds the spiral rectangle layout cell.
+
+Parameters:
+
+name (str , optional ) – Unique identifier for the device cell. Default is None.
+Dmin (float , optional ) – Value for the Dmin parameter. Default is 50.
+Rmax_bend (float , optional ) – Radius parameter in microns. Default is 10.
+Rmin_bend (float , optional ) – Radius parameter in microns. Default is 10.
+wmin_bend (float , optional ) – Value for the wmin_bend parameter. Default is 10.
+Lmin (float , optional ) – Length parameter in microns. Default is 50.
+width (float , optional ) – Width parameter in microns. Default is 2.
+w_port (float , optional ) – Width parameter in microns. Default is None.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+cycles (float , optional ) – Count or repetition parameter. Default is 20.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+layer (str , optional ) – Layer or cross-section name used by the device. Default is None.
+w_bend_port (Optional [ float ] , optional ) – Width parameter in microns. Default is None.
+Lport (int , optional ) – Length parameter in microns. Default is 10.
+Ltp (int , optional ) – Length parameter in microns. Default is 10.
+res (float , optional ) – Value for the res parameter. Default is 0.5.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+port_angle (float , optional ) – Value for the port_angle parameter. Default is 180.
+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.
+in_out_align (bool , optional ) – Value for the in_out_align parameter. Default is True.
+Lpatch (float , optional ) – Length parameter in microns. Default is 0.05.
+
+
+
generate_gds ( show_pins )
@@ -406,6 +472,31 @@
class mxpic.components.primitives.pic.spiral. Spiral_Rect_STD ( name = None , Dmin = 50 , R_bend = 10 , Lmin = 50 , width = 2 , w_port = 0.45 , gap = 1 , cycles = 20 , xs = 'strip' , layer = None , Lport = 10 , in_out_align = True , res = 0.5 , cell_xs_transition = None , port_angle = 180 , show_pins = False , sharp_patch = True )
Bases: spiral_rectangle
+Spiral Rect STD primitive component.
+This component builds the Spiral Rect STD layout cell.
+
+Parameters:
+
+name (str , optional ) – Unique identifier for the device cell. Default is None.
+Dmin (float , optional ) – Value for the Dmin parameter. Default is 50.
+R_bend (float , optional ) – Radius parameter in microns. Default is 10.
+Lmin (float , optional ) – Length parameter in microns. Default is 50.
+width (float , optional ) – Width parameter in microns. Default is 2.
+w_port (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+cycles (float , optional ) – Count or repetition parameter. Default is 20.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+layer (str , optional ) – Layer or cross-section name used by the device. Default is None.
+Lport (int , optional ) – Length parameter in microns. Default is 10.
+in_out_align (bool , optional ) – Value for the in_out_align parameter. Default is True.
+res (float , optional ) – Value for the res parameter. Default is 0.5.
+cell_xs_transition (Any , optional ) – Cell or component dependency used by this device. Default is None.
+port_angle (float , optional ) – Value for the port_angle parameter. Default is 180.
+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.
+
+
+
@@ -415,6 +506,32 @@
class mxpic.components.primitives.pic.spiral. spiral_circle ( name = None , Dmin = 50 , width = 2 , w_port = 0.45 , w_bend_center = 1 , gap = 1 , cycles = 20 , xs = 'strip' , layer = None , Lport = 10 , res = 0.5 , rib2strip = True , port_angle = 180 , Euler_Sbend = False , show_pins = False , sharp_patch = True , strict_condition = False , R_ratio_mamnual = None )
Bases: object
+spiral circle primitive component.
+This component builds the spiral circle layout cell.
+
+Parameters:
+
+name (str , optional ) – Unique identifier for the device cell. Default is None.
+Dmin (float , optional ) – Value for the Dmin parameter. Default is 50.
+width (float , optional ) – Width parameter in microns. Default is 2.
+w_port (float , optional ) – Width parameter in microns. Default is 0.45.
+w_bend_center (float , optional ) – Width parameter in microns. Default is 1.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+cycles (float , optional ) – Count or repetition parameter. Default is 20.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+layer (str , optional ) – Layer or cross-section name used by the device. Default is None.
+Lport (int , optional ) – Length parameter in microns. Default is 10.
+res (float , optional ) – Value for the res parameter. Default is 0.5.
+rib2strip (bool , optional ) – Value for the rib2strip parameter. Default is True.
+port_angle (float , optional ) – Value for the port_angle parameter. Default is 180.
+Euler_Sbend (bool , optional ) – Value for the Euler_Sbend parameter. Default is False.
+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.
+strict_condition (bool , optional ) – Value for the strict_condition parameter. Default is False.
+R_ratio_mamnual (Any , optional ) – Radius parameter in microns. Default is None.
+
+
+
cell
@@ -440,6 +557,30 @@
class mxpic.components.primitives.pic.spiral. Spiral_Cicle_MM ( name = None , Dmin = 50 , width = 2 , w_port = 0.45 , w_bend_center = 1 , gap = 1 , cycles = 20 , xs = 'strip' , layer = None , Lport = 10 , res = 0.5 , rib2strip = True , port_angle = 180 , show_pins = False , sharp_patch = True , strict_condition = False )
Bases: spiral_circle
+Spiral Cicle MM primitive component.
+This component builds the Spiral Cicle MM layout cell.
+
+Parameters:
+
+name (str , optional ) – Unique identifier for the device cell. Default is None.
+Dmin (float , optional ) – Value for the Dmin parameter. Default is 50.
+width (float , optional ) – Width parameter in microns. Default is 2.
+w_port (float , optional ) – Width parameter in microns. Default is 0.45.
+w_bend_center (float , optional ) – Width parameter in microns. Default is 1.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+cycles (float , optional ) – Count or repetition parameter. Default is 20.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+layer (str , optional ) – Layer or cross-section name used by the device. Default is None.
+Lport (int , optional ) – Length parameter in microns. Default is 10.
+res (float , optional ) – Value for the res parameter. Default is 0.5.
+rib2strip (bool , optional ) – Value for the rib2strip parameter. Default is True.
+port_angle (float , optional ) – Value for the port_angle parameter. Default is 180.
+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.
+strict_condition (bool , optional ) – Value for the strict_condition parameter. Default is False.
+
+
+
@@ -449,6 +590,29 @@
class mxpic.components.primitives.pic.spiral. Spiral_Cicle_STD ( name = None , Dmin = 50 , width = 2 , w_port = 0.45 , gap = 1 , cycles = 20 , xs = 'strip' , layer = None , Lport = 10 , res = 0.5 , rib2strip = True , port_angle = 180 , show_pins = False , sharp_patch = True , strict_condition = False )
Bases: spiral_circle
+Spiral Cicle STD primitive component.
+This component builds the Spiral Cicle STD layout cell.
+
+Parameters:
+
+name (str , optional ) – Unique identifier for the device cell. Default is None.
+Dmin (float , optional ) – Value for the Dmin parameter. Default is 50.
+width (float , optional ) – Width parameter in microns. Default is 2.
+w_port (float , optional ) – Width parameter in microns. Default is 0.45.
+gap (float , optional ) – Spacing or gap parameter in microns. Default is 1.
+cycles (float , optional ) – Count or repetition parameter. Default is 20.
+xs (str , optional ) – Layer or cross-section name used by the device. Default is ‘strip’.
+layer (str , optional ) – Layer or cross-section name used by the device. Default is None.
+Lport (int , optional ) – Length parameter in microns. Default is 10.
+res (float , optional ) – Value for the res parameter. Default is 0.5.
+rib2strip (bool , optional ) – Value for the rib2strip parameter. Default is True.
+port_angle (float , optional ) – Value for the port_angle parameter. Default is 180.
+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.
+strict_condition (bool , optional ) – Value for the strict_condition parameter. Default is False.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/pic/taper.html b/docs/build/html/mxpic/components/primitives/pic/taper.html
index 52f1af8..2e3cbf7 100644
--- a/docs/build/html/mxpic/components/primitives/pic/taper.html
+++ b/docs/build/html/mxpic/components/primitives/pic/taper.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -378,6 +384,25 @@
class mxpic.components.primitives.pic.taper. transition ( layer_FETCH = 'STRIP_TRE' , layer_METCH = 'RIB_TRE' , w_rib = 1.1 , dw_tolerance = 0.2 , w_grow_rib = 2 , w_grow_strip = 2 , Ltp1 = 15 , Ltp2 = 10 , Ltrans = 5 , L_port = 2 , show_pins = False )
Bases: object
+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.
+
+
+
@@ -387,6 +412,20 @@
class mxpic.components.primitives.pic.taper. taper_xs2xs ( xs_1 = 'rib' , xs_2 = 'strip' , L_taper = 10 , w_1 = 0.45 , w_2 = 0.45 , L_port = 0 )
Bases: object
+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.
+
+
+
@@ -396,7 +435,24 @@
class mxpic.components.primitives.pic.taper. PSR ( name = 'PSR_unit' , xs = 'rib' , layer_u = None , layer_d = None , w = [0.45, 0.45, 0.55, 1.2, 1.2] , Lt_rib = [10, 30, 30, 10] , ws = [0.45, 2, 1.2] , Lt_slab = [40, 40] , shape = 'sine' , L_port = 5 , res = 0.01 )
Bases: object
-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.
+
+
+
diff --git a/docs/build/html/mxpic/components/primitives/spiral.html b/docs/build/html/mxpic/components/primitives/spiral.html
index 6ef591e..5242f23 100644
--- a/docs/build/html/mxpic/components/primitives/spiral.html
+++ b/docs/build/html/mxpic/components/primitives/spiral.html
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
diff --git a/docs/build/html/mxpic/components/routing.html b/docs/build/html/mxpic/components/routing.html
index ea40607..34a07f2 100644
--- a/docs/build/html/mxpic/components/routing.html
+++ b/docs/build/html/mxpic/components/routing.html
@@ -44,7 +44,7 @@
-
+
@@ -303,7 +303,13 @@
mxpic.components.gds_devices
mxpic.components.pins
mxpic.components.routing
-mxpic.components.structures
+Geometry
+
@@ -838,11 +844,11 @@ orthogonal ubend.
next
-
mxpic.components.structures
+
Geometry
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
index ee4cbe8..b0cb174 100644
Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ
diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html
index 28030b4..1fac7db 100644
--- a/docs/build/html/py-modindex.html
+++ b/docs/build/html/py-modindex.html
@@ -314,6 +314,26 @@
mxpic.components.gds_devices
+