diff --git a/.gitea/workflows/build_relase.yaml b/.gitea/workflows/build_relase.yaml
index bf55f88..2f009f2 100644
--- a/.gitea/workflows/build_relase.yaml
+++ b/.gitea/workflows/build_relase.yaml
@@ -1,67 +1,47 @@
-name: Build and Release mxPIC Wheels
+name: Build Linux and Release mxPIC
-# This tells GitHub to ONLY run this pipeline when you push a version tag (e.g., v1.0.0)
on:
release:
- types: [published]
+ [published]
jobs:
- # --- JOB 1: THE COMPILER ---
- build-wheels:
- name: Build on ${{ matrix.os }}
- # The matrix allows us to build for Windows and Linux simultaneously!
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest, windows-latest]
- python-version: ['3.10']
-
+ build-and-release:
+ name: Build Linux & Publish Release
+ # This targets your Docker runner on the Synology NAS
+ runs-on: ubuntu-latest
+
steps:
- name: Checkout Code
uses: actions/checkout@v4
- - name: Set up Python ${{ matrix.python-version }}
+ - name: Set up Python 3.10
uses: actions/setup-python@v5
with:
- python-version: ${{ matrix.python-version }}
+ python-version: '3.10'
- name: Install Build Dependencies
- # Install the tools required by our custom build_wheel.py script
run: |
python -m pip install --upgrade pip
pip install build wheel mypy Cython setuptools
- - name: Run Auto-Builder (Compiles C-extensions & Injects .pyi)
+ - name: Run Auto-Builder (Compiles Linux C-extensions & Injects .pyi)
+ # This generates the linux_x86_64.whl inside the dist/ folder
run: python build_wheel.py
- - name: Temporarily Store the Built Wheel
- uses: actions/upload-artifact@v4
- with:
- name: mxpic-wheels-${{ matrix.os }}
- path: dist/*.whl
- retention-days: 1
+ - name: Inject Prebuilt Windows Wheel
+ # This copies your locally-built Windows wheel into the dist/ folder
+ # so they sit side-by-side right before the release is published.
+ run: |
+ if [ -d "prebuilt_wheels" ]; then
+ cp prebuilt_wheels/*.whl dist/ || true
+ echo "✅ Windows wheel staged for release."
+ else
+ echo "⚠️ No prebuilt_wheels directory found."
+ fi
- # --- JOB 2: THE RELEASER ---
- create-release:
- name: Publish to GitHub Releases
- needs: build-wheels # Waits for both Windows and Linux to finish
- runs-on: ubuntu-latest
- permissions:
- contents: write # Required to allow the bot to create a release page
-
- steps:
- - name: Checkout Code
- uses: actions/checkout@v4
-
- - name: Download all OS Wheels
- uses: actions/download-artifact@v4
- with:
- pattern: mxpic-wheels-*
- path: dist
- merge-multiple: true
-
- - name: Upload Assets to Gitea Release
- uses: softprops/action-gh-release@v1
+ - name: Create Gitea Release
+ uses: https://gitea.com/actions/release-action@main
with:
+ # This command scopes up everything currently sitting in the dist/ folder
files: "dist/*.whl"
api_key: ${{ secrets.GITEA_TOKEN }}
\ No newline at end of file
diff --git a/_test_.py b/_test_.py
index 1915d51..476ddc2 100644
--- a/_test_.py
+++ b/_test_.py
@@ -1,8 +1,15 @@
# import mxpic as mx
-import mxpic_release.mxpic as mx
+import mxpic as mx
+import nazca as nd
+import matplotlib
+matplotlib.use('Agg')
+import matplotlib.pyplot as plt # <-- Add this import
-EC = mx.EC_dual_layer_px3(name="xxx",w_in=0.5,L_in=10,Ltp1=10,Ltp2=10,Ltp3=10)
+EC = mx.EC_dual_layer_px3(name="xxx",w_in=0.5,L_in=10,Ltp1=100,Ltp2=200,Ltp3=300)
+nd.export_plt(topcells=EC.cell,path="",title="test",filename="file.plt")
+plt.savefig("test", bbox_inches='tight', dpi=300)
+plt.close()
# import uuid
# mac = uuid.getnode()
# mc_addr = ':'.join(("%012X" % mac)[i:i+2] for i in range(0, 12, 2))
diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
new file mode 100644
index 0000000..50931f7
Binary files /dev/null and b/docs/build/doctrees/environment.pickle differ
diff --git a/mxpic/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree
similarity index 94%
rename from mxpic/docs/build/doctrees/index.doctree
rename to docs/build/doctrees/index.doctree
index 4a5a81d..f4bd8af 100644
Binary files a/mxpic/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ
diff --git a/docs/build/doctrees/mxpic/components/primitives/EC_dual_layer_px3.doctree b/docs/build/doctrees/mxpic/components/primitives/EC_dual_layer_px3.doctree
new file mode 100644
index 0000000..d76641b
Binary files /dev/null and b/docs/build/doctrees/mxpic/components/primitives/EC_dual_layer_px3.doctree differ
diff --git a/docs/build/doctrees/mxpic/components/primitives/beam_splitters.doctree b/docs/build/doctrees/mxpic/components/primitives/beam_splitters.doctree
new file mode 100644
index 0000000..390a022
Binary files /dev/null and b/docs/build/doctrees/mxpic/components/primitives/beam_splitters.doctree differ
diff --git a/docs/build/doctrees/mxpic/components/primitives/directional_couplers.doctree b/docs/build/doctrees/mxpic/components/primitives/directional_couplers.doctree
new file mode 100644
index 0000000..fd4b0b0
Binary files /dev/null and b/docs/build/doctrees/mxpic/components/primitives/directional_couplers.doctree differ
diff --git a/docs/build/doctrees/mxpic/components/primitives/grating_couplers.doctree b/docs/build/doctrees/mxpic/components/primitives/grating_couplers.doctree
new file mode 100644
index 0000000..ded6a68
Binary files /dev/null and b/docs/build/doctrees/mxpic/components/primitives/grating_couplers.doctree differ
diff --git a/docs/build/doctrees/mxpic/components/primitives/multimode_interferometers.doctree b/docs/build/doctrees/mxpic/components/primitives/multimode_interferometers.doctree
new file mode 100644
index 0000000..e3069e8
Binary files /dev/null and b/docs/build/doctrees/mxpic/components/primitives/multimode_interferometers.doctree differ
diff --git a/docs/build/doctrees/mxpic/components/primitives/spiral.doctree b/docs/build/doctrees/mxpic/components/primitives/spiral.doctree
new file mode 100644
index 0000000..1711c9f
Binary files /dev/null and b/docs/build/doctrees/mxpic/components/primitives/spiral.doctree differ
diff --git a/mxpic/docs/build/html/.buildinfo b/docs/build/html/.buildinfo
similarity index 100%
rename from mxpic/docs/build/html/.buildinfo
rename to docs/build/html/.buildinfo
diff --git a/docs/build/html/_images/BS_tdc.png b/docs/build/html/_images/BS_tdc.png
new file mode 100644
index 0000000..cca00f3
Binary files /dev/null and b/docs/build/html/_images/BS_tdc.png differ
diff --git a/docs/build/html/_images/DC.png b/docs/build/html/_images/DC.png
new file mode 100644
index 0000000..3fc001a
Binary files /dev/null and b/docs/build/html/_images/DC.png differ
diff --git a/docs/build/html/_images/DC_bend.png b/docs/build/html/_images/DC_bend.png
new file mode 100644
index 0000000..f68d998
Binary files /dev/null and b/docs/build/html/_images/DC_bend.png differ
diff --git a/docs/build/html/_images/DC_pX_3sg.png b/docs/build/html/_images/DC_pX_3sg.png
new file mode 100644
index 0000000..a21782c
Binary files /dev/null and b/docs/build/html/_images/DC_pX_3sg.png differ
diff --git a/docs/build/html/_images/EC_dual_layer_px3.png b/docs/build/html/_images/EC_dual_layer_px3.png
new file mode 100644
index 0000000..489d4fd
Binary files /dev/null and b/docs/build/html/_images/EC_dual_layer_px3.png differ
diff --git a/docs/build/html/_images/GC_STD_1D.png b/docs/build/html/_images/GC_STD_1D.png
new file mode 100644
index 0000000..ccd07ce
Binary files /dev/null and b/docs/build/html/_images/GC_STD_1D.png differ
diff --git a/docs/build/html/_images/GC_STD_2D.png b/docs/build/html/_images/GC_STD_2D.png
new file mode 100644
index 0000000..ba0bf2c
Binary files /dev/null and b/docs/build/html/_images/GC_STD_2D.png differ
diff --git a/docs/build/html/_images/Grating_2D_Hole.png b/docs/build/html/_images/Grating_2D_Hole.png
new file mode 100644
index 0000000..2320eb6
Binary files /dev/null and b/docs/build/html/_images/Grating_2D_Hole.png differ
diff --git a/docs/build/html/_images/MDM.png b/docs/build/html/_images/MDM.png
new file mode 100644
index 0000000..f571c40
Binary files /dev/null and b/docs/build/html/_images/MDM.png differ
diff --git a/docs/build/html/_images/MMI_ML.png b/docs/build/html/_images/MMI_ML.png
new file mode 100644
index 0000000..c886a18
Binary files /dev/null and b/docs/build/html/_images/MMI_ML.png differ
diff --git a/docs/build/html/_images/MMI_STD.png b/docs/build/html/_images/MMI_STD.png
new file mode 100644
index 0000000..91c18cc
Binary files /dev/null and b/docs/build/html/_images/MMI_STD.png differ
diff --git a/docs/build/html/_images/Nano_ant.png b/docs/build/html/_images/Nano_ant.png
new file mode 100644
index 0000000..6e21c0d
Binary files /dev/null and b/docs/build/html/_images/Nano_ant.png differ
diff --git a/docs/build/html/_images/Spiral_Cicle_MM.png b/docs/build/html/_images/Spiral_Cicle_MM.png
new file mode 100644
index 0000000..e498b86
Binary files /dev/null and b/docs/build/html/_images/Spiral_Cicle_MM.png differ
diff --git a/docs/build/html/_images/Spiral_Cicle_STD.png b/docs/build/html/_images/Spiral_Cicle_STD.png
new file mode 100644
index 0000000..d1d2b88
Binary files /dev/null and b/docs/build/html/_images/Spiral_Cicle_STD.png differ
diff --git a/docs/build/html/_images/Taper.png b/docs/build/html/_images/Taper.png
new file mode 100644
index 0000000..f8b619c
Binary files /dev/null and b/docs/build/html/_images/Taper.png differ
diff --git a/docs/build/html/_images/YBranch.png b/docs/build/html/_images/YBranch.png
new file mode 100644
index 0000000..ee4394e
Binary files /dev/null and b/docs/build/html/_images/YBranch.png differ
diff --git a/docs/build/html/_images/Ybranch_3wg.png b/docs/build/html/_images/Ybranch_3wg.png
new file mode 100644
index 0000000..cde08d3
Binary files /dev/null and b/docs/build/html/_images/Ybranch_3wg.png differ
diff --git a/docs/build/html/_images/ring_bus_wg.png b/docs/build/html/_images/ring_bus_wg.png
new file mode 100644
index 0000000..1600145
Binary files /dev/null and b/docs/build/html/_images/ring_bus_wg.png differ
diff --git a/docs/build/html/_images/spiral.png b/docs/build/html/_images/spiral.png
new file mode 100644
index 0000000..d72b82b
Binary files /dev/null and b/docs/build/html/_images/spiral.png differ
diff --git a/docs/build/html/_images/spiral_circle.png b/docs/build/html/_images/spiral_circle.png
new file mode 100644
index 0000000..3b36483
Binary files /dev/null and b/docs/build/html/_images/spiral_circle.png differ
diff --git a/mxpic/docs/build/html/_sources/index.md.txt b/docs/build/html/_sources/index.md.txt
similarity index 100%
rename from mxpic/docs/build/html/_sources/index.md.txt
rename to docs/build/html/_sources/index.md.txt
diff --git a/docs/build/html/_sources/mxpic/components/primitives/EC_dual_layer_px3.md.txt b/docs/build/html/_sources/mxpic/components/primitives/EC_dual_layer_px3.md.txt
new file mode 100644
index 0000000..e10ec8d
--- /dev/null
+++ b/docs/build/html/_sources/mxpic/components/primitives/EC_dual_layer_px3.md.txt
@@ -0,0 +1,20 @@
+# mxpic.components.primitives.EC_dual_layer_px3
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.EC_dual_layer_px3
+ :no-members:
+```
+
+## EC_dual_layer_px3
+
+```{eval-rst}
+.. image:: EC_dual_layer_px3.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/build/html/_sources/mxpic/components/primitives/beam_splitters.md.txt b/docs/build/html/_sources/mxpic/components/primitives/beam_splitters.md.txt
new file mode 100644
index 0000000..51361de
--- /dev/null
+++ b/docs/build/html/_sources/mxpic/components/primitives/beam_splitters.md.txt
@@ -0,0 +1,33 @@
+# mxpic.components.primitives.beam_splitters
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.beam_splitters
+ :no-members:
+```
+
+## YBranch
+
+```{eval-rst}
+.. image:: YBranch.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.beam_splitters.YBranch
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Ybranch_3wg
+
+```{eval-rst}
+.. image:: Ybranch_3wg.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.beam_splitters.Ybranch_3wg
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/build/html/_sources/mxpic/components/primitives/directional_couplers.md.txt b/docs/build/html/_sources/mxpic/components/primitives/directional_couplers.md.txt
new file mode 100644
index 0000000..168b974
--- /dev/null
+++ b/docs/build/html/_sources/mxpic/components/primitives/directional_couplers.md.txt
@@ -0,0 +1,98 @@
+# mxpic.components.primitives.directional_couplers
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.directional_couplers
+ :no-members:
+```
+
+## ADC_STD_2x2
+
+```{eval-rst}
+.. image:: ADC_STD_2x2.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.ADC_STD_2x2
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## BS_tdc
+
+```{eval-rst}
+.. image:: BS_tdc.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.BS_tdc
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## DC
+
+```{eval-rst}
+.. image:: DC.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.DC
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## DC_bend
+
+```{eval-rst}
+.. image:: DC_bend.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.DC_bend
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## DC_pX_3sg
+
+```{eval-rst}
+.. image:: DC_pX_3sg.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.DC_pX_3sg
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## MDM
+
+```{eval-rst}
+.. image:: MDM.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.MDM
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## ring_bus_wg
+
+```{eval-rst}
+.. image:: ring_bus_wg.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.ring_bus_wg
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/build/html/_sources/mxpic/components/primitives/grating_couplers.md.txt b/docs/build/html/_sources/mxpic/components/primitives/grating_couplers.md.txt
new file mode 100644
index 0000000..9d36fb0
--- /dev/null
+++ b/docs/build/html/_sources/mxpic/components/primitives/grating_couplers.md.txt
@@ -0,0 +1,111 @@
+# mxpic.components.primitives.grating_couplers
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.grating_couplers
+ :no-members:
+```
+
+## FA
+
+```{eval-rst}
+.. image:: FA.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.FA
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## GC_STD_1D
+
+```{eval-rst}
+.. image:: GC_STD_1D.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.GC_STD_1D
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## GC_STD_2D
+
+```{eval-rst}
+.. image:: GC_STD_2D.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.GC_STD_2D
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Grating_2D_Hole
+
+```{eval-rst}
+.. image:: Grating_2D_Hole.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Grating_2D_Hole
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Grating_2D_Hole_3Rec
+
+```{eval-rst}
+.. image:: Grating_2D_Hole_3Rec.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Grating_2D_Hole_4Rec
+
+```{eval-rst}
+.. image:: Grating_2D_Hole_4Rec.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Nano_ant
+
+```{eval-rst}
+.. image:: Nano_ant.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Nano_ant
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Taper
+
+```{eval-rst}
+.. image:: Taper.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Taper
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/build/html/_sources/mxpic/components/primitives/multimode_interferometers.md.txt b/docs/build/html/_sources/mxpic/components/primitives/multimode_interferometers.md.txt
new file mode 100644
index 0000000..5d3d385
--- /dev/null
+++ b/docs/build/html/_sources/mxpic/components/primitives/multimode_interferometers.md.txt
@@ -0,0 +1,33 @@
+# mxpic.components.primitives.multimode_interferometers
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.multimode_interferometers
+ :no-members:
+```
+
+## MMI_ML
+
+```{eval-rst}
+.. image:: MMI_ML.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.multimode_interferometers.MMI_ML
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## MMI_STD
+
+```{eval-rst}
+.. image:: MMI_STD.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.multimode_interferometers.MMI_STD
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/build/html/_sources/mxpic/components/primitives/spiral.md.txt b/docs/build/html/_sources/mxpic/components/primitives/spiral.md.txt
new file mode 100644
index 0000000..07096c1
--- /dev/null
+++ b/docs/build/html/_sources/mxpic/components/primitives/spiral.md.txt
@@ -0,0 +1,85 @@
+# mxpic.components.primitives.spiral
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.spiral
+ :no-members:
+```
+
+## Spiral_Cicle_MM
+
+```{eval-rst}
+.. image:: Spiral_Cicle_MM.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.Spiral_Cicle_MM
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Spiral_Cicle_STD
+
+```{eval-rst}
+.. image:: Spiral_Cicle_STD.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.Spiral_Cicle_STD
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Spiral_Rect_STD
+
+```{eval-rst}
+.. image:: Spiral_Rect_STD.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.Spiral_Rect_STD
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## spiral
+
+```{eval-rst}
+.. image:: spiral.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.spiral
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## spiral_circle
+
+```{eval-rst}
+.. image:: spiral_circle.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.spiral_circle
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## spiral_rectangle
+
+```{eval-rst}
+.. image:: spiral_rectangle.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.spiral_rectangle
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/mxpic/docs/build/html/_static/basic.css b/docs/build/html/_static/basic.css
similarity index 100%
rename from mxpic/docs/build/html/_static/basic.css
rename to docs/build/html/_static/basic.css
diff --git a/mxpic/docs/build/html/_static/doctools.js b/docs/build/html/_static/doctools.js
similarity index 100%
rename from mxpic/docs/build/html/_static/doctools.js
rename to docs/build/html/_static/doctools.js
diff --git a/mxpic/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js
similarity index 100%
rename from mxpic/docs/build/html/_static/documentation_options.js
rename to docs/build/html/_static/documentation_options.js
diff --git a/mxpic/docs/build/html/_static/file.png b/docs/build/html/_static/file.png
similarity index 100%
rename from mxpic/docs/build/html/_static/file.png
rename to docs/build/html/_static/file.png
diff --git a/mxpic/docs/build/html/_static/language_data.js b/docs/build/html/_static/language_data.js
similarity index 100%
rename from mxpic/docs/build/html/_static/language_data.js
rename to docs/build/html/_static/language_data.js
diff --git a/mxpic/docs/build/html/_static/minus.png b/docs/build/html/_static/minus.png
similarity index 100%
rename from mxpic/docs/build/html/_static/minus.png
rename to docs/build/html/_static/minus.png
diff --git a/mxpic/docs/build/html/_static/plus.png b/docs/build/html/_static/plus.png
similarity index 100%
rename from mxpic/docs/build/html/_static/plus.png
rename to docs/build/html/_static/plus.png
diff --git a/mxpic/docs/build/html/_static/pygments.css b/docs/build/html/_static/pygments.css
similarity index 100%
rename from mxpic/docs/build/html/_static/pygments.css
rename to docs/build/html/_static/pygments.css
diff --git a/mxpic/docs/build/html/_static/scripts/bootstrap.js b/docs/build/html/_static/scripts/bootstrap.js
similarity index 100%
rename from mxpic/docs/build/html/_static/scripts/bootstrap.js
rename to docs/build/html/_static/scripts/bootstrap.js
diff --git a/mxpic/docs/build/html/_static/scripts/bootstrap.js.LICENSE.txt b/docs/build/html/_static/scripts/bootstrap.js.LICENSE.txt
similarity index 100%
rename from mxpic/docs/build/html/_static/scripts/bootstrap.js.LICENSE.txt
rename to docs/build/html/_static/scripts/bootstrap.js.LICENSE.txt
diff --git a/mxpic/docs/build/html/_static/scripts/bootstrap.js.map b/docs/build/html/_static/scripts/bootstrap.js.map
similarity index 100%
rename from mxpic/docs/build/html/_static/scripts/bootstrap.js.map
rename to docs/build/html/_static/scripts/bootstrap.js.map
diff --git a/mxpic/docs/build/html/_static/scripts/fontawesome.js b/docs/build/html/_static/scripts/fontawesome.js
similarity index 100%
rename from mxpic/docs/build/html/_static/scripts/fontawesome.js
rename to docs/build/html/_static/scripts/fontawesome.js
diff --git a/mxpic/docs/build/html/_static/scripts/fontawesome.js.LICENSE.txt b/docs/build/html/_static/scripts/fontawesome.js.LICENSE.txt
similarity index 100%
rename from mxpic/docs/build/html/_static/scripts/fontawesome.js.LICENSE.txt
rename to docs/build/html/_static/scripts/fontawesome.js.LICENSE.txt
diff --git a/mxpic/docs/build/html/_static/scripts/fontawesome.js.map b/docs/build/html/_static/scripts/fontawesome.js.map
similarity index 100%
rename from mxpic/docs/build/html/_static/scripts/fontawesome.js.map
rename to docs/build/html/_static/scripts/fontawesome.js.map
diff --git a/mxpic/docs/build/html/_static/scripts/pydata-sphinx-theme.js b/docs/build/html/_static/scripts/pydata-sphinx-theme.js
similarity index 100%
rename from mxpic/docs/build/html/_static/scripts/pydata-sphinx-theme.js
rename to docs/build/html/_static/scripts/pydata-sphinx-theme.js
diff --git a/mxpic/docs/build/html/_static/scripts/pydata-sphinx-theme.js.map b/docs/build/html/_static/scripts/pydata-sphinx-theme.js.map
similarity index 100%
rename from mxpic/docs/build/html/_static/scripts/pydata-sphinx-theme.js.map
rename to docs/build/html/_static/scripts/pydata-sphinx-theme.js.map
diff --git a/mxpic/docs/build/html/_static/searchtools.js b/docs/build/html/_static/searchtools.js
similarity index 100%
rename from mxpic/docs/build/html/_static/searchtools.js
rename to docs/build/html/_static/searchtools.js
diff --git a/mxpic/docs/build/html/_static/sphinx_highlight.js b/docs/build/html/_static/sphinx_highlight.js
similarity index 100%
rename from mxpic/docs/build/html/_static/sphinx_highlight.js
rename to docs/build/html/_static/sphinx_highlight.js
diff --git a/mxpic/docs/build/html/_static/styles/pydata-sphinx-theme.css b/docs/build/html/_static/styles/pydata-sphinx-theme.css
similarity index 100%
rename from mxpic/docs/build/html/_static/styles/pydata-sphinx-theme.css
rename to docs/build/html/_static/styles/pydata-sphinx-theme.css
diff --git a/mxpic/docs/build/html/_static/styles/pydata-sphinx-theme.css.map b/docs/build/html/_static/styles/pydata-sphinx-theme.css.map
similarity index 100%
rename from mxpic/docs/build/html/_static/styles/pydata-sphinx-theme.css.map
rename to docs/build/html/_static/styles/pydata-sphinx-theme.css.map
diff --git a/mxpic/docs/build/html/_static/styles/theme.css b/docs/build/html/_static/styles/theme.css
similarity index 100%
rename from mxpic/docs/build/html/_static/styles/theme.css
rename to docs/build/html/_static/styles/theme.css
diff --git a/mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf b/docs/build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf
similarity index 100%
rename from mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf
rename to docs/build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf
diff --git a/mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 b/docs/build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2
similarity index 100%
rename from mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2
rename to docs/build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2
diff --git a/mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf b/docs/build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf
similarity index 100%
rename from mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf
rename to docs/build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf
diff --git a/mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 b/docs/build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2
similarity index 100%
rename from mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2
rename to docs/build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2
diff --git a/mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf b/docs/build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf
similarity index 100%
rename from mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf
rename to docs/build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf
diff --git a/mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 b/docs/build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2
similarity index 100%
rename from mxpic/docs/build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2
rename to docs/build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2
diff --git a/mxpic/docs/build/html/_static/webpack-macros.html b/docs/build/html/_static/webpack-macros.html
similarity index 100%
rename from mxpic/docs/build/html/_static/webpack-macros.html
rename to docs/build/html/_static/webpack-macros.html
diff --git a/mxpic/docs/build/html/genindex.html b/docs/build/html/genindex.html
similarity index 98%
rename from mxpic/docs/build/html/genindex.html
rename to docs/build/html/genindex.html
index 27d559e..6918f99 100644
--- a/mxpic/docs/build/html/genindex.html
+++ b/docs/build/html/genindex.html
@@ -123,35 +123,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -165,7 +165,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -245,42 +245,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
diff --git a/mxpic/docs/build/html/index.html b/docs/build/html/index.html
similarity index 70%
rename from mxpic/docs/build/html/index.html
rename to docs/build/html/index.html
index 0082ad0..9ced77c 100644
--- a/mxpic/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -44,7 +44,7 @@
-
+
@@ -125,35 +125,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -167,7 +167,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -251,42 +251,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -349,48 +349,48 @@ contain the root to
Components:
-mxpic\components\primitives\beam_splitters
-YBranch
-Ybranch_3wg
+mxpic.components.primitives.beam_splitters
-mxpic\components\primitives\directional_couplers
-ADC_STD_2x2
-BS_tdc
-DC
-DC_bend
-DC_pX_3sg
-MDM
-ring_bus_wg
+mxpic.components.primitives.directional_couplers
-mxpic\components\primitives\EC_dual_layer_px3
-EC_dual_layer_px3
+mxpic.components.primitives.EC_dual_layer_px3
-mxpic\components\primitives\grating_couplers
-FA
-GC_STD_1D
-GC_STD_2D
-Grating_2D_Hole
-Grating_2D_Hole_3Rec
-Grating_2D_Hole_4Rec
-Nano_ant
-Taper
+mxpic.components.primitives.grating_couplers
-mxpic\components\primitives\multimode_interferometers
-MMI_ML
-MMI_STD
+mxpic.components.primitives.multimode_interferometers
-mxpic\components\primitives\spiral
@@ -412,7 +412,7 @@ contain the root to
title="next page">
next
-
mxpic\components\primitives\beam_splitters
+
mxpic.components.primitives.beam_splitters
diff --git a/mxpic/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html b/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html
similarity index 76%
rename from mxpic/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html
rename to docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html
index 656c6ab..d12faa0 100644
--- a/mxpic/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html
+++ b/docs/build/html/mxpic/components/primitives/EC_dual_layer_px3.html
@@ -8,7 +8,7 @@
- mxpic\components\primitives\EC_dual_layer_px3 — mxpic_handbook mxpic documentation
+ mxpic.components.primitives.EC_dual_layer_px3 — mxpic_handbook mxpic documentation
@@ -44,8 +44,8 @@
-
-
+
+
@@ -126,35 +126,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -168,7 +168,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -250,42 +250,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -355,7 +355,7 @@
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
@@ -373,10 +373,14 @@
-mxpic\components\primitives\EC_dual_layer_px3
+mxpic.components.primitives.EC_dual_layer_px3
+
+EC_dual_layer_px3
+
+
-class mxpic.components.primitives.EC_dual_layer_px3. EC_dual_layer_px3 ( name , w_in , L_in , Ltp1 , Ltp2 , Ltp3 , L_end = 0 , w_tip_core = 0.2 , w1_slab = 0.6 , w_tip_slab = 0.2 , w_mid_slab = 0.45 , w_box = 8 , w_box_end = 12 , L_box_end = 2 , w_DT = 12 , xs_SiN = 'sin' , layer_SiN_slab = 'SiN_Rib_WG' , layer_DT = 'OXIDE_FACET' , xs_Trench = 'air_trench' , layer_top_cover = 'PAD_OPTICAL' , layer_dum_exl_be = None , angle_tile = 8 , R_bend = 50 )
+class mxpic.components.primitives.EC_dual_layer_px3. EC_dual_layer_px3 ( name = None , w_in = 1.0 , L_in = 15 , Ltp1 = 100 , Ltp2 = 200 , Ltp3 = 400 , L_end = 0 , w_tip_core = 0.2 , w1_slab = 0.6 , w_tip_slab = 0.2 , w_mid_slab = 0.45 , w_box = 8 , w_box_end = 12 , L_box_end = 2 , w_DT = 12 , xs_SiN = 'sin' , layer_SiN_slab = 'SiN_Rib_WG' , layer_DT = 'OXIDE_FACET' , xs_Trench = 'air_trench' , layer_top_cover = 'PAD_OPTICAL' , layer_dum_exl_be = None , angle_tile = 8 , R_bend = 50 , sample_build = False )
Bases: object
Dual-layer Edge Coupler (Spot Size Converter) for fiber-to-chip coupling.
This component manages the adiabatic transition between a high-index
@@ -418,6 +422,7 @@ contrast core and a secondary slab/cladding layer (e.g., SiN to SOI).
+
@@ -436,7 +441,7 @@ contrast core and a secondary slab/cladding layer (e.g., SiN to SOI).
previous
-
mxpic\components\primitives\directional_couplers
+
mxpic.components.primitives.directional_couplers
title="next page">
next
-
mxpic\components\primitives\grating_couplers
+
mxpic.components.primitives.grating_couplers
@@ -467,8 +472,11 @@ contrast core and a secondary slab/cladding layer (e.g., SiN to SOI).
-EC_dual_layer_px3
diff --git a/mxpic/docs/build/html/mxpic/components/primitives/beam_splitters.html b/docs/build/html/mxpic/components/primitives/beam_splitters.html
similarity index 93%
rename from mxpic/docs/build/html/mxpic/components/primitives/beam_splitters.html
rename to docs/build/html/mxpic/components/primitives/beam_splitters.html
index f271c64..66ceaff 100644
--- a/mxpic/docs/build/html/mxpic/components/primitives/beam_splitters.html
+++ b/docs/build/html/mxpic/components/primitives/beam_splitters.html
@@ -8,7 +8,7 @@
- mxpic\components\primitives\beam_splitters — mxpic_handbook mxpic documentation
+ mxpic.components.primitives.beam_splitters — mxpic_handbook mxpic documentation
@@ -44,7 +44,7 @@
-
+
@@ -126,35 +126,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -168,7 +168,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -250,42 +250,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -355,7 +355,7 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
@@ -373,7 +373,11 @@
-mxpic\components\primitives\beam_splitters
+mxpic.components.primitives.beam_splitters
+
+YBranch
+
+
class mxpic.components.primitives.beam_splitters. 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 )
@@ -403,6 +407,11 @@ Length must be >= 2. Default is
+
+
+Ybranch_3wg
+
+
class mxpic.components.primitives.beam_splitters. 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 )
@@ -440,6 +449,7 @@ Length must be >= 2. Default is
+
@@ -466,7 +476,7 @@ Length must be >= 2. Default is
next
-
mxpic\components\primitives\directional_couplers
+
mxpic.components.primitives.directional_couplers
@@ -489,13 +499,19 @@ Length must be >= 2. Default is
-YBranch
-YBranch.generate_gds()
+YBranch
+
+Ybranch_3wg
diff --git a/mxpic/docs/build/html/mxpic/components/primitives/directional_couplers.html b/docs/build/html/mxpic/components/primitives/directional_couplers.html
similarity index 94%
rename from mxpic/docs/build/html/mxpic/components/primitives/directional_couplers.html
rename to docs/build/html/mxpic/components/primitives/directional_couplers.html
index 2a44e9c..642676e 100644
--- a/mxpic/docs/build/html/mxpic/components/primitives/directional_couplers.html
+++ b/docs/build/html/mxpic/components/primitives/directional_couplers.html
@@ -8,7 +8,7 @@
- mxpic\components\primitives\directional_couplers — mxpic_handbook mxpic documentation
+ mxpic.components.primitives.directional_couplers — mxpic_handbook mxpic documentation
@@ -44,8 +44,8 @@
-
-
+
+
@@ -126,35 +126,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -168,7 +168,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -250,42 +250,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -355,7 +355,7 @@
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
@@ -373,7 +373,11 @@
-mxpic\components\primitives\directional_couplers
+mxpic.components.primitives.directional_couplers
+
+ADC_STD_2x2
+
+
class mxpic.components.primitives.directional_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 )
@@ -429,6 +433,11 @@
+
+
+BS_tdc
+
+
class mxpic.components.primitives.directional_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' )
@@ -454,6 +463,11 @@
+
+
+DC
+
+
class mxpic.components.primitives.directional_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 )
@@ -486,6 +500,11 @@
+
+
+DC_bend
+
+
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 )
@@ -505,6 +524,11 @@ Written by HU GAOLEI at 2022.5.15.
+
+
+DC_pX_3sg
+
+
class mxpic.components.primitives.directional_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 )
@@ -543,6 +567,11 @@ Written by HU GAOLEI at 2022.5.15.
+
+
+MDM
+
+
class mxpic.components.primitives.directional_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 )
@@ -580,6 +609,11 @@ Written by HU GAOLEI at 2022.5.15.
+
+
+ring_bus_wg
+
+
class mxpic.components.primitives.directional_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 )
@@ -621,6 +655,7 @@ Written by HU GAOLEI at 2022.5.15.
+
@@ -639,7 +674,7 @@ Written by HU GAOLEI at 2022.5.15.
previous
-
mxpic\components\primitives\beam_splitters
+
mxpic.components.primitives.beam_splitters
title="next page">
next
-
mxpic\components\primitives\EC_dual_layer_px3
+
mxpic.components.primitives.EC_dual_layer_px3
@@ -670,33 +705,54 @@ Written by HU GAOLEI at 2022.5.15.
-ADC_STD_2x2
-ADC_STD_2x2.generate_err()
-ADC_STD_2x2.generate_gds()
-ADC_STD_2x2.generate_test_gds()
+ADC_STD_2x2
+ADC_STD_2x2
-BS_tdc
-DC
-DC_bend
-DC_bend.generate_gds()
-DC_bend.generate_test_gds()
+BS_tdc
-DC_pX_3sg
-DC_pX_3sg.generate_gds()
-DC_pX_3sg.generate_test_gds()
+DC
+DC
-MDM
-ring_bus_wg
diff --git a/mxpic/docs/build/html/mxpic/components/primitives/grating_couplers.html b/docs/build/html/mxpic/components/primitives/grating_couplers.html
similarity index 91%
rename from mxpic/docs/build/html/mxpic/components/primitives/grating_couplers.html
rename to docs/build/html/mxpic/components/primitives/grating_couplers.html
index 05f8469..306f0b4 100644
--- a/mxpic/docs/build/html/mxpic/components/primitives/grating_couplers.html
+++ b/docs/build/html/mxpic/components/primitives/grating_couplers.html
@@ -8,7 +8,7 @@
- mxpic\components\primitives\grating_couplers — mxpic_handbook mxpic documentation
+ mxpic.components.primitives.grating_couplers — mxpic_handbook mxpic documentation
@@ -44,8 +44,8 @@
-
-
+
+
@@ -126,35 +126,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -168,7 +168,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -250,42 +250,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -355,7 +355,7 @@
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
@@ -373,7 +373,11 @@
-mxpic\components\primitives\grating_couplers
+mxpic.components.primitives.grating_couplers
+
+FA
+
+
class mxpic.components.primitives.grating_couplers. FA ( fiber_coupler , pitch , number , show_pins = False )
@@ -391,6 +395,11 @@
+
+
+GC_STD_1D
+
+
class mxpic.components.primitives.grating_couplers. 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 )
@@ -435,6 +444,11 @@
+
+
+GC_STD_2D
+
+
class mxpic.components.primitives.grating_couplers. 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 )
@@ -514,6 +528,11 @@
+
+
+Grating_2D_Hole
+
+
class mxpic.components.primitives.grating_couplers. 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 )
@@ -545,6 +564,11 @@ This is a class for 2D Grating in IMEC.
+
+
+Grating_2D_Hole_3Rec
+
+
class mxpic.components.primitives.grating_couplers. Grating_2D_Hole_3Rec ( grating_unit , mode_radius = 6.5 , cell_name = None , show_pins = False )
@@ -567,6 +591,11 @@ This is a class for 2D Grating in IMEC.
+
+
+Grating_2D_Hole_4Rec
+
+
class mxpic.components.primitives.grating_couplers. Grating_2D_Hole_4Rec ( grating_unit , mode_radius = 8 , cell_name = None , show_pins = False )
@@ -589,6 +618,11 @@ This is a class for 2D Grating in IMEC.
+
+
+Nano_ant
+
+
class mxpic.components.primitives.grating_couplers. Nano_ant ( w_wg = 0.41 , xs_wg = 'strip' , define_type = 'non-periodic' , vector = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5] , taper_length = 3 , width = 6 , max_theta = 110 , pitch = 0.6 , duty_cycle = 0.3 , teeth_number = 6 , etch_depth = ['METCH'] , show_pins = True )
@@ -635,6 +669,11 @@ This is a class for 2D Grating in IMEC.
+
+
+Taper
+
+
class mxpic.components.primitives.grating_couplers. Taper ( width1 = 4 , width2 = 0.45 , length = 30 , type = 'linear' , show_pins = False )
@@ -658,6 +697,7 @@ This is a class for 2D Grating in IMEC.
+
@@ -676,7 +716,7 @@ This is a class for 2D Grating in IMEC.
previous
-
mxpic\components\primitives\EC_dual_layer_px3
+
mxpic.components.primitives.EC_dual_layer_px3
title="next page">
next
-
mxpic\components\primitives\multimode_interferometers
+
mxpic.components.primitives.multimode_interferometers
@@ -707,39 +747,63 @@ This is a class for 2D Grating in IMEC.
-FA
-GC_STD_1D
-GC_STD_1D.generate_negative()
-GC_STD_1D.generate_positive()
-GC_STD_1D.generate_test_dev()
+FA
-GC_STD_2D
-GC_STD_2D.generate_negative()
-GC_STD_2D.generate_positive()
-GC_STD_2D.generate_test_gds()
+GC_STD_1D
+GC_STD_1D
-Grating_2D_Hole
-Grating_2D_Hole_3Rec
-Grating_2D_Hole_3Rec.generate_gds()
+GC_STD_2D
+GC_STD_2D
-Grating_2D_Hole_4Rec
-Nano_ant
-Nano_ant.generate_gds()
-Nano_ant.generate_gds_error()
-Nano_ant.generate_gds_positive()
+Grating_2D_Hole
+
+Grating_2D_Hole_3Rec
+
+Grating_2D_Hole_4Rec
+
+Nano_ant
+
+Taper
diff --git a/mxpic/docs/build/html/mxpic/components/primitives/multimode_interferometers.html b/docs/build/html/mxpic/components/primitives/multimode_interferometers.html
similarity index 93%
rename from mxpic/docs/build/html/mxpic/components/primitives/multimode_interferometers.html
rename to docs/build/html/mxpic/components/primitives/multimode_interferometers.html
index 97c5a33..7146d8a 100644
--- a/mxpic/docs/build/html/mxpic/components/primitives/multimode_interferometers.html
+++ b/docs/build/html/mxpic/components/primitives/multimode_interferometers.html
@@ -8,7 +8,7 @@
- mxpic\components\primitives\multimode_interferometers — mxpic_handbook mxpic documentation
+ mxpic.components.primitives.multimode_interferometers — mxpic_handbook mxpic documentation
@@ -44,8 +44,8 @@
-
-
+
+
@@ -126,35 +126,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -168,7 +168,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -250,42 +250,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -355,7 +355,7 @@
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -373,7 +373,11 @@
-mxpic\components\primitives\multimode_interferometers
+mxpic.components.primitives.multimode_interferometers
+
+MMI_ML
+
+
class mxpic.components.primitives.multimode_interferometers. 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 )
@@ -412,6 +416,11 @@
+
+
+MMI_STD
+
+
class mxpic.components.primitives.multimode_interferometers. 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 )
@@ -438,6 +447,7 @@
+
@@ -456,7 +466,7 @@
previous
-
mxpic\components\primitives\grating_couplers
+
mxpic.components.primitives.grating_couplers
next
-
mxpic\components\primitives\spiral
+
mxpic.components.primitives.spiral
@@ -487,12 +497,18 @@
diff --git a/mxpic/docs/build/html/mxpic/components/primitives/spiral.html b/docs/build/html/mxpic/components/primitives/spiral.html
similarity index 92%
rename from mxpic/docs/build/html/mxpic/components/primitives/spiral.html
rename to docs/build/html/mxpic/components/primitives/spiral.html
index 5da1504..c318d58 100644
--- a/mxpic/docs/build/html/mxpic/components/primitives/spiral.html
+++ b/docs/build/html/mxpic/components/primitives/spiral.html
@@ -8,7 +8,7 @@
- mxpic\components\primitives\spiral — mxpic_handbook mxpic documentation
+ mxpic.components.primitives.spiral — mxpic_handbook mxpic documentation
@@ -44,7 +44,7 @@
-
+
@@ -125,35 +125,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -167,7 +167,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -249,42 +249,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -354,7 +354,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -372,7 +372,11 @@
-mxpic\components\primitives\spiral
+mxpic.components.primitives.spiral
+
+Spiral_Cicle_MM
+
+
class mxpic.components.primitives.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 )
@@ -401,6 +405,11 @@
+
+
+Spiral_Cicle_STD
+
+
class mxpic.components.primitives.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 )
@@ -428,6 +437,11 @@
+
+
+Spiral_Rect_STD
+
+
class mxpic.components.primitives.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 )
@@ -458,9 +472,14 @@
+
+
+spiral
+
+
-class mxpic.components.primitives.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 , cell_transition = None , port_angle = 180 , Euler_bend = False , show_pins = False , sharp_patch = True )
+class mxpic.components.primitives.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 , cell_transition = None , port_angle = 180 , Euler_bend = False , show_pins = False , sharp_patch = True , sample_build = False )
Bases: object
Parametric waveguide spiral supporting circular or rectangular footprints.
@@ -498,6 +517,11 @@
+
+
+spiral_circle
+
+
class mxpic.components.primitives.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 )
@@ -545,9 +569,14 @@
+
+
+spiral_rectangle
+
+
-class mxpic.components.primitives.spiral. spiral_rectangle ( name = None , Dmin = 50 , Rmax_bend = 10 , Rmin_bend = 10 , wmin_bend = 10 , Lmin = 50 , width = 2 , w_port = 0.45 , 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 )
+class mxpic.components.primitives.spiral. spiral_rectangle ( name = None , Dmin = 50 , Rmax_bend = 10 , Rmin_bend = 10 , wmin_bend = 10 , Lmin = 50 , width = 2 , w_port = 0.45 , 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 , sample_build = False )
Bases: object
Rectangular spiral with optional cross-section transitions and alignment control.
@@ -585,6 +614,7 @@
+
@@ -603,7 +633,7 @@
previous
-
mxpic\components\primitives\multimode_interferometers
+
mxpic.components.primitives.multimode_interferometers
@@ -625,21 +655,39 @@
-Spiral_Cicle_MM
-Spiral_Cicle_STD
-Spiral_Rect_STD
-spiral
-spiral.generate_gds()
+Spiral_Cicle_MM
-spiral_circle
-spiral_circle.cell
-spiral_circle.generate_gds()
-spiral_circle.opt_euler()
+Spiral_Cicle_STD
+
+Spiral_Rect_STD
+
+spiral
+
+spiral_circle
+
+spiral_rectangle
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
new file mode 100644
index 0000000..84f8402
Binary files /dev/null and b/docs/build/html/objects.inv differ
diff --git a/mxpic/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html
similarity index 95%
rename from mxpic/docs/build/html/py-modindex.html
rename to docs/build/html/py-modindex.html
index c47cb36..b4e8ff4 100644
--- a/mxpic/docs/build/html/py-modindex.html
+++ b/docs/build/html/py-modindex.html
@@ -126,35 +126,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -168,7 +168,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -248,42 +248,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
diff --git a/mxpic/docs/build/html/search.html b/docs/build/html/search.html
similarity index 95%
rename from mxpic/docs/build/html/search.html
rename to docs/build/html/search.html
index 8308ab1..cab99b5 100644
--- a/mxpic/docs/build/html/search.html
+++ b/docs/build/html/search.html
@@ -125,35 +125,35 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
@@ -167,7 +167,7 @@
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
@@ -247,42 +247,42 @@
- mxpic\components\primitives\beam_splitters
+ mxpic.components.primitives.beam_splitters
- mxpic\components\primitives\directional_couplers
+ mxpic.components.primitives.directional_couplers
- mxpic\components\primitives\EC_dual_layer_px3
+ mxpic.components.primitives.EC_dual_layer_px3
- mxpic\components\primitives\grating_couplers
+ mxpic.components.primitives.grating_couplers
- mxpic\components\primitives\multimode_interferometers
+ mxpic.components.primitives.multimode_interferometers
- mxpic\components\primitives\spiral
+ mxpic.components.primitives.spiral
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
new file mode 100644
index 0000000..d893d11
--- /dev/null
+++ b/docs/build/html/searchindex.js
@@ -0,0 +1 @@
+Search.setIndex({"alltitles": {"ADC_STD_2x2": [[3, "adc-std-2x2"]], "BS_tdc": [[3, "bs-tdc"]], "Components:": [[0, null]], "DC": [[3, "dc"]], "DC_bend": [[3, "dc-bend"]], "DC_pX_3sg": [[3, "dc-px-3sg"]], "EC_dual_layer_px3": [[1, "ec-dual-layer-px3"]], "FA": [[4, "fa"]], "GC_STD_1D": [[4, "gc-std-1d"]], "GC_STD_2D": [[4, "gc-std-2d"]], "Grating_2D_Hole": [[4, "grating-2d-hole"]], "Grating_2D_Hole_3Rec": [[4, "grating-2d-hole-3rec"]], "Grating_2D_Hole_4Rec": [[4, "grating-2d-hole-4rec"]], "MDM": [[3, "mdm"]], "MMI_ML": [[5, "mmi-ml"]], "MMI_STD": [[5, "mmi-std"]], "Nano_ant": [[4, "nano-ant"]], "Spiral_Cicle_MM": [[6, "spiral-cicle-mm"]], "Spiral_Cicle_STD": [[6, "spiral-cicle-std"]], "Spiral_Rect_STD": [[6, "spiral-rect-std"]], "Taper": [[4, "taper"]], "Welcome to the automated documentation for the mxPIC silicon photonics library.": [[0, null]], "YBranch": [[2, "ybranch"]], "Ybranch_3wg": [[2, "ybranch-3wg"]], "mxpic.components.primitives.EC_dual_layer_px3": [[1, null]], "mxpic.components.primitives.beam_splitters": [[2, null]], "mxpic.components.primitives.directional_couplers": [[3, null]], "mxpic.components.primitives.grating_couplers": [[4, null]], "mxpic.components.primitives.multimode_interferometers": [[5, null]], "mxpic.components.primitives.spiral": [[6, null]], "ring_bus_wg": [[3, "ring-bus-wg"]], "spiral": [[6, "spiral"]], "spiral_circle": [[6, "spiral-circle"]], "spiral_rectangle": [[6, "spiral-rectangle"]]}, "docnames": ["index", "mxpic/components/primitives/EC_dual_layer_px3", "mxpic/components/primitives/beam_splitters", "mxpic/components/primitives/directional_couplers", "mxpic/components/primitives/grating_couplers", "mxpic/components/primitives/multimode_interferometers", "mxpic/components/primitives/spiral"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["index.md", "mxpic/components/primitives/EC_dual_layer_px3.md", "mxpic/components/primitives/beam_splitters.md", "mxpic/components/primitives/directional_couplers.md", "mxpic/components/primitives/grating_couplers.md", "mxpic/components/primitives/multimode_interferometers.md", "mxpic/components/primitives/spiral.md"], "indexentries": {"adc_std_2x2 (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.ADC_STD_2x2", false]], "bs_tdc (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.BS_tdc", false]], "cell (mxpic.components.primitives.spiral.spiral_circle attribute)": [[6, "mxpic.components.primitives.spiral.spiral_circle.cell", false]], "dc (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.DC", false]], "dc_bend (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.DC_bend", false]], "dc_px_3sg (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.DC_pX_3sg", false]], "ec_dual_layer_px3 (class in mxpic.components.primitives.ec_dual_layer_px3)": [[1, "mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3", false]], "fa (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.FA", false]], "gc_std_1d (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_1D", false]], "gc_std_2d (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_2D", false]], "generate_err() (mxpic.components.primitives.directional_couplers.adc_std_2x2 method)": [[3, "mxpic.components.primitives.directional_couplers.ADC_STD_2x2.generate_err", false]], "generate_gds() (mxpic.components.primitives.beam_splitters.ybranch method)": [[2, "mxpic.components.primitives.beam_splitters.YBranch.generate_gds", false]], "generate_gds() (mxpic.components.primitives.beam_splitters.ybranch_3wg method)": [[2, "mxpic.components.primitives.beam_splitters.Ybranch_3wg.generate_gds", false]], "generate_gds() (mxpic.components.primitives.directional_couplers.adc_std_2x2 method)": [[3, "mxpic.components.primitives.directional_couplers.ADC_STD_2x2.generate_gds", false]], "generate_gds() (mxpic.components.primitives.directional_couplers.dc_bend method)": [[3, "mxpic.components.primitives.directional_couplers.DC_bend.generate_gds", false]], "generate_gds() (mxpic.components.primitives.directional_couplers.dc_px_3sg method)": [[3, "mxpic.components.primitives.directional_couplers.DC_pX_3sg.generate_gds", false]], "generate_gds() (mxpic.components.primitives.directional_couplers.ring_bus_wg method)": [[3, "mxpic.components.primitives.directional_couplers.ring_bus_wg.generate_gds", false]], "generate_gds() (mxpic.components.primitives.ec_dual_layer_px3.ec_dual_layer_px3 method)": [[1, "mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.grating_2d_hole method)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.grating_2d_hole_3rec method)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.grating_2d_hole_4rec method)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.nano_ant method)": [[4, "mxpic.components.primitives.grating_couplers.Nano_ant.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.taper method)": [[4, "mxpic.components.primitives.grating_couplers.Taper.generate_gds", false]], "generate_gds() (mxpic.components.primitives.multimode_interferometers.mmi_ml method)": [[5, "mxpic.components.primitives.multimode_interferometers.MMI_ML.generate_gds", false]], "generate_gds() (mxpic.components.primitives.spiral.spiral method)": [[6, "mxpic.components.primitives.spiral.spiral.generate_gds", false]], "generate_gds() (mxpic.components.primitives.spiral.spiral_circle method)": [[6, "mxpic.components.primitives.spiral.spiral_circle.generate_gds", false]], "generate_gds() (mxpic.components.primitives.spiral.spiral_rectangle method)": [[6, "mxpic.components.primitives.spiral.spiral_rectangle.generate_gds", false]], "generate_gds_error() (mxpic.components.primitives.grating_couplers.nano_ant method)": [[4, "mxpic.components.primitives.grating_couplers.Nano_ant.generate_gds_error", false]], "generate_gds_positive() (mxpic.components.primitives.grating_couplers.nano_ant method)": [[4, "mxpic.components.primitives.grating_couplers.Nano_ant.generate_gds_positive", false]], "generate_negative() (mxpic.components.primitives.grating_couplers.gc_std_1d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_1D.generate_negative", false]], "generate_negative() (mxpic.components.primitives.grating_couplers.gc_std_2d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_2D.generate_negative", false]], "generate_positive() (mxpic.components.primitives.grating_couplers.gc_std_1d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_1D.generate_positive", false]], "generate_positive() (mxpic.components.primitives.grating_couplers.gc_std_2d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_2D.generate_positive", false]], "generate_test_dev() (mxpic.components.primitives.grating_couplers.gc_std_1d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_1D.generate_test_dev", false]], "generate_test_gds() (mxpic.components.primitives.beam_splitters.ybranch_3wg method)": [[2, "mxpic.components.primitives.beam_splitters.Ybranch_3wg.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.adc_std_2x2 method)": [[3, "mxpic.components.primitives.directional_couplers.ADC_STD_2x2.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.dc method)": [[3, "mxpic.components.primitives.directional_couplers.DC.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.dc_bend method)": [[3, "mxpic.components.primitives.directional_couplers.DC_bend.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.dc_px_3sg method)": [[3, "mxpic.components.primitives.directional_couplers.DC_pX_3sg.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.mdm method)": [[3, "mxpic.components.primitives.directional_couplers.MDM.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.grating_couplers.gc_std_2d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_2D.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.multimode_interferometers.mmi_ml method)": [[5, "mxpic.components.primitives.multimode_interferometers.MMI_ML.generate_test_gds", false]], "grating_2d_hole (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole", false]], "grating_2d_hole_3rec (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec", false]], "grating_2d_hole_4rec (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec", false]], "mdm (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.MDM", false]], "mmi_ml (class in mxpic.components.primitives.multimode_interferometers)": [[5, "mxpic.components.primitives.multimode_interferometers.MMI_ML", false]], "mmi_std (class in mxpic.components.primitives.multimode_interferometers)": [[5, "mxpic.components.primitives.multimode_interferometers.MMI_STD", false]], "module": [[1, "module-mxpic.components.primitives.EC_dual_layer_px3", false], [2, "module-mxpic.components.primitives.beam_splitters", false], [3, "module-mxpic.components.primitives.directional_couplers", false], [4, "module-mxpic.components.primitives.grating_couplers", false], [5, "module-mxpic.components.primitives.multimode_interferometers", false], [6, "module-mxpic.components.primitives.spiral", false]], "mxpic.components.primitives.beam_splitters": [[2, "module-mxpic.components.primitives.beam_splitters", false]], "mxpic.components.primitives.directional_couplers": [[3, "module-mxpic.components.primitives.directional_couplers", false]], "mxpic.components.primitives.ec_dual_layer_px3": [[1, "module-mxpic.components.primitives.EC_dual_layer_px3", false]], "mxpic.components.primitives.grating_couplers": [[4, "module-mxpic.components.primitives.grating_couplers", false]], "mxpic.components.primitives.multimode_interferometers": [[5, "module-mxpic.components.primitives.multimode_interferometers", false]], "mxpic.components.primitives.spiral": [[6, "module-mxpic.components.primitives.spiral", false]], "nano_ant (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Nano_ant", false]], "opt_euler() (mxpic.components.primitives.spiral.spiral_circle method)": [[6, "mxpic.components.primitives.spiral.spiral_circle.opt_euler", false]], "ring_bus_wg (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.ring_bus_wg", false]], "spiral (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.spiral", false]], "spiral_cicle_mm (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.Spiral_Cicle_MM", false]], "spiral_cicle_std (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.Spiral_Cicle_STD", false]], "spiral_circle (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.spiral_circle", false]], "spiral_rect_std (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.Spiral_Rect_STD", false]], "spiral_rectangle (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.spiral_rectangle", false]], "taper (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Taper", false]], "ybranch (class in mxpic.components.primitives.beam_splitters)": [[2, "mxpic.components.primitives.beam_splitters.YBranch", false]], "ybranch_3wg (class in mxpic.components.primitives.beam_splitters)": [[2, "mxpic.components.primitives.beam_splitters.Ybranch_3wg", false]]}, "objects": {"mxpic.components.primitives": [[1, 0, 0, "-", "EC_dual_layer_px3"], [2, 0, 0, "-", "beam_splitters"], [3, 0, 0, "-", "directional_couplers"], [4, 0, 0, "-", "grating_couplers"], [5, 0, 0, "-", "multimode_interferometers"], [6, 0, 0, "-", "spiral"]], "mxpic.components.primitives.EC_dual_layer_px3": [[1, 1, 1, "", "EC_dual_layer_px3"]], "mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3": [[1, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.beam_splitters": [[2, 1, 1, "", "YBranch"], [2, 1, 1, "", "Ybranch_3wg"]], "mxpic.components.primitives.beam_splitters.YBranch": [[2, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.beam_splitters.Ybranch_3wg": [[2, 2, 1, "", "generate_gds"], [2, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers": [[3, 1, 1, "", "ADC_STD_2x2"], [3, 1, 1, "", "BS_tdc"], [3, 1, 1, "", "DC"], [3, 1, 1, "", "DC_bend"], [3, 1, 1, "", "DC_pX_3sg"], [3, 1, 1, "", "MDM"], [3, 1, 1, "", "ring_bus_wg"]], "mxpic.components.primitives.directional_couplers.ADC_STD_2x2": [[3, 2, 1, "", "generate_err"], [3, 2, 1, "", "generate_gds"], [3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.DC": [[3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.DC_bend": [[3, 2, 1, "", "generate_gds"], [3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.DC_pX_3sg": [[3, 2, 1, "", "generate_gds"], [3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.MDM": [[3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.ring_bus_wg": [[3, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.grating_couplers": [[4, 1, 1, "", "FA"], [4, 1, 1, "", "GC_STD_1D"], [4, 1, 1, "", "GC_STD_2D"], [4, 1, 1, "", "Grating_2D_Hole"], [4, 1, 1, "", "Grating_2D_Hole_3Rec"], [4, 1, 1, "", "Grating_2D_Hole_4Rec"], [4, 1, 1, "", "Nano_ant"], [4, 1, 1, "", "Taper"]], "mxpic.components.primitives.grating_couplers.GC_STD_1D": [[4, 2, 1, "", "generate_negative"], [4, 2, 1, "", "generate_positive"], [4, 2, 1, "", "generate_test_dev"]], "mxpic.components.primitives.grating_couplers.GC_STD_2D": [[4, 2, 1, "", "generate_negative"], [4, 2, 1, "", "generate_positive"], [4, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.grating_couplers.Grating_2D_Hole": [[4, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec": [[4, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec": [[4, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.grating_couplers.Nano_ant": [[4, 2, 1, "", "generate_gds"], [4, 2, 1, "", "generate_gds_error"], [4, 2, 1, "", "generate_gds_positive"]], "mxpic.components.primitives.grating_couplers.Taper": [[4, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.multimode_interferometers": [[5, 1, 1, "", "MMI_ML"], [5, 1, 1, "", "MMI_STD"]], "mxpic.components.primitives.multimode_interferometers.MMI_ML": [[5, 2, 1, "", "generate_gds"], [5, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.spiral": [[6, 1, 1, "", "Spiral_Cicle_MM"], [6, 1, 1, "", "Spiral_Cicle_STD"], [6, 1, 1, "", "Spiral_Rect_STD"], [6, 1, 1, "", "spiral"], [6, 1, 1, "", "spiral_circle"], [6, 1, 1, "", "spiral_rectangle"]], "mxpic.components.primitives.spiral.spiral": [[6, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.spiral.spiral_circle": [[6, 3, 1, "", "cell"], [6, 2, 1, "", "generate_gds"], [6, 2, 1, "", "opt_euler"]], "mxpic.components.primitives.spiral.spiral_rectangle": [[6, 2, 1, "", "generate_gds"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute"}, "terms": {"": 6, "0": [1, 2, 3, 4, 5, 6], "01": 5, "02": 3, "05": [0, 6], "1": [1, 2, 3, 4, 5, 6], "10": [2, 3, 4, 5, 6], "100": [1, 3], "110": 4, "12": 1, "15": [1, 2, 3], "16": 0, "18": 2, "180": 6, "1d": 4, "2": [1, 2, 3, 4, 5, 6], "20": [2, 3, 4, 6], "200": 1, "2022": 3, "2026": 0, "22": 3, "25": 4, "2d": 4, "3": [0, 2, 4, 5], "30": [3, 4], "300": [3, 4], "33": 3, "35": [3, 5], "3db": 2, "4": [2, 4], "40": 3, "400": [1, 2, 3], "41": 4, "45": [1, 2, 3, 4, 5, 6], "5": [3, 4, 5, 6], "50": [1, 4, 5, 6], "55": 3, "57": [0, 4], "6": [1, 2, 4], "61": 3, "64": 3, "8": [1, 2, 3, 4], "80": [2, 3], "88": 3, "A": 3, "If": [5, 6], "a0": 4, "a_anti": 3, "a_att": 2, "a_tap": 4, "acut": [3, 5], "ad": 4, "adapt": [0, 6], "adc_std_2x2": 0, "add": [2, 5, 6], "adiabat": [1, 3], "adjac": [2, 4, 5, 6], "after": [2, 3, 4, 6], "air": 1, "air_trench": 1, "align": 6, "all": [2, 3, 4, 5], "alon": 4, "along": [2, 4, 6], "altern": 4, "analysi": 4, "angl": [1, 2, 3, 4, 6], "angle_til": 1, "antenna": 4, "anti": [3, 4], "apertur": 4, "append": [2, 4, 6], "appli": [3, 4, 6], "ar": [3, 4], "arc": [2, 3, 4, 6], "area": 4, "arm": [2, 3, 5], "arm_sine_width": 5, "arrai": 4, "assembl": 4, "associ": 1, "asymmetr": 3, "attach": [2, 6], "auto": 3, "avoid": 3, "axi": [2, 6], "back": 1, "balanc": 3, "base": [1, 2, 3, 4, 5, 6], "bdc": 3, "beam_splitt": 0, "befor": [3, 4, 6], "bend": [1, 2, 3, 6], "bend_dc": 3, "bent": 2, "beol": 1, "between": [1, 2, 3, 4, 5, 6], "bodi": [2, 5, 6], "bool": [2, 3, 4, 5, 6], "boolean": 6, "both": [2, 3, 5], "box": 1, "branch": 2, "broadband": [2, 3], "broadcast": 4, "bs_tdc": 0, "bu": 3, "built": [3, 4, 6], "calcul": 3, "can": [0, 4], "cell": [1, 2, 3, 4, 5, 6], "cell_nam": 4, "cell_transit": 6, "cell_xs_transit": 6, "cellnam": 3, "center": [2, 4, 6], "central": [1, 5, 6], "chamfer": [2, 3, 5, 6], "channel": 4, "chip": 1, "circl": [3, 4, 6], "circular": [3, 4, 6], "circumscrib": 4, "clad": 1, "class": [1, 2, 3, 4, 5, 6], "clear": 1, "clothoid": [3, 6], "clothoid_ord": 3, "column": 4, "complet": 0, "conchoid": 6, "configur": 4, "connect": 6, "constant": 6, "constraint": 6, "contain": 0, "contrast": 1, "control": [2, 6], "conveni": [5, 6], "convert": [1, 6], "core": [1, 3], "corner": [3, 5, 6], "correspond": 5, "cosin": 5, "coupl": [1, 2, 3], "coupler": [1, 2, 3, 4], "creat": [0, 4], "cross": [1, 2, 3, 4, 5, 6], "cubic": 2, "curvatur": 1, "custom": 4, "cycl": 6, "d_hole": 4, "da_tran": 3, "dac": 3, "dc": 0, "dc_bend": 0, "dc_px_3sg": 0, "debug": [3, 4, 5], "deep": 1, "default": [1, 2, 3, 4, 5, 6], "defin": 4, "define_typ": 4, "definit": 4, "deflect": [2, 3, 6], "degre": [1, 2, 3, 4, 6], "depth": 4, "deriv": [3, 6], "determin": 4, "devic": [1, 3, 5], "diamet": [4, 6], "diffract": 4, "dimens": 1, "direct": [0, 3], "directional_coupl": 0, "disabl": 3, "discret": [2, 3], "divis": 3, "dl_p2p": 3, "dl_tran": 3, "dlc": 3, "dmin": 6, "do": 4, "dp_in": 5, "dp_out": 5, "draw": [2, 3, 4, 5, 6], "dual": [1, 4], "dummi": 1, "duti": 4, "duty_cycl": 4, "dw": 3, "dx_gc2gc": [2, 3, 4, 5], "dx_hole": 4, "dy_gc2gc": [2, 3, 5], "dy_hol": 4, "e": 1, "each": [2, 5, 6], "eas": 6, "ec_dual_layer_px3": 0, "edg": [1, 4], "either": 4, "enabl": 3, "end": [3, 4], "end_patch": 3, "enforc": 6, "entir": 6, "entranc": [2, 4], "entri": 4, "equal": 5, "err": 3, "err_asi": 2, "eta_etch": 4, "etch": 4, "etch_depth": 4, "etch_typ": 4, "euler": [3, 6], "euler_anti_bend": 3, "euler_bend": 6, "euler_point": 3, "euler_sbend": 6, "euler_transist": 3, "evalu": 3, "everi": 6, "exactli": 6, "except": 4, "exclus": 1, "exit": 2, "expect": 6, "export": 4, "expos": 4, "extens": [1, 6], "extern": [2, 3], "extra": 4, "fa": 0, "fabric": 3, "facet": 1, "fals": [1, 2, 3, 4, 5, 6], "fan": 4, "fanout": 4, "fcw_tre": 4, "feed": 4, "fetch": 4, "fiber": [1, 4], "fiber_coupl": 4, "field": 4, "file": 0, "fill": 4, "filler": 3, "final": [1, 3, 6], "first": [1, 3, 6], "float": [1, 2, 3, 4, 5, 6], "follow": 5, "footprint": [4, 6], "forc": 3, "form": [2, 6], "four": 4, "fraction": 4, "from": [3, 4, 6], "futur": [3, 4], "g": 1, "g0": 3, "g1": [3, 4], "gaolei": 3, "gap": [2, 3, 6], "gap0": 3, "gap1": 3, "gc": [2, 3, 5], "gc_std_1d": 0, "gc_std_2d": 0, "gd": [1, 3, 4], "gener": [3, 4, 5], "generate_err": 3, "generate_gd": [1, 2, 3, 4, 5, 6], "generate_gds_error": 4, "generate_gds_posit": 4, "generate_neg": 4, "generate_posit": 4, "generate_test_dev": 4, "generate_test_gd": [2, 3, 4, 5], "geometri": [3, 4], "getch_tr": 4, "go": 4, "grate": 4, "grating_2d_hol": 0, "grating_2d_hole_3rec": 0, "grating_2d_hole_4rec": 0, "grating_coupl": 0, "grating_unit": 4, "gt_diamet": 4, "gt_layer": 4, "gt_vector": 4, "guid": 3, "half": [3, 6], "helper": [2, 5, 6], "high": 1, "hole": 4, "hole_shap": 4, "horizont": [3, 4], "hu": 3, "i": [1, 2, 3, 4, 5, 6], "ident": 4, "identifi": [1, 3, 4], "imec": 4, "implement": 6, "in_out_align": 6, "index": 1, "individu": 4, "inherit": 6, "initi": [1, 2, 3], "inner": 6, "innermost": 6, "input": [1, 3, 4, 5, 6], "insert": [2, 3, 5, 6], "insid": [2, 3, 6], "instanc": 4, "instanti": [3, 4], "instead": [5, 6], "int": [3, 4, 5], "interact": 3, "interfer": 5, "intern": 6, "interpol": 5, "io": [2, 3, 4, 6], "keep": [2, 3, 4, 5], "kei": [2, 3, 4, 5, 6], "l": 2, "l_ar": 4, "l_arm": 5, "l_attach": 2, "l_box_end": 1, "l_cp": 3, "l_end": [1, 4], "l_field_cent": 4, "l_in": 1, "l_in_tp": 2, "l_mmi": 5, "l_tail": 4, "l_taper": 4, "laid": 6, "later": 4, "layer": [1, 4, 5, 6], "layer_dt": 1, "layer_dum_exl_b": 1, "layer_sin_slab": 1, "layer_top_cov": 1, "layout": 4, "lb0": 3, "lc1": 3, "lc2": 3, "lcp": 2, "ld": 3, "least": 0, "len": 5, "length": [1, 2, 3, 4, 5, 6], "like": 0, "linear": [4, 5], "link": 2, "list": 4, "lmin": 6, "logic": 4, "longitudin": [2, 5], "loop": 6, "lower": 3, "lp1": 3, "lpatch": 6, "lport": 6, "lt": 3, "lt_bu": 3, "lt_cp": 3, "ltp": 6, "ltp1": 1, "ltp2": 1, "ltp3": 1, "ltp_port": 6, "lu": 3, "lx_end": 4, "lx_port": 4, "lx_side": 4, "lx_taper": 4, "ly_end": 4, "ly_port": 4, "ly_sid": 4, "ly_tap": 4, "mai": 0, "main": 4, "manag": 1, "manual": 6, "margin": 4, "marker": [2, 3, 4, 5, 6], "master": 0, "match": [4, 6], "max_theta": 4, "maximum": [3, 4, 6], "mdm": 0, "mean": [3, 4], "measur": 6, "metch": 4, "micron": [1, 2, 3, 4, 5, 6], "midpoint": 1, "minimum": [3, 6], "mirror": 3, "mitig": 3, "mmi": 5, "mmi_ml": 0, "mmi_sine_width": 5, "mmi_std": 0, "mode": [3, 4], "mode_radiu": 4, "mono": 5, "multi": 5, "multimod": 5, "multimode_interferomet": 0, "multiplex": 3, "must": [2, 5], "mxpic_handbook": 0, "n_in": 5, "n_out": 5, "name": [1, 2, 3, 4, 5, 6], "nano": 4, "nano_": 0, "nanoantenna": 4, "nazca": [2, 3, 4, 5, 6], "nd": [4, 6], "nitrid": 1, "nomin": [3, 6], "non": 4, "none": [1, 2, 3, 4, 5, 6], "num": 4, "num_i": 4, "num_x": 4, "number": [3, 4, 5, 6], "object": [1, 2, 3, 4, 5, 6], "offset": [3, 4], "op": 6, "open": [1, 4], "opt_eul": 6, "optic": [1, 4], "optim": 6, "option": [1, 2, 3, 4, 5, 6], "order": 3, "out": [4, 6], "outer": 2, "outermost": 6, "output": [2, 3, 4, 5, 6], "overal": 4, "overrid": 6, "oxid": 1, "oxide_facet": 1, "p_ar": 4, "pad": 1, "pad_opt": 1, "pair": 6, "parabol": 4, "paramet": [1, 2, 3, 4, 5, 6], "parametr": 6, "part": 2, "path": 6, "per": [2, 4], "perform": 6, "period": 4, "phase": [3, 4], "photoresist": 4, "physic": 4, "pin": 4, "pitch": [2, 4, 5], "planar": 4, "plane": 3, "point": [2, 3], "polygon": [2, 3, 5, 6], "polysi_diamet": 4, "polysi_lay": 4, "polysi_vector": 4, "polysilicon": 4, "port": [2, 3, 4, 5, 6], "port_angl": 6, "port_symmetr": 3, "posit": 4, "power": 3, "pre": [4, 6], "preced": 4, "preset": 6, "primit": 0, "profil": 4, "provid": 4, "purpos": [3, 4], "px": [3, 4], "px_type": 3, "py": 4, "quickstart": 0, "r": 6, "r0": [2, 3, 6], "r_att": 2, "r_bend": [1, 5, 6], "r_cp": 3, "r_in": 3, "r_max_anti": 3, "r_max_tran": 3, "r_min_anti": 3, "r_ratio_mamnu": 6, "radian": 6, "radiu": [1, 2, 3, 4, 6], "rais": 4, "ratio": 6, "rbend": 2, "rc_ratio": 6, "rd0": 3, "rd1": 3, "re": [2, 3, 5, 6], "reach": 6, "rectangl": 4, "rectangular": [4, 6], "reduc": [1, 3], "refer": 4, "reflect": [1, 4], "reflector": 4, "reflector_vector": 4, "region": [2, 4, 5], "regist": 3, "repeat": 4, "reserv": 3, "resolut": [5, 6], "respect": 1, "result": 4, "rib": 6, "rib2strip": 6, "ring": 3, "ring_bus_wg": 0, "rm_ratio": 6, "rmax": 3, "rmax_bend": 6, "rmin": 3, "rmin_bend": 6, "rmin_bend_cent": 6, "rmin_eul": 6, "root": 0, "rout": [1, 3], "row": 4, "ru0": 3, "ru1": 3, "same": 6, "sampl": [2, 3, 5, 6], "sample_build": [1, 6], "sample_step": 4, "sbend": 3, "sbend_typ": 3, "scaffold": 3, "scalar": 4, "scheme": 4, "second": [1, 3], "secondari": 1, "section": [1, 2, 3, 4, 5, 6], "sector": 4, "sector_gc": 4, "segment": [2, 3, 4, 5, 6], "selector": 4, "separ": 6, "sequenc": [2, 4, 5], "set": [3, 6], "setch": 4, "shape": [2, 4, 6], "share": 6, "sharp": 3, "sharp_patch": [2, 3, 5, 6], "shifter": 3, "should": 0, "show_pin": [2, 3, 4, 5, 6], "side": 4, "simul": 4, "sin": 1, "sin_rib_wg": 1, "singl": [3, 4, 5, 6], "single_end": 3, "size": [1, 4], "slab": [1, 4], "small": [3, 6], "soi": 1, "sourc": 4, "space": [2, 3, 4, 6], "sphinx": 0, "spiral": [0, 3], "spiral_cicle_mm": 0, "spiral_cicle_std": 0, "spiral_circl": 0, "spiral_rect_std": 0, "spiral_rectangl": 0, "spline": 2, "split": 3, "splitter": 3, "spot": 1, "squar": 4, "stand": 4, "standard": [3, 5], "step": [3, 6], "str": [1, 2, 3, 4, 5, 6], "straight": [2, 3, 4, 6], "strict_condit": 6, "strip": [2, 3, 4, 5, 6], "strip_cor": 4, "structur": [4, 6], "stub": [2, 3, 4, 5, 6], "style": 6, "success": 6, "suffix": 4, "sun": 0, "suppli": 4, "support": [4, 6], "symmetr": [2, 3], "symmetri": 4, "symmetric_bu": 3, "taper": [0, 1, 2, 3, 5, 6], "taper_length": 4, "target": [3, 4], "teeth": 4, "teeth_numb": 4, "termin": [3, 4], "tessel": 6, "theta_arc": 3, "theta_ext": 3, "thi": [0, 1, 3, 4], "third": 1, "three": [3, 4], "throughout": 6, "tilt": [1, 6], "tip": [1, 3], "toctre": 0, "toler": 3, "tooth": 4, "top": 1, "topologi": 3, "total": [2, 4], "tp_angl": 3, "transit": [1, 3, 4, 5, 6], "trench": 1, "triangular": 4, "true": [2, 3, 4, 5, 6], "tunabl": 3, "tupl": 6, "turn": 6, "two": [2, 3], "twod_grat": 4, "type": [3, 4], "type_tap": 4, "uniform": 5, "uninstanti": [2, 4, 5], "uniqu": [1, 3], "unit": 4, "upper": 3, "us": [2, 3, 4, 5, 6], "valu": 4, "vector": 4, "versatil": 4, "vertic": [2, 3, 4, 5, 6], "w": 2, "w0": [2, 3], "w1": [2, 3], "w1_slab": 1, "w_arm": 5, "w_bend_cent": 6, "w_bend_port": 6, "w_box": 1, "w_box_end": 1, "w_bu": 3, "w_cp": 3, "w_dt": 1, "w_gt": 4, "w_in": [1, 3], "w_mid_slab": 1, "w_mmi": 5, "w_out": 3, "w_port": [2, 5, 6], "w_tip_cor": 1, "w_tip_slab": 1, "w_tran": 3, "w_wg": [2, 3, 4, 5], "wa0": 3, "wa1": 3, "waveguid": [1, 2, 3, 4, 5, 6], "wb0": 3, "wb1": 3, "wb_in": 3, "wb_out": 3, "wd0": 3, "wd1": 3, "wd_in": 3, "wd_out": 3, "wg_ltp": 3, "when": [2, 3, 4, 5, 6], "whether": 3, "width": [1, 2, 3, 4, 5, 6], "width1": 4, "width2": 4, "within": [5, 6], "wmin_bend": 6, "wrapper": [3, 5], "written": 3, "wu0": 3, "wu1": 3, "wu_in": 3, "wu_out": 3, "x": [2, 3, 4, 5, 6], "xout_offset": 5, "xs_open": 4, "xs_sin": 1, "xs_trench": 1, "xs_wg": [3, 4], "y": [2, 4], "ybranch": 0, "ybranch_3wg": 0, "you": 0, "your": 0, "\u00b5m": [2, 4, 5, 6], "\u03c0": 6}, "titles": ["Welcome to the automated documentation for the mxPIC silicon photonics library.", "mxpic.components.primitives.EC_dual_layer_px3", "mxpic.components.primitives.beam_splitters", "mxpic.components.primitives.directional_couplers", "mxpic.components.primitives.grating_couplers", "mxpic.components.primitives.multimode_interferometers", "mxpic.components.primitives.spiral"], "titleterms": {"adc_std_2x2": 3, "autom": 0, "beam_splitt": 2, "bs_tdc": 3, "compon": [0, 1, 2, 3, 4, 5, 6], "dc": 3, "dc_bend": 3, "dc_px_3sg": 3, "directional_coupl": 3, "document": 0, "ec_dual_layer_px3": 1, "fa": 4, "gc_std_1d": 4, "gc_std_2d": 4, "grating_2d_hol": 4, "grating_2d_hole_3rec": 4, "grating_2d_hole_4rec": 4, "grating_coupl": 4, "librari": 0, "mdm": 3, "mmi_ml": 5, "mmi_std": 5, "multimode_interferomet": 5, "mxpic": [0, 1, 2, 3, 4, 5, 6], "nano_": 4, "photon": 0, "primit": [1, 2, 3, 4, 5, 6], "ring_bus_wg": 3, "silicon": 0, "spiral": 6, "spiral_cicle_mm": 6, "spiral_cicle_std": 6, "spiral_circl": 6, "spiral_rect_std": 6, "spiral_rectangl": 6, "taper": 4, "welcom": 0, "ybranch": 2, "ybranch_3wg": 2}})
\ No newline at end of file
diff --git a/docs/build_images.py b/docs/build_images.py
new file mode 100644
index 0000000..7438f0d
--- /dev/null
+++ b/docs/build_images.py
@@ -0,0 +1,110 @@
+import os
+import sys
+import importlib
+import inspect
+from pathlib import Path
+import matplotlib
+matplotlib.use('Agg')
+import matplotlib.pyplot as plt
+
+import nazca as nd
+import mxpic as mx
+
+# 2. Define your mxPIC Color Palette
+# You can map by your custom layer names (if defined) or raw GDS (layer, datatype) tuples.
+# Matplotlib accepts standard color names ('blue', 'cyan') or hex codes ('#FFD700').
+PALETTE = {
+ "WG": "blue", # Example: Core waveguide layer
+ "SLAB": "cyan", # Example: Shallow etch / Slab
+ "M1": "#FFD700", # Example: Metal 1 (Gold)
+ "M2": "silver", # Example: Metal 2
+ "DEEP_TRENCH": "black", # Example: Trenching
+ (1, 0): "darkred", # Fallback: You can use raw GDS tuples directly
+ (2, 0): "green",
+ (1111, 0): "green",
+ (63, 30): "#FFD700",
+}
+
+def apply_mxpic_colors():
+ """Applies the custom color palette to Nazca's active layer map."""
+ print("🎨 Applying mxPIC layer colors...")
+ for layer_id, color in PALETTE.items():
+ try:
+ # Nazca's built-in command to register plot colors
+ nd.set_layercolor(layer=layer_id, color=color)
+ except Exception:
+ # If a specific layer name doesn't exist in the registry yet, it safely skips
+ pass
+
+def generate_component_images(img_root="images/components"):
+ print("📸 Starting mxPIC Component Image Generation...")
+
+ # Define our source and target directories
+ src_root = Path("mxpic/components")
+ img_root = Path(img_root)
+
+ if not src_root.exists():
+ print(f"❌ Error: Source directory '{src_root}' not found.")
+ sys.exit(1)
+
+ # Walk through all Python files in the components folder
+ success_count = 0
+ fail_count = 0
+
+ tapeout = mx.foundries.Silterra.EOM1_2ML_CU()
+
+ for py_file in src_root.rglob("*.py"):
+ if py_file.name == "__init__.py":
+ continue
+
+ # Convert the file path to a Python module path (e.g., mxpic.components.mzm)
+ rel_path = py_file.relative_to(src_root)
+ module_name = "mxpic.components." + str(rel_path.with_suffix("")).replace(os.sep, ".")
+
+ try:
+ # Dynamically import the module
+ module = importlib.import_module(module_name)
+ except Exception as e:
+ print(f"⚠️ Could not import {module_name}: {e}")
+ fail_count += 1
+ continue
+
+
+ # Scan the module for all defined classes
+ for name, obj in inspect.getmembers(module, inspect.isclass):
+ # Only process classes actually defined IN this file (ignore imported classes)
+ if obj.__module__ == module_name:
+
+ # Determine where to save the image
+ target_dir = img_root / rel_path.parent
+ target_dir.mkdir(parents=True, exist_ok=True)
+
+ # img_path = target_dir / f"{name}.png"
+
+ try:
+ # 1. Clear the Nazca canvas so components don't overlap!
+ nd.clear_layout()
+
+ # 2. Instantiate the class (assuming zero arguments)
+ instance = obj()
+
+ # 4. Export the image using Nazca
+ nd.export_plt(path="",title=f"{name}",topcells=[instance.cell])
+ # 3. Explicitly save to disk with tight borders
+ plt.savefig(str(target_dir)+f"\\{name}.png", bbox_inches='tight', dpi=300)
+
+ # 4. CRITICAL: Clear the figure from RAM so the next loop is clean
+ plt.close()
+
+ print(f"✅ Generated: {str(target_dir)}\\{name}.png")
+ success_count += 1
+
+ except Exception as e:
+ print(f"❌ Failed to generate image for {name} in {module_name}: {e}")
+ fail_count += 1
+
+ print("\n✨ Image generation complete!")
+ print(f"📊 Success: {success_count} | Failures: {fail_count}")
+
+if __name__ == "__main__":
+ generate_component_images(img_root="docs/source/mxpic/components/")
\ No newline at end of file
diff --git a/docs/generate_handbook.py b/docs/generate_handbook.py
new file mode 100644
index 0000000..874c987
--- /dev/null
+++ b/docs/generate_handbook.py
@@ -0,0 +1,166 @@
+# import os
+# import shutil
+# from pathlib import Path
+
+# basic_md_info = "\
+# .. mxpic_handbook documentation master file, created by\n\
+# sphinx-quickstart on Sun May 3 16:05:57 2026.\n\
+# You can adapt this file completely to your liking, but it should at least\n\
+# contain the root `toctree` directive.\n\n\
+# # Welcome to the automated documentation for the mxPIC silicon photonics library.\n\
+# ```{toctree}\n\
+# :maxdepth: 2\n\
+# :caption: Components:\n\n\
+# "
+
+# def generate_myst_docs(src_dir: str, docs_api_dir: str) -> None:
+# """
+# Scans a Python package and generates MyST Markdown files for Sphinx autodoc.
+# """
+# src_path = Path(src_dir).resolve()
+# api_path = Path(docs_api_dir).resolve()
+
+# # Clean the old api directory to prevent dead links from deleted files
+# if api_path.exists():
+# # shutil.rmtree(api_path)
+# pass
+# else :
+# api_path.mkdir(parents=True, exist_ok=True)
+
+# package_name = src_path.name
+# generated_files = []
+
+# print(f"Scanning {package_name} for Python modules...")
+
+# index_info = basic_md_info
+# # Recursively find all .py files
+# for py_file in src_path.rglob("*.py"):
+# # Skip init files and private/internal scripts if desired
+# if py_file.name == "__init__.py" or py_file.name.startswith("_"):
+# continue
+
+# # Convert file path to Python module format (e.g., mxpic.primitives.mzm)
+# rel_path = py_file.relative_to(src_path.parent.parent)
+# class_name = str(rel_path.with_suffix("")).replace(os.sep, ".")
+# module_name = str(rel_path.with_suffix("")).replace(os.sep, "\\")
+# index_md_name = str(rel_path.with_suffix("")).replace(os.sep, "/")
+
+# # Create the markdown file
+# md_filename = api_path / f"{module_name}.md"
+
+# # MyST Markdown format using Sphinx autodoc directives
+# content = f"# {module_name}\n \
+# ```{{eval-rst}}\n \
+# .. automodule:: {class_name}\n\
+# :members:\n\
+# :undoc-members:\n\
+# :show-inheritance:\n\
+# ```\n\
+# "
+# ## Building .md file for each .py file
+# try :
+# try : os.makedirs(name=str(md_filename.parent.resolve()))
+# except : pass
+
+# with open(file=str(md_filename.resolve()),mode="w") as md_file:
+# md_file.write(content)
+# print(f"Generated: {docs_api_dir}{module_name}.md")
+# except Exception as e:
+# print(e)
+
+# ## Writing information into the index.md file
+# index_info = index_info + f"{index_md_name}\n"
+
+# with open(file=docs_api_dir+"index.md",mode="w") as md_file:
+# md_file.write(index_info)
+
+# if __name__ == "__main__":
+# generate_myst_docs(src_dir="mxpic\\components\\",docs_api_dir="mxpic\\docs\\source\\")
+
+
+import os
+import sys
+import importlib
+import inspect
+from pathlib import Path
+
+def generate_markdown_handbook():
+ print("📝 Starting mxPIC Markdown Generation...")
+
+ # Define paths
+ src_root = Path("mxpic/components")
+ # This should point to where your Sphinx .md files are stored
+ docs_root = Path("docs/source/mxpic/components")
+
+ # We use absolute Sphinx paths for images (starts with / meaning docs/source root)
+ sphinx_image_root = "source/images/components"
+
+ success_count = 0
+
+ for py_file in src_root.rglob("*.py"):
+ if py_file.name == "__init__.py":
+ continue
+
+ # Convert path to module name (e.g., mxpic.components.primitives.beam_splitters)
+ rel_path = py_file.relative_to(src_root)
+ module_name = "mxpic.components." + str(rel_path.with_suffix("")).replace(os.sep, ".")
+
+ try:
+ module = importlib.import_module(module_name)
+ except Exception as e:
+ print(f"⚠️ Could not import {module_name}: {e}")
+ continue
+
+ # Find all classes defined inside this specific module
+ classes = []
+ for name, obj in inspect.getmembers(module, inspect.isclass):
+ if obj.__module__ == module_name:
+ classes.append(name)
+
+ # If the file has no classes, skip it
+ if not classes:
+ continue
+
+ # Define where to save the .md file
+ md_file_path = docs_root / rel_path.with_suffix(".md")
+ md_file_path.parent.mkdir(parents=True, exist_ok=True)
+
+ # --- WRITE THE MARKDOWN FILE ---
+ with open(md_file_path, "w", encoding="utf-8") as f:
+ # 1. Write the Module Header
+ f.write(f"# {module_name}\n\n")
+
+ # 2. Document any module-level docstrings (skipping classes)
+ f.write("```{eval-rst}\n")
+ f.write(f".. automodule:: {module_name}\n")
+ f.write(" :no-members:\n") # This prevents duplicating the classes!
+ f.write("```\n\n")
+
+ # 3. Loop through and write each class with its image
+ for class_name in classes:
+ f.write(f"## {class_name}\n\n")
+
+ # Point to the image path in Sphinx
+ # img_path = f"{sphinx_image_root}/{rel_path.parent.as_posix()}/{class_name}.png"
+ img_path = f"{class_name}.png"
+
+ f.write("```{eval-rst}\n")
+ # Insert the Sphinx image directive
+ f.write(f".. image:: {img_path}\n")
+ f.write(" :align: center\n")
+ f.write(" :width: 600px\n\n")
+
+ # Insert the specific class documentation
+ f.write(f".. autoclass:: {module_name}.{class_name}\n")
+ f.write(" :members:\n")
+ f.write(" :undoc-members:\n")
+ f.write(" :show-inheritance:\n")
+ f.write("```\n\n")
+
+ print(f"✅ Generated docs for: {module_name}")
+ success_count += 1
+
+ print(f"\n✨ Markdown generation complete! Updated {success_count} files.")
+
+if __name__ == "__main__":
+ generate_markdown_handbook()
\ No newline at end of file
diff --git a/mxpic/docs/make.bat b/docs/make.bat
similarity index 100%
rename from mxpic/docs/make.bat
rename to docs/make.bat
diff --git a/mxpic/docs/source/_static/images/ec_px3_layout.png b/docs/source/_static/images/ec_px3_layout.png
similarity index 100%
rename from mxpic/docs/source/_static/images/ec_px3_layout.png
rename to docs/source/_static/images/ec_px3_layout.png
diff --git a/mxpic/docs/source/conf.py b/docs/source/conf.py
similarity index 94%
rename from mxpic/docs/source/conf.py
rename to docs/source/conf.py
index b20dce4..3536814 100644
--- a/mxpic/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -18,7 +18,7 @@ import os
import sys
sys.path.insert(0, os.path.abspath('..\\')) # Points to your mxpic code
sys.path.insert(0, os.path.abspath('..\\..\\')) # Points to your mxpic code
-sys.path.insert(0, os.path.abspath('..\\..\\..\\')) # Points to your mxpic code
+# sys.path.insert(0, os.path.abspath('..\\..\\..\\')) # Points to your mxpic code
extensions = [
'sphinx.ext.autodoc', # Automatically pull docstrings
diff --git a/mxpic/docs/source/index.md b/docs/source/index.md
similarity index 100%
rename from mxpic/docs/source/index.md
rename to docs/source/index.md
diff --git a/docs/source/mxpic/components/primitives/BS_tdc.png b/docs/source/mxpic/components/primitives/BS_tdc.png
new file mode 100644
index 0000000..cca00f3
Binary files /dev/null and b/docs/source/mxpic/components/primitives/BS_tdc.png differ
diff --git a/docs/source/mxpic/components/primitives/DC.png b/docs/source/mxpic/components/primitives/DC.png
new file mode 100644
index 0000000..3fc001a
Binary files /dev/null and b/docs/source/mxpic/components/primitives/DC.png differ
diff --git a/docs/source/mxpic/components/primitives/DC_bend.png b/docs/source/mxpic/components/primitives/DC_bend.png
new file mode 100644
index 0000000..f68d998
Binary files /dev/null and b/docs/source/mxpic/components/primitives/DC_bend.png differ
diff --git a/docs/source/mxpic/components/primitives/DC_pX_3sg.png b/docs/source/mxpic/components/primitives/DC_pX_3sg.png
new file mode 100644
index 0000000..a21782c
Binary files /dev/null and b/docs/source/mxpic/components/primitives/DC_pX_3sg.png differ
diff --git a/docs/source/mxpic/components/primitives/EC_dual_layer_px3.md b/docs/source/mxpic/components/primitives/EC_dual_layer_px3.md
new file mode 100644
index 0000000..e10ec8d
--- /dev/null
+++ b/docs/source/mxpic/components/primitives/EC_dual_layer_px3.md
@@ -0,0 +1,20 @@
+# mxpic.components.primitives.EC_dual_layer_px3
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.EC_dual_layer_px3
+ :no-members:
+```
+
+## EC_dual_layer_px3
+
+```{eval-rst}
+.. image:: EC_dual_layer_px3.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/source/mxpic/components/primitives/Grating_2D_Hole.png b/docs/source/mxpic/components/primitives/Grating_2D_Hole.png
new file mode 100644
index 0000000..2320eb6
Binary files /dev/null and b/docs/source/mxpic/components/primitives/Grating_2D_Hole.png differ
diff --git a/docs/source/mxpic/components/primitives/MDM.png b/docs/source/mxpic/components/primitives/MDM.png
new file mode 100644
index 0000000..f571c40
Binary files /dev/null and b/docs/source/mxpic/components/primitives/MDM.png differ
diff --git a/docs/source/mxpic/components/primitives/MMI_ML.png b/docs/source/mxpic/components/primitives/MMI_ML.png
new file mode 100644
index 0000000..c886a18
Binary files /dev/null and b/docs/source/mxpic/components/primitives/MMI_ML.png differ
diff --git a/docs/source/mxpic/components/primitives/MMI_STD.png b/docs/source/mxpic/components/primitives/MMI_STD.png
new file mode 100644
index 0000000..91c18cc
Binary files /dev/null and b/docs/source/mxpic/components/primitives/MMI_STD.png differ
diff --git a/docs/source/mxpic/components/primitives/Nano_ant.png b/docs/source/mxpic/components/primitives/Nano_ant.png
new file mode 100644
index 0000000..6e21c0d
Binary files /dev/null and b/docs/source/mxpic/components/primitives/Nano_ant.png differ
diff --git a/docs/source/mxpic/components/primitives/Spiral_Cicle_MM.png b/docs/source/mxpic/components/primitives/Spiral_Cicle_MM.png
new file mode 100644
index 0000000..e498b86
Binary files /dev/null and b/docs/source/mxpic/components/primitives/Spiral_Cicle_MM.png differ
diff --git a/docs/source/mxpic/components/primitives/Spiral_Cicle_STD.png b/docs/source/mxpic/components/primitives/Spiral_Cicle_STD.png
new file mode 100644
index 0000000..d1d2b88
Binary files /dev/null and b/docs/source/mxpic/components/primitives/Spiral_Cicle_STD.png differ
diff --git a/docs/source/mxpic/components/primitives/Taper.png b/docs/source/mxpic/components/primitives/Taper.png
new file mode 100644
index 0000000..f8b619c
Binary files /dev/null and b/docs/source/mxpic/components/primitives/Taper.png differ
diff --git a/docs/source/mxpic/components/primitives/YBranch.png b/docs/source/mxpic/components/primitives/YBranch.png
new file mode 100644
index 0000000..ee4394e
Binary files /dev/null and b/docs/source/mxpic/components/primitives/YBranch.png differ
diff --git a/docs/source/mxpic/components/primitives/Ybranch_3wg.png b/docs/source/mxpic/components/primitives/Ybranch_3wg.png
new file mode 100644
index 0000000..cde08d3
Binary files /dev/null and b/docs/source/mxpic/components/primitives/Ybranch_3wg.png differ
diff --git a/docs/source/mxpic/components/primitives/beam_splitters.md b/docs/source/mxpic/components/primitives/beam_splitters.md
new file mode 100644
index 0000000..51361de
--- /dev/null
+++ b/docs/source/mxpic/components/primitives/beam_splitters.md
@@ -0,0 +1,33 @@
+# mxpic.components.primitives.beam_splitters
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.beam_splitters
+ :no-members:
+```
+
+## YBranch
+
+```{eval-rst}
+.. image:: YBranch.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.beam_splitters.YBranch
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Ybranch_3wg
+
+```{eval-rst}
+.. image:: Ybranch_3wg.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.beam_splitters.Ybranch_3wg
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/source/mxpic/components/primitives/directional_couplers.md b/docs/source/mxpic/components/primitives/directional_couplers.md
new file mode 100644
index 0000000..168b974
--- /dev/null
+++ b/docs/source/mxpic/components/primitives/directional_couplers.md
@@ -0,0 +1,98 @@
+# mxpic.components.primitives.directional_couplers
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.directional_couplers
+ :no-members:
+```
+
+## ADC_STD_2x2
+
+```{eval-rst}
+.. image:: ADC_STD_2x2.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.ADC_STD_2x2
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## BS_tdc
+
+```{eval-rst}
+.. image:: BS_tdc.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.BS_tdc
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## DC
+
+```{eval-rst}
+.. image:: DC.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.DC
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## DC_bend
+
+```{eval-rst}
+.. image:: DC_bend.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.DC_bend
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## DC_pX_3sg
+
+```{eval-rst}
+.. image:: DC_pX_3sg.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.DC_pX_3sg
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## MDM
+
+```{eval-rst}
+.. image:: MDM.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.MDM
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## ring_bus_wg
+
+```{eval-rst}
+.. image:: ring_bus_wg.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.directional_couplers.ring_bus_wg
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/source/mxpic/components/primitives/grating_couplers.md b/docs/source/mxpic/components/primitives/grating_couplers.md
new file mode 100644
index 0000000..9d36fb0
--- /dev/null
+++ b/docs/source/mxpic/components/primitives/grating_couplers.md
@@ -0,0 +1,111 @@
+# mxpic.components.primitives.grating_couplers
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.grating_couplers
+ :no-members:
+```
+
+## FA
+
+```{eval-rst}
+.. image:: FA.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.FA
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## GC_STD_1D
+
+```{eval-rst}
+.. image:: GC_STD_1D.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.GC_STD_1D
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## GC_STD_2D
+
+```{eval-rst}
+.. image:: GC_STD_2D.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.GC_STD_2D
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Grating_2D_Hole
+
+```{eval-rst}
+.. image:: Grating_2D_Hole.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Grating_2D_Hole
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Grating_2D_Hole_3Rec
+
+```{eval-rst}
+.. image:: Grating_2D_Hole_3Rec.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Grating_2D_Hole_4Rec
+
+```{eval-rst}
+.. image:: Grating_2D_Hole_4Rec.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Nano_ant
+
+```{eval-rst}
+.. image:: Nano_ant.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Nano_ant
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Taper
+
+```{eval-rst}
+.. image:: Taper.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.grating_couplers.Taper
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/source/mxpic/components/primitives/multimode_interferometers.md b/docs/source/mxpic/components/primitives/multimode_interferometers.md
new file mode 100644
index 0000000..5d3d385
--- /dev/null
+++ b/docs/source/mxpic/components/primitives/multimode_interferometers.md
@@ -0,0 +1,33 @@
+# mxpic.components.primitives.multimode_interferometers
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.multimode_interferometers
+ :no-members:
+```
+
+## MMI_ML
+
+```{eval-rst}
+.. image:: MMI_ML.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.multimode_interferometers.MMI_ML
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## MMI_STD
+
+```{eval-rst}
+.. image:: MMI_STD.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.multimode_interferometers.MMI_STD
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/source/mxpic/components/primitives/ring_bus_wg.png b/docs/source/mxpic/components/primitives/ring_bus_wg.png
new file mode 100644
index 0000000..1600145
Binary files /dev/null and b/docs/source/mxpic/components/primitives/ring_bus_wg.png differ
diff --git a/docs/source/mxpic/components/primitives/spiral.md b/docs/source/mxpic/components/primitives/spiral.md
new file mode 100644
index 0000000..07096c1
--- /dev/null
+++ b/docs/source/mxpic/components/primitives/spiral.md
@@ -0,0 +1,85 @@
+# mxpic.components.primitives.spiral
+
+```{eval-rst}
+.. automodule:: mxpic.components.primitives.spiral
+ :no-members:
+```
+
+## Spiral_Cicle_MM
+
+```{eval-rst}
+.. image:: Spiral_Cicle_MM.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.Spiral_Cicle_MM
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Spiral_Cicle_STD
+
+```{eval-rst}
+.. image:: Spiral_Cicle_STD.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.Spiral_Cicle_STD
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## Spiral_Rect_STD
+
+```{eval-rst}
+.. image:: Spiral_Rect_STD.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.Spiral_Rect_STD
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## spiral
+
+```{eval-rst}
+.. image:: spiral.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.spiral
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## spiral_circle
+
+```{eval-rst}
+.. image:: spiral_circle.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.spiral_circle
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
+## spiral_rectangle
+
+```{eval-rst}
+.. image:: spiral_rectangle.png
+ :align: center
+ :width: 600px
+
+.. autoclass:: mxpic.components.primitives.spiral.spiral_rectangle
+ :members:
+ :undoc-members:
+ :show-inheritance:
+```
+
diff --git a/docs/source/mxpic/components/primitives/spiral.png b/docs/source/mxpic/components/primitives/spiral.png
new file mode 100644
index 0000000..d72b82b
Binary files /dev/null and b/docs/source/mxpic/components/primitives/spiral.png differ
diff --git a/docs/source/mxpic/components/primitives/spiral_circle.png b/docs/source/mxpic/components/primitives/spiral_circle.png
new file mode 100644
index 0000000..3b36483
Binary files /dev/null and b/docs/source/mxpic/components/primitives/spiral_circle.png differ
diff --git a/md_doc_gen.py b/md_doc_gen.py
deleted file mode 100644
index db169b8..0000000
--- a/md_doc_gen.py
+++ /dev/null
@@ -1,80 +0,0 @@
-import os
-import shutil
-from pathlib import Path
-
-basic_md_info = "\
-.. mxpic_handbook documentation master file, created by\n\
-sphinx-quickstart on Sun May 3 16:05:57 2026.\n\
-You can adapt this file completely to your liking, but it should at least\n\
-contain the root `toctree` directive.\n\n\
-# Welcome to the automated documentation for the mxPIC silicon photonics library.\n\
-```{toctree}\n\
- :maxdepth: 2\n\
- :caption: Components:\n\n\
-"
-
-def generate_myst_docs(src_dir: str, docs_api_dir: str) -> None:
- """
- Scans a Python package and generates MyST Markdown files for Sphinx autodoc.
- """
- src_path = Path(src_dir).resolve()
- api_path = Path(docs_api_dir).resolve()
-
- # Clean the old api directory to prevent dead links from deleted files
- if api_path.exists():
- # shutil.rmtree(api_path)
- pass
- else :
- api_path.mkdir(parents=True, exist_ok=True)
-
- package_name = src_path.name
- generated_files = []
-
- print(f"Scanning {package_name} for Python modules...")
-
- index_info = basic_md_info
- # Recursively find all .py files
- for py_file in src_path.rglob("*.py"):
- # Skip init files and private/internal scripts if desired
- if py_file.name == "__init__.py" or py_file.name.startswith("_"):
- continue
-
- # Convert file path to Python module format (e.g., mxpic.primitives.mzm)
- rel_path = py_file.relative_to(src_path.parent.parent)
- class_name = str(rel_path.with_suffix("")).replace(os.sep, ".")
- module_name = str(rel_path.with_suffix("")).replace(os.sep, "\\")
- index_md_name = str(rel_path.with_suffix("")).replace(os.sep, "/")
-
- # Create the markdown file
- md_filename = api_path / f"{module_name}.md"
-
- # MyST Markdown format using Sphinx autodoc directives
- content = f"# {module_name}\n \
-```{{eval-rst}}\n \
-.. automodule:: {class_name}\n\
- :members:\n\
- :undoc-members:\n\
- :show-inheritance:\n\
-```\n\
-"
- ## Building .md file for each .py file
- try :
- try : os.makedirs(name=str(md_filename.parent.resolve()))
- except : pass
-
- with open(file=str(md_filename.resolve()),mode="w") as md_file:
- md_file.write(content)
- print(f"Generated: {docs_api_dir}{module_name}.md")
- except Exception as e:
- print(e)
-
- ## Writing information into the index.md file
- index_info = index_info + f"{index_md_name}\n"
-
- with open(file=docs_api_dir+"index.md",mode="w") as md_file:
- md_file.write(index_info)
-
-if __name__ == "__main__":
- generate_myst_docs(src_dir="mxpic\\components\\",docs_api_dir="mxpic\\docs\\source\\")
-
-
\ No newline at end of file
diff --git a/mxpic/__init__.py b/mxpic/__init__.py
index 364733a..fda00b9 100644
--- a/mxpic/__init__.py
+++ b/mxpic/__init__.py
@@ -8,4 +8,5 @@ verify_license()
# If the check passes, the rest of the library loads
from .components import EC_dual_layer_px3,DC,DC_bend,DC_pX_3sg
from .routing import Route
+from .foundries import *
diff --git a/mxpic/components/primitives/EC_dual_layer_px3.py b/mxpic/components/primitives/EC_dual_layer_px3.py
index 794d5a0..4fee37a 100644
--- a/mxpic/components/primitives/EC_dual_layer_px3.py
+++ b/mxpic/components/primitives/EC_dual_layer_px3.py
@@ -53,33 +53,44 @@ class EC_dual_layer_px3():
Radius of curvature for associated routing bends (default is 50).
"""
def __init__(self,
- name,
- w_in,
- L_in,
- Ltp1,
- Ltp2,
- Ltp3,
- L_end = 0,
- w_tip_core = 0.2,
- w1_slab = 0.6,
- w_tip_slab = 0.2,
- w_mid_slab = 0.45,
- w_box = 8,
- w_box_end = 12,
- L_box_end = 2,
- w_DT = 12,
- xs_SiN = "sin",
- layer_SiN_slab = "SiN_Rib_WG",
- layer_DT = "OXIDE_FACET",
- xs_Trench = "air_trench",
- layer_top_cover = "PAD_OPTICAL",
+ name: str = None,
+ w_in: float = 1.0,
+ L_in: float = 15,
+ Ltp1: float = 100,
+ Ltp2: float = 200,
+ Ltp3: float = 400,
+ L_end: float = 0,
+ w_tip_core: float = 0.2,
+ w1_slab: float = 0.6,
+ w_tip_slab: float = 0.2,
+ w_mid_slab: float = 0.45,
+ w_box: float = 8,
+ w_box_end: float = 12,
+ L_box_end: float = 2,
+ w_DT: float = 12,
+ xs_SiN: str = "sin",
+ layer_SiN_slab: str = "SiN_Rib_WG",
+ layer_DT: str = "OXIDE_FACET",
+ xs_Trench: str = "air_trench",
+ layer_top_cover: str = "PAD_OPTICAL",
layer_dum_exl_be:str=None,
- angle_tile = 8,
- R_bend = 50,
+ angle_tile: float = 8,
+ R_bend: float = 50,
+ sample_build = False,
):
""""""
- self.name = name
+ """ This is the instruction for building a sample """
+ if (sample_build):
+ name = "EC_dual_layer_px3"
+ w_in = 0.8
+ L_in = 15
+ Ltp1 = 50
+ Ltp2 = 150
+ Ltp3 = 450
+
+
+ self.name = name
if (self.name is None): self.instantiate = False
else: self.instantiate = True
diff --git a/mxpic/components/primitives/spiral.py b/mxpic/components/primitives/spiral.py
index dfc2bbf..28add01 100644
--- a/mxpic/components/primitives/spiral.py
+++ b/mxpic/components/primitives/spiral.py
@@ -87,7 +87,8 @@ class spiral:
port_angle: float = 180,
Euler_bend: bool = False,
show_pins: bool = False,
- sharp_patch:bool = True
+ sharp_patch:bool = True,
+ sample_build:bool = False,
):
self.Dmin = Dmin
@@ -449,6 +450,8 @@ class spiral_rectangle:
sharp_patch:bool = True,
in_out_align = True,
Lpatch = 0.05,
+ sample_build:bool = False,
+
):
self.Dmin = Dmin
diff --git a/mxpic/docs/build/doctrees/environment.pickle b/mxpic/docs/build/doctrees/environment.pickle
deleted file mode 100644
index bfc9c29..0000000
Binary files a/mxpic/docs/build/doctrees/environment.pickle and /dev/null differ
diff --git a/mxpic/docs/build/doctrees/mxpic/components/primitives/EC_dual_layer_px3.doctree b/mxpic/docs/build/doctrees/mxpic/components/primitives/EC_dual_layer_px3.doctree
deleted file mode 100644
index 3d0af00..0000000
Binary files a/mxpic/docs/build/doctrees/mxpic/components/primitives/EC_dual_layer_px3.doctree and /dev/null differ
diff --git a/mxpic/docs/build/doctrees/mxpic/components/primitives/beam_splitters.doctree b/mxpic/docs/build/doctrees/mxpic/components/primitives/beam_splitters.doctree
deleted file mode 100644
index eeaaa0d..0000000
Binary files a/mxpic/docs/build/doctrees/mxpic/components/primitives/beam_splitters.doctree and /dev/null differ
diff --git a/mxpic/docs/build/doctrees/mxpic/components/primitives/directional_couplers.doctree b/mxpic/docs/build/doctrees/mxpic/components/primitives/directional_couplers.doctree
deleted file mode 100644
index 267d1c6..0000000
Binary files a/mxpic/docs/build/doctrees/mxpic/components/primitives/directional_couplers.doctree and /dev/null differ
diff --git a/mxpic/docs/build/doctrees/mxpic/components/primitives/grating_couplers.doctree b/mxpic/docs/build/doctrees/mxpic/components/primitives/grating_couplers.doctree
deleted file mode 100644
index 30258a5..0000000
Binary files a/mxpic/docs/build/doctrees/mxpic/components/primitives/grating_couplers.doctree and /dev/null differ
diff --git a/mxpic/docs/build/doctrees/mxpic/components/primitives/multimode_interferometers.doctree b/mxpic/docs/build/doctrees/mxpic/components/primitives/multimode_interferometers.doctree
deleted file mode 100644
index 979222b..0000000
Binary files a/mxpic/docs/build/doctrees/mxpic/components/primitives/multimode_interferometers.doctree and /dev/null differ
diff --git a/mxpic/docs/build/doctrees/mxpic/components/primitives/spiral.doctree b/mxpic/docs/build/doctrees/mxpic/components/primitives/spiral.doctree
deleted file mode 100644
index 987fa86..0000000
Binary files a/mxpic/docs/build/doctrees/mxpic/components/primitives/spiral.doctree and /dev/null differ
diff --git a/mxpic/docs/build/html/_sources/mxpic/components/primitives/EC_dual_layer_px3.md.txt b/mxpic/docs/build/html/_sources/mxpic/components/primitives/EC_dual_layer_px3.md.txt
deleted file mode 100644
index 81da869..0000000
--- a/mxpic/docs/build/html/_sources/mxpic/components/primitives/EC_dual_layer_px3.md.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\EC_dual_layer_px3
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.EC_dual_layer_px3
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/build/html/_sources/mxpic/components/primitives/beam_splitters.md.txt b/mxpic/docs/build/html/_sources/mxpic/components/primitives/beam_splitters.md.txt
deleted file mode 100644
index 6b76fb5..0000000
--- a/mxpic/docs/build/html/_sources/mxpic/components/primitives/beam_splitters.md.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\beam_splitters
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.beam_splitters
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/build/html/_sources/mxpic/components/primitives/directional_couplers.md.txt b/mxpic/docs/build/html/_sources/mxpic/components/primitives/directional_couplers.md.txt
deleted file mode 100644
index 7776433..0000000
--- a/mxpic/docs/build/html/_sources/mxpic/components/primitives/directional_couplers.md.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\directional_couplers
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.directional_couplers
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/build/html/_sources/mxpic/components/primitives/grating_couplers.md.txt b/mxpic/docs/build/html/_sources/mxpic/components/primitives/grating_couplers.md.txt
deleted file mode 100644
index de8b00c..0000000
--- a/mxpic/docs/build/html/_sources/mxpic/components/primitives/grating_couplers.md.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\grating_couplers
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.grating_couplers
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/build/html/_sources/mxpic/components/primitives/multimode_interferometers.md.txt b/mxpic/docs/build/html/_sources/mxpic/components/primitives/multimode_interferometers.md.txt
deleted file mode 100644
index cdcb821..0000000
--- a/mxpic/docs/build/html/_sources/mxpic/components/primitives/multimode_interferometers.md.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\multimode_interferometers
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.multimode_interferometers
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/build/html/_sources/mxpic/components/primitives/spiral.md.txt b/mxpic/docs/build/html/_sources/mxpic/components/primitives/spiral.md.txt
deleted file mode 100644
index b55a361..0000000
--- a/mxpic/docs/build/html/_sources/mxpic/components/primitives/spiral.md.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\spiral
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.spiral
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/build/html/objects.inv b/mxpic/docs/build/html/objects.inv
deleted file mode 100644
index c00070c..0000000
--- a/mxpic/docs/build/html/objects.inv
+++ /dev/null
@@ -1,5 +0,0 @@
-# Sphinx inventory version 2
-# Project: mxpic_handbook
-# Version:
-# The remainder of this file is compressed using zlib.
-x͚]o05UdZ+m*Y9%l&~ڑ$|\%#CJ
LR)@%̰g)21'kP8]MPNdq@P+/*ESKvǷr5lr0qYʨ3c@i4l˼r#YAa3n,_xwyוb0M S@
*{ثk/p3ƮepT*s&.xPﱉhO3f<تXzD> 2ԤD%JzviN|6)5y8aPLxiWnt]ݽ]W'zz_ooe7q9˷J䣝J*5J*Dʸ0)ŹP^guyl7{LÂ'aP1?&W}'a:Û }"ϑj(}$qE]Cql/ n>+xه2ΛM<">MNUZ5h6KauO )"
{ g(SMՁe)EDE['"LDBDל,%z;ZCߠId$2K@$32dC2|=ٞ0?nH3Ψ=.Q8[(a`Wt=z;QպLa>o(%䱒+^m{mW4jB\w1GAJW(K9.ؘL㻵]l@]nc<Gb}`
\ No newline at end of file
diff --git a/mxpic/docs/build/html/searchindex.js b/mxpic/docs/build/html/searchindex.js
deleted file mode 100644
index 438e037..0000000
--- a/mxpic/docs/build/html/searchindex.js
+++ /dev/null
@@ -1 +0,0 @@
-Search.setIndex({"alltitles": {"Components:": [[0, null]], "Welcome to the automated documentation for the mxPIC silicon photonics library.": [[0, null]], "mxpic\\components\\primitives\\EC_dual_layer_px3": [[1, null]], "mxpic\\components\\primitives\\beam_splitters": [[2, null]], "mxpic\\components\\primitives\\directional_couplers": [[3, null]], "mxpic\\components\\primitives\\grating_couplers": [[4, null]], "mxpic\\components\\primitives\\multimode_interferometers": [[5, null]], "mxpic\\components\\primitives\\spiral": [[6, null]]}, "docnames": ["index", "mxpic/components/primitives/EC_dual_layer_px3", "mxpic/components/primitives/beam_splitters", "mxpic/components/primitives/directional_couplers", "mxpic/components/primitives/grating_couplers", "mxpic/components/primitives/multimode_interferometers", "mxpic/components/primitives/spiral"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["index.md", "mxpic/components/primitives/EC_dual_layer_px3.md", "mxpic/components/primitives/beam_splitters.md", "mxpic/components/primitives/directional_couplers.md", "mxpic/components/primitives/grating_couplers.md", "mxpic/components/primitives/multimode_interferometers.md", "mxpic/components/primitives/spiral.md"], "indexentries": {"adc_std_2x2 (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.ADC_STD_2x2", false]], "bs_tdc (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.BS_tdc", false]], "cell (mxpic.components.primitives.spiral.spiral_circle attribute)": [[6, "mxpic.components.primitives.spiral.spiral_circle.cell", false]], "dc (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.DC", false]], "dc_bend (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.DC_bend", false]], "dc_px_3sg (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.DC_pX_3sg", false]], "ec_dual_layer_px3 (class in mxpic.components.primitives.ec_dual_layer_px3)": [[1, "mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3", false]], "fa (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.FA", false]], "gc_std_1d (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_1D", false]], "gc_std_2d (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_2D", false]], "generate_err() (mxpic.components.primitives.directional_couplers.adc_std_2x2 method)": [[3, "mxpic.components.primitives.directional_couplers.ADC_STD_2x2.generate_err", false]], "generate_gds() (mxpic.components.primitives.beam_splitters.ybranch method)": [[2, "mxpic.components.primitives.beam_splitters.YBranch.generate_gds", false]], "generate_gds() (mxpic.components.primitives.beam_splitters.ybranch_3wg method)": [[2, "mxpic.components.primitives.beam_splitters.Ybranch_3wg.generate_gds", false]], "generate_gds() (mxpic.components.primitives.directional_couplers.adc_std_2x2 method)": [[3, "mxpic.components.primitives.directional_couplers.ADC_STD_2x2.generate_gds", false]], "generate_gds() (mxpic.components.primitives.directional_couplers.dc_bend method)": [[3, "mxpic.components.primitives.directional_couplers.DC_bend.generate_gds", false]], "generate_gds() (mxpic.components.primitives.directional_couplers.dc_px_3sg method)": [[3, "mxpic.components.primitives.directional_couplers.DC_pX_3sg.generate_gds", false]], "generate_gds() (mxpic.components.primitives.directional_couplers.ring_bus_wg method)": [[3, "mxpic.components.primitives.directional_couplers.ring_bus_wg.generate_gds", false]], "generate_gds() (mxpic.components.primitives.ec_dual_layer_px3.ec_dual_layer_px3 method)": [[1, "mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.grating_2d_hole method)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.grating_2d_hole_3rec method)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.grating_2d_hole_4rec method)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.nano_ant method)": [[4, "mxpic.components.primitives.grating_couplers.Nano_ant.generate_gds", false]], "generate_gds() (mxpic.components.primitives.grating_couplers.taper method)": [[4, "mxpic.components.primitives.grating_couplers.Taper.generate_gds", false]], "generate_gds() (mxpic.components.primitives.multimode_interferometers.mmi_ml method)": [[5, "mxpic.components.primitives.multimode_interferometers.MMI_ML.generate_gds", false]], "generate_gds() (mxpic.components.primitives.spiral.spiral method)": [[6, "mxpic.components.primitives.spiral.spiral.generate_gds", false]], "generate_gds() (mxpic.components.primitives.spiral.spiral_circle method)": [[6, "mxpic.components.primitives.spiral.spiral_circle.generate_gds", false]], "generate_gds() (mxpic.components.primitives.spiral.spiral_rectangle method)": [[6, "mxpic.components.primitives.spiral.spiral_rectangle.generate_gds", false]], "generate_gds_error() (mxpic.components.primitives.grating_couplers.nano_ant method)": [[4, "mxpic.components.primitives.grating_couplers.Nano_ant.generate_gds_error", false]], "generate_gds_positive() (mxpic.components.primitives.grating_couplers.nano_ant method)": [[4, "mxpic.components.primitives.grating_couplers.Nano_ant.generate_gds_positive", false]], "generate_negative() (mxpic.components.primitives.grating_couplers.gc_std_1d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_1D.generate_negative", false]], "generate_negative() (mxpic.components.primitives.grating_couplers.gc_std_2d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_2D.generate_negative", false]], "generate_positive() (mxpic.components.primitives.grating_couplers.gc_std_1d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_1D.generate_positive", false]], "generate_positive() (mxpic.components.primitives.grating_couplers.gc_std_2d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_2D.generate_positive", false]], "generate_test_dev() (mxpic.components.primitives.grating_couplers.gc_std_1d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_1D.generate_test_dev", false]], "generate_test_gds() (mxpic.components.primitives.beam_splitters.ybranch_3wg method)": [[2, "mxpic.components.primitives.beam_splitters.Ybranch_3wg.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.adc_std_2x2 method)": [[3, "mxpic.components.primitives.directional_couplers.ADC_STD_2x2.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.dc method)": [[3, "mxpic.components.primitives.directional_couplers.DC.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.dc_bend method)": [[3, "mxpic.components.primitives.directional_couplers.DC_bend.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.dc_px_3sg method)": [[3, "mxpic.components.primitives.directional_couplers.DC_pX_3sg.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.directional_couplers.mdm method)": [[3, "mxpic.components.primitives.directional_couplers.MDM.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.grating_couplers.gc_std_2d method)": [[4, "mxpic.components.primitives.grating_couplers.GC_STD_2D.generate_test_gds", false]], "generate_test_gds() (mxpic.components.primitives.multimode_interferometers.mmi_ml method)": [[5, "mxpic.components.primitives.multimode_interferometers.MMI_ML.generate_test_gds", false]], "grating_2d_hole (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole", false]], "grating_2d_hole_3rec (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec", false]], "grating_2d_hole_4rec (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec", false]], "mdm (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.MDM", false]], "mmi_ml (class in mxpic.components.primitives.multimode_interferometers)": [[5, "mxpic.components.primitives.multimode_interferometers.MMI_ML", false]], "mmi_std (class in mxpic.components.primitives.multimode_interferometers)": [[5, "mxpic.components.primitives.multimode_interferometers.MMI_STD", false]], "module": [[1, "module-mxpic.components.primitives.EC_dual_layer_px3", false], [2, "module-mxpic.components.primitives.beam_splitters", false], [3, "module-mxpic.components.primitives.directional_couplers", false], [4, "module-mxpic.components.primitives.grating_couplers", false], [5, "module-mxpic.components.primitives.multimode_interferometers", false], [6, "module-mxpic.components.primitives.spiral", false]], "mxpic.components.primitives.beam_splitters": [[2, "module-mxpic.components.primitives.beam_splitters", false]], "mxpic.components.primitives.directional_couplers": [[3, "module-mxpic.components.primitives.directional_couplers", false]], "mxpic.components.primitives.ec_dual_layer_px3": [[1, "module-mxpic.components.primitives.EC_dual_layer_px3", false]], "mxpic.components.primitives.grating_couplers": [[4, "module-mxpic.components.primitives.grating_couplers", false]], "mxpic.components.primitives.multimode_interferometers": [[5, "module-mxpic.components.primitives.multimode_interferometers", false]], "mxpic.components.primitives.spiral": [[6, "module-mxpic.components.primitives.spiral", false]], "nano_ant (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Nano_ant", false]], "opt_euler() (mxpic.components.primitives.spiral.spiral_circle method)": [[6, "mxpic.components.primitives.spiral.spiral_circle.opt_euler", false]], "ring_bus_wg (class in mxpic.components.primitives.directional_couplers)": [[3, "mxpic.components.primitives.directional_couplers.ring_bus_wg", false]], "spiral (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.spiral", false]], "spiral_cicle_mm (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.Spiral_Cicle_MM", false]], "spiral_cicle_std (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.Spiral_Cicle_STD", false]], "spiral_circle (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.spiral_circle", false]], "spiral_rect_std (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.Spiral_Rect_STD", false]], "spiral_rectangle (class in mxpic.components.primitives.spiral)": [[6, "mxpic.components.primitives.spiral.spiral_rectangle", false]], "taper (class in mxpic.components.primitives.grating_couplers)": [[4, "mxpic.components.primitives.grating_couplers.Taper", false]], "ybranch (class in mxpic.components.primitives.beam_splitters)": [[2, "mxpic.components.primitives.beam_splitters.YBranch", false]], "ybranch_3wg (class in mxpic.components.primitives.beam_splitters)": [[2, "mxpic.components.primitives.beam_splitters.Ybranch_3wg", false]]}, "objects": {"mxpic.components.primitives": [[1, 0, 0, "-", "EC_dual_layer_px3"], [2, 0, 0, "-", "beam_splitters"], [3, 0, 0, "-", "directional_couplers"], [4, 0, 0, "-", "grating_couplers"], [5, 0, 0, "-", "multimode_interferometers"], [6, 0, 0, "-", "spiral"]], "mxpic.components.primitives.EC_dual_layer_px3": [[1, 1, 1, "", "EC_dual_layer_px3"]], "mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3": [[1, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.beam_splitters": [[2, 1, 1, "", "YBranch"], [2, 1, 1, "", "Ybranch_3wg"]], "mxpic.components.primitives.beam_splitters.YBranch": [[2, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.beam_splitters.Ybranch_3wg": [[2, 2, 1, "", "generate_gds"], [2, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers": [[3, 1, 1, "", "ADC_STD_2x2"], [3, 1, 1, "", "BS_tdc"], [3, 1, 1, "", "DC"], [3, 1, 1, "", "DC_bend"], [3, 1, 1, "", "DC_pX_3sg"], [3, 1, 1, "", "MDM"], [3, 1, 1, "", "ring_bus_wg"]], "mxpic.components.primitives.directional_couplers.ADC_STD_2x2": [[3, 2, 1, "", "generate_err"], [3, 2, 1, "", "generate_gds"], [3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.DC": [[3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.DC_bend": [[3, 2, 1, "", "generate_gds"], [3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.DC_pX_3sg": [[3, 2, 1, "", "generate_gds"], [3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.MDM": [[3, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.directional_couplers.ring_bus_wg": [[3, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.grating_couplers": [[4, 1, 1, "", "FA"], [4, 1, 1, "", "GC_STD_1D"], [4, 1, 1, "", "GC_STD_2D"], [4, 1, 1, "", "Grating_2D_Hole"], [4, 1, 1, "", "Grating_2D_Hole_3Rec"], [4, 1, 1, "", "Grating_2D_Hole_4Rec"], [4, 1, 1, "", "Nano_ant"], [4, 1, 1, "", "Taper"]], "mxpic.components.primitives.grating_couplers.GC_STD_1D": [[4, 2, 1, "", "generate_negative"], [4, 2, 1, "", "generate_positive"], [4, 2, 1, "", "generate_test_dev"]], "mxpic.components.primitives.grating_couplers.GC_STD_2D": [[4, 2, 1, "", "generate_negative"], [4, 2, 1, "", "generate_positive"], [4, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.grating_couplers.Grating_2D_Hole": [[4, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec": [[4, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec": [[4, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.grating_couplers.Nano_ant": [[4, 2, 1, "", "generate_gds"], [4, 2, 1, "", "generate_gds_error"], [4, 2, 1, "", "generate_gds_positive"]], "mxpic.components.primitives.grating_couplers.Taper": [[4, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.multimode_interferometers": [[5, 1, 1, "", "MMI_ML"], [5, 1, 1, "", "MMI_STD"]], "mxpic.components.primitives.multimode_interferometers.MMI_ML": [[5, 2, 1, "", "generate_gds"], [5, 2, 1, "", "generate_test_gds"]], "mxpic.components.primitives.spiral": [[6, 1, 1, "", "Spiral_Cicle_MM"], [6, 1, 1, "", "Spiral_Cicle_STD"], [6, 1, 1, "", "Spiral_Rect_STD"], [6, 1, 1, "", "spiral"], [6, 1, 1, "", "spiral_circle"], [6, 1, 1, "", "spiral_rectangle"]], "mxpic.components.primitives.spiral.spiral": [[6, 2, 1, "", "generate_gds"]], "mxpic.components.primitives.spiral.spiral_circle": [[6, 3, 1, "", "cell"], [6, 2, 1, "", "generate_gds"], [6, 2, 1, "", "opt_euler"]], "mxpic.components.primitives.spiral.spiral_rectangle": [[6, 2, 1, "", "generate_gds"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute"}, "terms": {"": 6, "0": [1, 2, 3, 4, 5, 6], "01": 5, "02": 3, "05": [0, 6], "1": [2, 3, 4, 5, 6], "10": [2, 3, 4, 5, 6], "100": 3, "110": 4, "12": 1, "15": [2, 3], "16": 0, "18": 2, "180": 6, "1d": 4, "2": [1, 2, 3, 4, 5, 6], "20": [2, 3, 4, 6], "2022": 3, "2026": 0, "22": 3, "25": 4, "2d": 4, "3": [0, 2, 4, 5], "30": [3, 4], "300": [3, 4], "33": 3, "35": [3, 5], "3db": 2, "4": [2, 4], "40": 3, "400": [2, 3], "41": 4, "45": [1, 2, 3, 4, 5, 6], "5": [3, 4, 5, 6], "50": [1, 4, 5, 6], "55": 3, "57": [0, 4], "6": [1, 2, 4], "61": 3, "64": 3, "8": [1, 2, 3, 4], "80": [2, 3], "88": 3, "A": 3, "If": [5, 6], "a0": 4, "a_anti": 3, "a_att": 2, "a_tap": 4, "acut": [3, 5], "ad": 4, "adapt": [0, 6], "adc_std_2x2": [0, 3], "add": [2, 5, 6], "adiabat": [1, 3], "adjac": [2, 4, 5, 6], "after": [2, 3, 4, 6], "air": 1, "air_trench": 1, "align": 6, "all": [2, 3, 4, 5], "alon": 4, "along": [2, 4, 6], "altern": 4, "analysi": 4, "angl": [1, 2, 3, 4, 6], "angle_til": 1, "antenna": 4, "anti": [3, 4], "apertur": 4, "append": [2, 4, 6], "appli": [3, 4, 6], "ar": [3, 4], "arc": [2, 3, 4, 6], "area": 4, "arm": [2, 3, 5], "arm_sine_width": 5, "arrai": 4, "assembl": 4, "associ": 1, "asymmetr": 3, "attach": [2, 6], "auto": 3, "avoid": 3, "axi": [2, 6], "back": 1, "balanc": 3, "base": [1, 2, 3, 4, 5, 6], "bdc": 3, "beam_splitt": 0, "befor": [3, 4, 6], "bend": [1, 2, 3, 6], "bend_dc": 3, "bent": 2, "beol": 1, "between": [1, 2, 3, 4, 5, 6], "bodi": [2, 5, 6], "bool": [2, 3, 4, 5, 6], "boolean": 6, "both": [2, 3, 5], "box": 1, "branch": 2, "broadband": [2, 3], "broadcast": 4, "bs_tdc": [0, 3], "bu": 3, "built": [3, 4, 6], "calcul": 3, "can": [0, 4], "cell": [1, 2, 3, 4, 5, 6], "cell_nam": 4, "cell_transit": 6, "cell_xs_transit": 6, "cellnam": 3, "center": [2, 4, 6], "central": [1, 5, 6], "chamfer": [2, 3, 5, 6], "channel": 4, "chip": 1, "circl": [3, 4, 6], "circular": [3, 4, 6], "circumscrib": 4, "clad": 1, "class": [1, 2, 3, 4, 5, 6], "clear": 1, "clothoid": [3, 6], "clothoid_ord": 3, "column": 4, "complet": 0, "conchoid": 6, "configur": 4, "connect": 6, "constant": 6, "constraint": 6, "contain": 0, "contrast": 1, "control": [2, 6], "conveni": [5, 6], "convert": [1, 6], "core": [1, 3], "corner": [3, 5, 6], "correspond": 5, "cosin": 5, "coupl": [1, 2, 3], "coupler": [1, 2, 3, 4], "creat": [0, 4], "cross": [1, 2, 3, 4, 5, 6], "cubic": 2, "curvatur": 1, "custom": 4, "cycl": 6, "d_hole": 4, "da_tran": 3, "dac": 3, "dc": [0, 3], "dc_bend": [0, 3], "dc_px_3sg": [0, 3], "debug": [3, 4, 5], "deep": 1, "default": [1, 2, 3, 4, 5, 6], "defin": 4, "define_typ": 4, "definit": 4, "deflect": [2, 3, 6], "degre": [1, 2, 3, 4, 6], "depth": 4, "deriv": [3, 6], "determin": 4, "devic": [1, 3, 5], "diamet": [4, 6], "diffract": 4, "dimens": 1, "direct": [0, 3], "directional_coupl": 0, "disabl": 3, "discret": [2, 3], "divis": 3, "dl_p2p": 3, "dl_tran": 3, "dlc": 3, "dmin": 6, "do": 4, "dp_in": 5, "dp_out": 5, "draw": [2, 3, 4, 5, 6], "dual": [1, 4], "dummi": 1, "duti": 4, "duty_cycl": 4, "dw": 3, "dx_gc2gc": [2, 3, 4, 5], "dx_hole": 4, "dy_gc2gc": [2, 3, 5], "dy_hol": 4, "e": 1, "each": [2, 5, 6], "eas": 6, "ec_dual_layer_px3": 0, "edg": [1, 4], "either": 4, "enabl": 3, "end": [3, 4], "end_patch": 3, "enforc": 6, "entir": 6, "entranc": [2, 4], "entri": 4, "equal": 5, "err": 3, "err_asi": 2, "eta_etch": 4, "etch": 4, "etch_depth": 4, "etch_typ": 4, "euler": [3, 6], "euler_anti_bend": 3, "euler_bend": 6, "euler_point": 3, "euler_sbend": 6, "euler_transist": 3, "evalu": 3, "everi": 6, "exactli": 6, "except": 4, "exclus": 1, "exit": 2, "expect": 6, "export": 4, "expos": 4, "extens": [1, 6], "extern": [2, 3], "extra": 4, "fa": [0, 4], "fabric": 3, "facet": 1, "fals": [2, 3, 4, 5, 6], "fan": 4, "fanout": 4, "fcw_tre": 4, "feed": 4, "fetch": 4, "fiber": [1, 4], "fiber_coupl": 4, "field": 4, "file": 0, "fill": 4, "filler": 3, "final": [1, 3, 6], "first": [1, 3, 6], "float": [1, 2, 3, 4, 5, 6], "follow": 5, "footprint": [4, 6], "forc": 3, "form": [2, 6], "four": 4, "fraction": 4, "from": [3, 4, 6], "futur": [3, 4], "g": 1, "g0": 3, "g1": [3, 4], "gaolei": 3, "gap": [2, 3, 6], "gap0": 3, "gap1": 3, "gc": [2, 3, 5], "gc_std_1d": [0, 4], "gc_std_2d": [0, 4], "gd": [1, 3, 4], "gener": [3, 4, 5], "generate_err": 3, "generate_gd": [1, 2, 3, 4, 5, 6], "generate_gds_error": 4, "generate_gds_posit": 4, "generate_neg": 4, "generate_posit": 4, "generate_test_dev": 4, "generate_test_gd": [2, 3, 4, 5], "geometri": [3, 4], "getch_tr": 4, "go": 4, "grate": 4, "grating_2d_hol": [0, 4], "grating_2d_hole_3rec": [0, 4], "grating_2d_hole_4rec": [0, 4], "grating_coupl": 0, "grating_unit": 4, "gt_diamet": 4, "gt_layer": 4, "gt_vector": 4, "guid": 3, "half": [3, 6], "helper": [2, 5, 6], "high": 1, "hole": 4, "hole_shap": 4, "horizont": [3, 4], "hu": 3, "i": [1, 2, 3, 4, 5, 6], "ident": 4, "identifi": [1, 3, 4], "imec": 4, "implement": 6, "in_out_align": 6, "index": 1, "individu": 4, "inherit": 6, "initi": [1, 2, 3], "inner": 6, "innermost": 6, "input": [1, 3, 4, 5, 6], "insert": [2, 3, 5, 6], "insid": [2, 3, 6], "instanc": 4, "instanti": [3, 4], "instead": [5, 6], "int": [3, 4, 5], "interact": 3, "interfer": 5, "intern": 6, "interpol": 5, "io": [2, 3, 4, 6], "keep": [2, 3, 4, 5], "kei": [2, 3, 4, 5, 6], "l": 2, "l_ar": 4, "l_arm": 5, "l_attach": 2, "l_box_end": 1, "l_cp": 3, "l_end": [1, 4], "l_field_cent": 4, "l_in": 1, "l_in_tp": 2, "l_mmi": 5, "l_tail": 4, "l_taper": 4, "laid": 6, "later": 4, "layer": [1, 4, 5, 6], "layer_dt": 1, "layer_dum_exl_b": 1, "layer_sin_slab": 1, "layer_top_cov": 1, "layout": 4, "lb0": 3, "lc1": 3, "lc2": 3, "lcp": 2, "ld": 3, "least": 0, "len": 5, "length": [1, 2, 3, 4, 5, 6], "like": 0, "linear": [4, 5], "link": 2, "list": 4, "lmin": 6, "logic": 4, "longitudin": [2, 5], "loop": 6, "lower": 3, "lp1": 3, "lpatch": 6, "lport": 6, "lt": 3, "lt_bu": 3, "lt_cp": 3, "ltp": 6, "ltp1": 1, "ltp2": 1, "ltp3": 1, "ltp_port": 6, "lu": 3, "lx_end": 4, "lx_port": 4, "lx_side": 4, "lx_taper": 4, "ly_end": 4, "ly_port": 4, "ly_sid": 4, "ly_tap": 4, "mai": 0, "main": 4, "manag": 1, "manual": 6, "margin": 4, "marker": [2, 3, 4, 5, 6], "master": 0, "match": [4, 6], "max_theta": 4, "maximum": [3, 4, 6], "mdm": [0, 3], "mean": [3, 4], "measur": 6, "metch": 4, "micron": [1, 2, 3, 4, 5, 6], "midpoint": 1, "minimum": [3, 6], "mirror": 3, "mitig": 3, "mmi": 5, "mmi_ml": [0, 5], "mmi_sine_width": 5, "mmi_std": [0, 5], "mode": [3, 4], "mode_radiu": 4, "mono": 5, "multi": 5, "multimod": 5, "multimode_interferomet": 0, "multiplex": 3, "must": [2, 5], "mxpic_handbook": 0, "n_in": 5, "n_out": 5, "name": [1, 2, 3, 4, 5, 6], "nano": 4, "nano_": [0, 4], "nanoantenna": 4, "nazca": [2, 3, 4, 5, 6], "nd": [4, 6], "nitrid": 1, "nomin": [3, 6], "non": 4, "none": [1, 2, 3, 4, 5, 6], "num": 4, "num_i": 4, "num_x": 4, "number": [3, 4, 5, 6], "object": [1, 2, 3, 4, 5, 6], "offset": [3, 4], "op": 6, "open": [1, 4], "opt_eul": 6, "optic": [1, 4], "optim": 6, "option": [1, 2, 3, 4, 5, 6], "order": 3, "out": [4, 6], "outer": 2, "outermost": 6, "output": [2, 3, 4, 5, 6], "overal": 4, "overrid": 6, "oxid": 1, "oxide_facet": 1, "p_ar": 4, "pad": 1, "pad_opt": 1, "pair": 6, "parabol": 4, "paramet": [1, 2, 3, 4, 5, 6], "parametr": 6, "part": 2, "path": 6, "per": [2, 4], "perform": 6, "period": 4, "phase": [3, 4], "photoresist": 4, "physic": 4, "pin": 4, "pitch": [2, 4, 5], "planar": 4, "plane": 3, "point": [2, 3], "polygon": [2, 3, 5, 6], "polysi_diamet": 4, "polysi_lay": 4, "polysi_vector": 4, "polysilicon": 4, "port": [2, 3, 4, 5, 6], "port_angl": 6, "port_symmetr": 3, "posit": 4, "power": 3, "pre": [4, 6], "preced": 4, "preset": 6, "primit": 0, "profil": 4, "provid": 4, "purpos": [3, 4], "px": [3, 4], "px_type": 3, "py": 4, "quickstart": 0, "r": 6, "r0": [2, 3, 6], "r_att": 2, "r_bend": [1, 5, 6], "r_cp": 3, "r_in": 3, "r_max_anti": 3, "r_max_tran": 3, "r_min_anti": 3, "r_ratio_mamnu": 6, "radian": 6, "radiu": [1, 2, 3, 4, 6], "rais": 4, "ratio": 6, "rbend": 2, "rc_ratio": 6, "rd0": 3, "rd1": 3, "re": [2, 3, 5, 6], "reach": 6, "rectangl": 4, "rectangular": [4, 6], "reduc": [1, 3], "refer": 4, "reflect": [1, 4], "reflector": 4, "reflector_vector": 4, "region": [2, 4, 5], "regist": 3, "repeat": 4, "reserv": 3, "resolut": [5, 6], "respect": 1, "result": 4, "rib": 6, "rib2strip": 6, "ring": 3, "ring_bus_wg": [0, 3], "rm_ratio": 6, "rmax": 3, "rmax_bend": 6, "rmin": 3, "rmin_bend": 6, "rmin_bend_cent": 6, "rmin_eul": 6, "root": 0, "rout": [1, 3], "row": 4, "ru0": 3, "ru1": 3, "same": 6, "sampl": [2, 3, 5, 6], "sample_step": 4, "sbend": 3, "sbend_typ": 3, "scaffold": 3, "scalar": 4, "scheme": 4, "second": [1, 3], "secondari": 1, "section": [1, 2, 3, 4, 5, 6], "sector": 4, "sector_gc": 4, "segment": [2, 3, 4, 5, 6], "selector": 4, "separ": 6, "sequenc": [2, 4, 5], "set": [3, 6], "setch": 4, "shape": [2, 4, 6], "share": 6, "sharp": 3, "sharp_patch": [2, 3, 5, 6], "shifter": 3, "should": 0, "show_pin": [2, 3, 4, 5, 6], "side": 4, "simul": 4, "sin": 1, "sin_rib_wg": 1, "singl": [3, 4, 5, 6], "single_end": 3, "size": [1, 4], "slab": [1, 4], "small": [3, 6], "soi": 1, "sourc": 4, "space": [2, 3, 4, 6], "sphinx": 0, "spiral": [0, 3], "spiral_cicle_mm": [0, 6], "spiral_cicle_std": [0, 6], "spiral_circl": [0, 6], "spiral_rect_std": [0, 6], "spiral_rectangl": [0, 6], "spline": 2, "split": 3, "splitter": 3, "spot": 1, "squar": 4, "stand": 4, "standard": [3, 5], "step": [3, 6], "str": [1, 2, 3, 4, 5, 6], "straight": [2, 3, 4, 6], "strict_condit": 6, "strip": [2, 3, 4, 5, 6], "strip_cor": 4, "structur": [4, 6], "stub": [2, 3, 4, 5, 6], "style": 6, "success": 6, "suffix": 4, "sun": 0, "suppli": 4, "support": [4, 6], "symmetr": [2, 3], "symmetri": 4, "symmetric_bu": 3, "taper": [0, 1, 2, 3, 4, 5, 6], "taper_length": 4, "target": [3, 4], "teeth": 4, "teeth_numb": 4, "termin": [3, 4], "tessel": 6, "theta_arc": 3, "theta_ext": 3, "thi": [0, 1, 3, 4], "third": 1, "three": [3, 4], "throughout": 6, "tilt": [1, 6], "tip": [1, 3], "toctre": 0, "toler": 3, "tooth": 4, "top": 1, "topologi": 3, "total": [2, 4], "tp_angl": 3, "transit": [1, 3, 4, 5, 6], "trench": 1, "triangular": 4, "true": [2, 3, 4, 5, 6], "tunabl": 3, "tupl": 6, "turn": 6, "two": [2, 3], "twod_grat": 4, "type": [3, 4], "type_tap": 4, "uniform": 5, "uninstanti": [2, 4, 5], "uniqu": [1, 3], "unit": 4, "upper": 3, "us": [2, 3, 4, 5, 6], "valu": 4, "vector": 4, "versatil": 4, "vertic": [2, 3, 4, 5, 6], "w": 2, "w0": [2, 3], "w1": [2, 3], "w1_slab": 1, "w_arm": 5, "w_bend_cent": 6, "w_bend_port": 6, "w_box": 1, "w_box_end": 1, "w_bu": 3, "w_cp": 3, "w_dt": 1, "w_gt": 4, "w_in": [1, 3], "w_mid_slab": 1, "w_mmi": 5, "w_out": 3, "w_port": [2, 5, 6], "w_tip_cor": 1, "w_tip_slab": 1, "w_tran": 3, "w_wg": [2, 3, 4, 5], "wa0": 3, "wa1": 3, "waveguid": [1, 2, 3, 4, 5, 6], "wb0": 3, "wb1": 3, "wb_in": 3, "wb_out": 3, "wd0": 3, "wd1": 3, "wd_in": 3, "wd_out": 3, "wg_ltp": 3, "when": [2, 3, 4, 5, 6], "whether": 3, "width": [1, 2, 3, 4, 5, 6], "width1": 4, "width2": 4, "within": [5, 6], "wmin_bend": 6, "wrapper": [3, 5], "written": 3, "wu0": 3, "wu1": 3, "wu_in": 3, "wu_out": 3, "x": [2, 3, 4, 5, 6], "xout_offset": 5, "xs_open": 4, "xs_sin": 1, "xs_trench": 1, "xs_wg": [3, 4], "y": [2, 4], "ybranch": [0, 2], "ybranch_3wg": [0, 2], "you": 0, "your": 0, "\u00b5m": [2, 4, 5, 6], "\u03c0": 6}, "titles": ["Welcome to the automated documentation for the mxPIC silicon photonics library.", "mxpic\\components\\primitives\\EC_dual_layer_px3", "mxpic\\components\\primitives\\beam_splitters", "mxpic\\components\\primitives\\directional_couplers", "mxpic\\components\\primitives\\grating_couplers", "mxpic\\components\\primitives\\multimode_interferometers", "mxpic\\components\\primitives\\spiral"], "titleterms": {"autom": 0, "beam_splitt": 2, "compon": [0, 1, 2, 3, 4, 5, 6], "directional_coupl": 3, "document": 0, "ec_dual_layer_px3": 1, "grating_coupl": 4, "librari": 0, "multimode_interferomet": 5, "mxpic": [0, 1, 2, 3, 4, 5, 6], "photon": 0, "primit": [1, 2, 3, 4, 5, 6], "silicon": 0, "spiral": 6, "welcom": 0}})
\ No newline at end of file
diff --git a/mxpic/docs/source/mxpic/components/primitives/EC_dual_layer_px3.md b/mxpic/docs/source/mxpic/components/primitives/EC_dual_layer_px3.md
deleted file mode 100644
index 81da869..0000000
--- a/mxpic/docs/source/mxpic/components/primitives/EC_dual_layer_px3.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\EC_dual_layer_px3
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.EC_dual_layer_px3
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/source/mxpic/components/primitives/beam_splitters.md b/mxpic/docs/source/mxpic/components/primitives/beam_splitters.md
deleted file mode 100644
index 6b76fb5..0000000
--- a/mxpic/docs/source/mxpic/components/primitives/beam_splitters.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\beam_splitters
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.beam_splitters
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/source/mxpic/components/primitives/directional_couplers.md b/mxpic/docs/source/mxpic/components/primitives/directional_couplers.md
deleted file mode 100644
index 7776433..0000000
--- a/mxpic/docs/source/mxpic/components/primitives/directional_couplers.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\directional_couplers
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.directional_couplers
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/source/mxpic/components/primitives/grating_couplers.md b/mxpic/docs/source/mxpic/components/primitives/grating_couplers.md
deleted file mode 100644
index de8b00c..0000000
--- a/mxpic/docs/source/mxpic/components/primitives/grating_couplers.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\grating_couplers
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.grating_couplers
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/source/mxpic/components/primitives/multimode_interferometers.md b/mxpic/docs/source/mxpic/components/primitives/multimode_interferometers.md
deleted file mode 100644
index cdcb821..0000000
--- a/mxpic/docs/source/mxpic/components/primitives/multimode_interferometers.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\multimode_interferometers
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.multimode_interferometers
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic/docs/source/mxpic/components/primitives/spiral.md b/mxpic/docs/source/mxpic/components/primitives/spiral.md
deleted file mode 100644
index b55a361..0000000
--- a/mxpic/docs/source/mxpic/components/primitives/spiral.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# mxpic\components\primitives\spiral
- ```{eval-rst}
- .. automodule:: mxpic.components.primitives.spiral
- :members:
- :undoc-members:
- :show-inheritance:
-```
diff --git a/mxpic_release/mxpic/__init__.pyi b/mxpic_release/mxpic/__init__.pyi
deleted file mode 100644
index e02ee5d..0000000
--- a/mxpic_release/mxpic/__init__.pyi
+++ /dev/null
@@ -1,2 +0,0 @@
-from .components import DC as DC, DC_bend as DC_bend, DC_pX_3sg as DC_pX_3sg, EC_dual_layer_px3 as EC_dual_layer_px3
-from .routing import Route as Route
diff --git a/mxpic_release/mxpic/basic.pyi b/mxpic_release/mxpic/basic.pyi
deleted file mode 100644
index 5e06c99..0000000
--- a/mxpic_release/mxpic/basic.pyi
+++ /dev/null
@@ -1,4 +0,0 @@
-def __cell_arg__(arg, arg_name, func_name): ...
-def __list_convert__(var, name, func_name): ...
-def __array_convert__(var, name, func_name, num: int = 1): ...
-def __xs_exist__(xs, para_name, func_name): ...
diff --git a/mxpic_release/mxpic/components/__init__.pyi b/mxpic_release/mxpic/components/__init__.pyi
deleted file mode 100644
index bbc20db..0000000
--- a/mxpic_release/mxpic/components/__init__.pyi
+++ /dev/null
@@ -1 +0,0 @@
-from .primitives import *
diff --git a/mxpic_release/mxpic/components/primitives/EC_dual_layer_px3.pyi b/mxpic_release/mxpic/components/primitives/EC_dual_layer_px3.pyi
deleted file mode 100644
index b770757..0000000
--- a/mxpic_release/mxpic/components/primitives/EC_dual_layer_px3.pyi
+++ /dev/null
@@ -1,30 +0,0 @@
-from _typeshed import Incomplete
-
-class EC_dual_layer_px3:
- name: Incomplete
- instantiate: bool
- w_in: Incomplete
- L_in: Incomplete
- Ltp1: Incomplete
- Ltp2: Incomplete
- Ltp3: Incomplete
- L_end: Incomplete
- w_tip_core: Incomplete
- w1_slab: Incomplete
- w_tip_slab: Incomplete
- w_mid_slab: Incomplete
- w_box: Incomplete
- w_box_end: Incomplete
- L_box_end: Incomplete
- w_DT: Incomplete
- xs_SiN: Incomplete
- layer_SiN_slab: Incomplete
- layer_top_cover: Incomplete
- layer_dum_exl_be: Incomplete
- layer_DT: Incomplete
- xs_Trench: Incomplete
- angle_tile: Incomplete
- R_bend: Incomplete
- cell: Incomplete
- def __init__(self, name, w_in, L_in, Ltp1, Ltp2, Ltp3, L_end: int = 0, w_tip_core: float = 0.2, w1_slab: float = 0.6, w_tip_slab: float = 0.2, w_mid_slab: float = 0.45, w_box: int = 8, w_box_end: int = 12, L_box_end: int = 2, w_DT: int = 12, xs_SiN: str = 'sin', layer_SiN_slab: str = 'SiN_Rib_WG', layer_DT: str = 'OXIDE_FACET', xs_Trench: str = 'air_trench', layer_top_cover: str = 'PAD_OPTICAL', layer_dum_exl_be: str = None, angle_tile: int = 8, R_bend: int = 50) -> None: ...
- def generate_gds(self): ...
diff --git a/mxpic_release/mxpic/components/primitives/__init__.pyi b/mxpic_release/mxpic/components/primitives/__init__.pyi
deleted file mode 100644
index 1805c80..0000000
--- a/mxpic_release/mxpic/components/primitives/__init__.pyi
+++ /dev/null
@@ -1,5 +0,0 @@
-from .directional_couplers import *
-from .EC_dual_layer_px3 import *
-from .beam_splitters import *
-from .multimode_interferometers import *
-from .spiral import *
diff --git a/mxpic_release/mxpic/components/primitives/beam_splitters.pyi b/mxpic_release/mxpic/components/primitives/beam_splitters.pyi
deleted file mode 100644
index 49b4cab..0000000
--- a/mxpic_release/mxpic/components/primitives/beam_splitters.pyi
+++ /dev/null
@@ -1,39 +0,0 @@
-from ...structures import *
-from ...foundries import *
-import numpy as np
-from ...basic import __cell_arg__ as __cell_arg__
-from ...routing import Route as Route
-from _typeshed import Incomplete
-
-class YBranch:
- name: Incomplete
- instantiate: bool
- w: Incomplete
- L: Incomplete
- res: Incomplete
- R_att: Incomplete
- A_att: Incomplete
- w_port: Incomplete
- xs: Incomplete
- cell: Incomplete
- def __init__(self, name: str = None, xs: str = 'strip', w: list | np.ndarray = [1.2, 1.0, 1.8, 1.2, 1.0, 1.2, 1.2], L: float = 6, R_att: float = 10, A_att: float = 10, w_port: float = 0.45, show_pins: bool = False, sharp_patch: bool = True, res: float = 0.1) -> None: ...
- def generate_gds(self, show_pins: bool = False, sharp_patch: bool = True): ...
-
-class Ybranch_3wg:
- name: Incomplete
- instantiate: bool
- w0: Incomplete
- w1: Incomplete
- gap: Incomplete
- Lcp: Incomplete
- xs: Incomplete
- w_wg: Incomplete
- R0: Incomplete
- angle: Incomplete
- L_attach: Incomplete
- L_in_tp: Incomplete
- cell: Incomplete
- L: Incomplete
- def __init__(self, name=None, w0: float = 0.4, w1: float = 0.2, gap: float = 0.18, Lcp: float = 20, xs: str = 'strip', w_wg: float = 0.45, R0: float = 10, angle: float = 20, L_attach: float = 3, L_in_tp: float = 3, sharp_patch: bool = True) -> None: ...
- def generate_gds(self, sharp_patch, err_asy: int = 0): ...
- def generate_test_gds(self, gc, dX_gc2gc: int = 400, dY_gc2gc: int = 80, sharp_patch: bool = True, Rbend: int = 15): ...
diff --git a/mxpic_release/mxpic/components/primitives/directional_couplers.pyi b/mxpic_release/mxpic/components/primitives/directional_couplers.pyi
deleted file mode 100644
index 051c101..0000000
--- a/mxpic_release/mxpic/components/primitives/directional_couplers.pyi
+++ /dev/null
@@ -1,141 +0,0 @@
-from ...basic import __cell_arg__ as __cell_arg__
-from ...routing import Route as Route
-from ...structures import Clothoid as Clothoid, circle as circle
-from _typeshed import Incomplete
-
-class ring_bus_wg:
- xs: Incomplete
- R_cp: Incomplete
- w_bus: Incomplete
- dLc: Incomplete
- dAc: Incomplete
- w_wg: Incomplete
- bend_DC: Incomplete
- euler_transistion: Incomplete
- dL_trans: Incomplete
- dA_trans: Incomplete
- R_max_trans: Incomplete
- w_trans: Incomplete
- R_max_anti: Incomplete
- R_min_anti: Incomplete
- A_anti: Incomplete
- wg_Ltp: Incomplete
- dL_p2p: Incomplete
- res: Incomplete
- end_patch: Incomplete
- L: int
- clothoid_order: Incomplete
- cell: Incomplete
- def __init__(self, xs: str = 'strip', R_cp: int = 20, w_bus: float = 0.5, bend_DC: bool = True, w_wg: float = 0.5, dLc: int = 10, dAc: int = 10, euler_transistion: bool = False, dL_trans: int = 10, dA_trans: int = 30, R_max_trans: int = 100, w_trans: float = 0.5, euler_anti_bend: bool = False, R_max_anti: int = 100, R_min_anti: int = 10, A_anti=None, res: float = 0.1, wg_Ltp: int = 5, dL_p2p=None, sharp_patch: bool = True, show_pins: bool = False, end_patch: bool = False, clothoid_order: int = 1) -> None: ...
- w: Incomplete
- sz: Incomplete
- def generate_gds(self, sharp_patch, show_pins: bool = False): ...
-
-class ADC_STD_2x2:
- name: Incomplete
- instantiate: bool
- wu0: Incomplete
- xs: Incomplete
- wu1: Incomplete
- wu_in: Incomplete
- wu_out: Incomplete
- wd0: Incomplete
- wd1: Incomplete
- wd_in: Incomplete
- wd_out: Incomplete
- Lu: Incomplete
- Ld: Incomplete
- angle: Incomplete
- g0: Incomplete
- g1: Incomplete
- sbend_type: Incomplete
- Rmax: Incomplete
- Rmin: Incomplete
- sharp_patch: Incomplete
- euler_points: Incomplete
- res: Incomplete
- Ru0: Incomplete
- Ru1: Incomplete
- Rd0: Incomplete
- Rd1: Incomplete
- tp_angle: Incomplete
- cell: Incomplete
- L: Incomplete
- def __init__(self, name=None, xs: str = 'strip', wu0: float = 0.45, wu1: float = 0.61, wu_in: float = 0.45, wu_out: float = 0.8, wd0: float = 0.33, wd1: float = 0.2, wd_in: float = 0.45, wd_out: float = 0.8, Lu: int = 33, Ld: int = 33, angle: int = 20, g0: float = 0.2, g1: float = 0.2, sbend_type: str = 'euler', Rmax=None, Rmin: int = 5, Ru0: int = 0, Ru1: int = 20, Rd0: int = 20, Rd1: int = 0, tp_angle: int = 2, sharp_patch: bool = True, show_pins: bool = False, euler_points: int = 64, res: float = 0.1) -> None: ...
- def generate_gds(self, err: int = 0, show_pins: bool = False): ...
- err: Incomplete
- def generate_err(self, err: float = 0.02): ...
- def generate_test_gds(self, gc, dX_gc2gc: int = 400, dY_gc2gc: int = 80, sharp_patch: bool = True): ...
-
-class DC(ADC_STD_2x2):
- def __init__(self, name=None, xs: str = 'strip', w_cp: float = 0.45, w_wg: float = 0.45, L_cp: float = 30, angle: float = 20, gap: float = 0.2, sbend_type: str = 'circular', Rmax: float = None, Rmin: float = 5, R0: float = 10, tp_angle: float = 2, sharp_patch: bool = True, show_pins: bool = False) -> None: ...
- def generate_test_gds(self, gc, dX_gc2gc: int = 300, dY_gc2gc: int = 40, sharp_patch: bool = True): ...
-
-class BS_tdc(ADC_STD_2x2):
- def __init__(self, name=None, xs: str = 'strip', wa0: float = 0.35, wa1: float = 0.45, wb0: float = 0.55, wb1: float = 0.45, w_wg: float = 0.45, gap: float = 0.2, Lt: float = 20, R0: float = 30, angle: float = 15, sbend_type: str = 'circle') -> None: ...
-
-class MDM(ADC_STD_2x2):
- wb0: Incomplete
- wb1: Incomplete
- w0: Incomplete
- w1: Incomplete
- w_wg: Incomplete
- gap0: Incomplete
- gap1: Incomplete
- Lt_bus: Incomplete
- Lt_cp: Incomplete
- xs: Incomplete
- R0: Incomplete
- angle: Incomplete
- symmetric_BUS: Incomplete
- Rmin: Incomplete
- L: Incomplete
- def __init__(self, name=None, xs: str = 'strip', wb0: float = 0.45, wb1: float = 0.61, wb_in: float = 0.45, wb_out: float = 0.88, w_wg: float = 0.45, w0: float = 0.33, w1: float = 0.2, gap0: float = 0.2, Lt_bus: float = 20, R0: float = 40, angle: float = 22.5, Lt_cp: float = None, gap1: float = None, Lb0: float = None, symmetric_BUS: bool = True, single_end: bool = True, Rmin: float = 8) -> None: ...
- def generate_test_gds(self, gc, dX_gc2gc: int = 300, dY_gc2gc: int = 40, sharp_patch: bool = True): ...
-
-class DC_bend:
- name: Incomplete
- instantiate: bool
- w_in: Incomplete
- w_out: Incomplete
- gap: Incomplete
- r_in: Incomplete
- r_out: Incomplete
- theta_arc: Incomplete
- theta_ext: Incomplete
- w_wg: Incomplete
- xs_wg: Incomplete
- sharp_patch: Incomplete
- show_pins: Incomplete
- cell: Incomplete
- def __init__(self, name=None, w_in: float = 0.45, w_out: float = 0.45, gap: float = 0.2, r_in: int = 40, theta_arc: int = 30, w_wg: float = 0.45, theta_ext: int = 15, xs_wg: str = 'strip', sharp_patch: bool = True, show_pins: bool = False) -> None: ...
- width: Incomplete
- length: Incomplete
- def generate_gds(self, cellname: str = ''): ...
- def generate_test_gds(self, gc, dX_gc2gc: int = 300, dY_gc2gc: int = 40, sharp_patch: bool = True): ...
-
-class DC_pX_3sg:
- name: Incomplete
- instantiate: bool
- xs_wg: Incomplete
- Lc1: Incomplete
- Lp1: Incomplete
- Lc2: Incomplete
- Lt: Incomplete
- w_cp: Incomplete
- dw: Incomplete
- gap: Incomplete
- R0: Incomplete
- A: Incomplete
- w_wg: Incomplete
- sharp_patch: Incomplete
- pX_type: Incomplete
- port_symmetric: Incomplete
- cell: Incomplete
- cellU: Incomplete
- cellD: Incomplete
- L: Incomplete
- length: Incomplete
- def __init__(self, name=None, xs_wg: str = 'strip', Lc1: float = 10, Lp1: float = 5, Lc2: float = 10, Lt: float = 1, w_cp: float = 0.5, dw: float = 0.1, gap: float = 0.2, R0: float = 10, A: float = 15, w_wg: float = 0.45, pX_type: str = 'symmetric', port_symmetric: bool = True, sharp_patch: bool = True) -> None: ...
- def generate_gds(self, err: int = 0): ...
- def generate_test_gds(self, gc, dX_gc2gc: int = 300, dY_gc2gc: int = 40, sharp_patch: bool = True): ...
diff --git a/mxpic_release/mxpic/components/primitives/grating_couplers.pyi b/mxpic_release/mxpic/components/primitives/grating_couplers.pyi
deleted file mode 100644
index fcbf25b..0000000
--- a/mxpic_release/mxpic/components/primitives/grating_couplers.pyi
+++ /dev/null
@@ -1,143 +0,0 @@
-from ...basic import __cell_arg__ as __cell_arg__
-from ...routing import Route as Route
-from ...structures import Clothoid as Clothoid, circle as circle, hole as hole
-from _typeshed import Incomplete
-
-class Nano_ant:
- w_wg: Incomplete
- xs_wg: Incomplete
- etch_type: str
- vector: Incomplete
- teeth_number: Incomplete
- pitch: Incomplete
- duty_cycle: Incomplete
- taper_length: Incomplete
- ant_length: Incomplete
- width: Incomplete
- max_theta: Incomplete
- define_type: Incomplete
- etch_depth: Incomplete
- show_pins: Incomplete
- cell: Incomplete
- def __init__(self, w_wg: float = 0.41, xs_wg: str = 'strip', define_type: str = 'non-periodic', vector: float | list = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5], taper_length: float = 3, width: float = 6, max_theta: float = 110, pitch: float | list = 0.6, duty_cycle: float | list = 0.3, teeth_number: float = 6, etch_depth: str | list = ['METCH'], show_pins: bool = True) -> None: ...
- def generate_gds(self, sample_step: float = 0.1, cell_name: str = 'Nanoantenna'): ...
- def generate_gds_positive(self, sample_step: float = 0.1): ...
- def generate_gds_error(self) -> None: ...
-
-class Taper:
- width1: Incomplete
- width2: Incomplete
- length: Incomplete
- type: Incomplete
- order: int
- show_pins: Incomplete
- cell: Incomplete
- def __init__(self, width1: int = 4, width2: float = 0.45, length: int = 30, type: str = 'linear', show_pins: bool = False) -> None: ...
- def generate_gds(self): ...
-
-class Grating_2D_Hole:
- w_wg: Incomplete
- w_gt: Incomplete
- l_taper: Incomplete
- type_taper: Incomplete
- gt_vector: Incomplete
- gt_num: Incomplete
- gt_diameter: Incomplete
- gt_layer: Incomplete
- polysi_vector: Incomplete
- polysi_num: Incomplete
- polysi_diameter: Incomplete
- polysi_layer: Incomplete
- reflector_vector: Incomplete
- l_field_center: Incomplete
- cell: Incomplete
- def __init__(self, w_wg: float = 0.5, w_gt: int = 5, l_taper: int = 30, type_taper: str = 'parabolic', gt_vector=[0.5, 0.5, 0.5, 0.5, 0.5], gt_diameter: float = 0.4, gt_layer: str = 'STRIP_COR', polysi_vector=[0.5, 0.5, 0.5, 0.5, 0.5], polysi_diameter: float = 0.4, polysi_layer: str = 'FCW_TRE', reflector_vector=[0.3, 0.3, 0.3, 0.3, 0.3, 0.3], l_field_center: int = 1) -> None: ...
- reflector_num: Incomplete
- def generate_gds(self): ...
-
-class Grating_2D_Hole_4Rec:
- gt_2D_class: Incomplete
- cell_unit: Incomplete
- mode_radius: Incomplete
- field_center: Incomplete
- show_pins: Incomplete
- cell_name: Incomplete
- cell: Incomplete
- def __init__(self, grating_unit, mode_radius: int = 8, cell_name=None, show_pins: bool = False) -> None: ...
- def generate_gds(self): ...
-
-class Grating_2D_Hole_3Rec:
- gt_2D_class: Incomplete
- cell_unit: Incomplete
- mode_radius: Incomplete
- cell_name: Incomplete
- field_center: Incomplete
- show_pins: Incomplete
- cell: Incomplete
- def __init__(self, grating_unit, mode_radius: float = 6.5, cell_name=None, show_pins: bool = False) -> None: ...
- def generate_gds(self): ...
-
-class GC_STD_2D:
- name: Incomplete
- instantiate: bool
- num_x: Incomplete
- num_y: Incomplete
- Lx_taper: Incomplete
- Ly_taper: Incomplete
- Lx_end: Incomplete
- Ly_end: Incomplete
- Lx_side: Incomplete
- Ly_side: Incomplete
- Lx_port: Incomplete
- Ly_port: Incomplete
- xs_open: Incomplete
- w_wg: Incomplete
- xs_wg: Incomplete
- etch_type: Incomplete
- shape: Incomplete
- hole_shape: Incomplete
- Dx_hole: Incomplete
- Dy_hole: Incomplete
- Px: Incomplete
- Py: Incomplete
- P_AR: Incomplete
- L_AR: Incomplete
- show_pins: Incomplete
- positive: bool
- layer_etch: Incomplete
- cell: Incomplete
- def __init__(self, name=None, etch_type: str = 'FETCH', xs_wg: str = 'grating', Dx_hole: float = 0.3, Dy_hole: float = 0.3, hole_shape: str = 'circle', shape: str = 'circle', xs_open: str = None, Px: float = 0.57, Py: float = 0.57, num_x: float = 25, num_y: float = 25, Lx_taper: float = 50, Ly_taper: float = 0, Lx_end: float = 1, Ly_end: float = 1, Lx_side: float = 0.5, Ly_side: float = 0.5, Lx_port: float = 5, Ly_port: float = 5, w_wg: float = 0.5, show_pins: bool = False, P_AR: float = 0.6, L_AR: float = 1) -> None: ...
- def generate_negative(self): ...
- def generate_positive(self): ...
- def generate_test_gds(self, dX_gc2gc: int = 300): ...
-
-class GC_STD_1D:
- name: Incomplete
- instantiate: bool
- xs_open: Incomplete
- xs_wg: Incomplete
- w_wg: Incomplete
- L_taper: Incomplete
- L_end: Incomplete
- A_taper: Incomplete
- show_pins: Incomplete
- L_tail: Incomplete
- positive: bool
- Period: Incomplete
- eta_etch: Incomplete
- num: Incomplete
- sector_gc: Incomplete
- L_AR: Incomplete
- P_AR: Incomplete
- layer_etch: Incomplete
- cell: Incomplete
- def __init__(self, name=None, xs_wg: str = 'strip', w_wg: float = 0.5, etch_type: str = 'FETCH', xs_open: str = None, L_taper: float = 10, L_end: float = 2, A_taper: float = 30, Period: float = 0.5, eta_etch: float = 0.5, num: float = 20, sector_gc: bool = True, show_pins: bool = False, L_tail: int = 2, P_AR: float = 1, L_AR: float = 2) -> None: ...
- def generate_negative(self): ...
- def generate_positive(self): ...
- def generate_test_dev(self, dX_gc2gc): ...
-
-class FA:
- pitch: Incomplete
- number: Incomplete
- cell: Incomplete
- def __init__(self, fiber_coupler, pitch, number, show_pins: bool = False) -> None: ...
diff --git a/mxpic_release/mxpic/components/primitives/multimode_interferometers.pyi b/mxpic_release/mxpic/components/primitives/multimode_interferometers.pyi
deleted file mode 100644
index 21aba9d..0000000
--- a/mxpic_release/mxpic/components/primitives/multimode_interferometers.pyi
+++ /dev/null
@@ -1,29 +0,0 @@
-from ...structures import *
-from ...routing import Route as Route
-from ...structures import Conchoid as Conchoid
-from _typeshed import Incomplete
-from turtle import shape as shape
-
-class MMI_ML:
- name: Incomplete
- instantiate: bool
- L_arm: Incomplete
- xs: Incomplete
- w_arm: Incomplete
- arm_sine_width: Incomplete
- L_mmi: Incomplete
- w_mmi: Incomplete
- res: Incomplete
- N_out: Incomplete
- N_in: Incomplete
- Dp_out: Incomplete
- Dp_in: Incomplete
- mmi_sine_width: Incomplete
- cell: Incomplete
- L: Incomplete
- def __init__(self, name=None, L_arm=[10], w_arm=[0.45, 1.35], xs: str = 'strip', arm_sine_width: bool = False, L_mmi=[10], w_mmi=[5, 5], mmi_sine_width: bool = False, sharp_patch: bool = True, show_pins: bool = False, res: float = 0.01, N_out: int = 3, N_in: int = 1, Dp_out: float = 1.5, Dp_in: float = 1.5) -> None: ...
- def generate_gds(self, sharp_patch, show_pins): ...
- def generate_test_gds(self, gc, dX_gc2gc, dY_gc2gc, R_bend: int = 10, Xout_offset: int = 50): ...
-
-class MMI_STD(MMI_ML):
- def __init__(self, name=None, N_out: int = 3, N_in: int = 1, L_arm: int = 10, w_wg: float = 0.45, w_port: float = 1.2, xs: str = 'strip', L_mmi: int = 10, w_mmi: int = 5, sharp_patch: bool = True, show_pins: bool = False, Dp_out: float = 1.5, Dp_in: float = 1.5) -> None: ...
diff --git a/mxpic_release/mxpic/components/primitives/spiral.pyi b/mxpic_release/mxpic/components/primitives/spiral.pyi
deleted file mode 100644
index ee51394..0000000
--- a/mxpic_release/mxpic/components/primitives/spiral.pyi
+++ /dev/null
@@ -1,108 +0,0 @@
-from ...structures import *
-from ...foundries import *
-import nazca as nd
-from ...routing import Route as Route
-from ...structures import Conchoid as Conchoid
-from _typeshed import Incomplete
-from scipy import optimize as optimize
-
-class spiral:
- Dmin: Incomplete
- Lmin: Incomplete
- R_bend: Incomplete
- shape: Incomplete
- cycles: Incomplete
- width: Incomplete
- w_port: Incomplete
- gap: Incomplete
- xs: Incomplete
- layer: Incomplete
- name: Incomplete
- instantiate: bool
- port_angle: Incomplete
- w_bend_center: Incomplete
- Rmin_bend_center: Incomplete
- Euler_bend: Incomplete
- Rmin_euler: Incomplete
- sharp_patch: Incomplete
- w_bend_port: Incomplete
- Ltp_port: Incomplete
- cell_transition: Incomplete
- res: Incomplete
- cell: Incomplete
- def __init__(self, name: str = None, shape: str = 'circle', Dmin: float = 50, R_bend: float = 10, Rmin_euler: float = 10, Lmin: float = 50, width: float = 2, w_port: float = 0.45, w_bend_center: float = 1, Rmin_bend_center: float = 10, gap: float = 1, cycles: float = 20, xs: str = 'strip', layer: str = None, w_bend_port=None, Ltp_port: int = 10, res: float = 0.5, cell_transition: nd.Cell = None, port_angle: float = 180, Euler_bend: bool = False, show_pins: bool = False, sharp_patch: bool = True) -> None: ...
- def __strt_with_taper__(self, width1, width2, xs, length, Ltp: int = 15, Lstart: int = 2): ...
- Atilt: Incomplete
- L: Incomplete
- Ru: Incomplete
- Rd: Incomplete
- bend_cell: Incomplete
- def generate_gds(self, show_pins): ...
-
-class spiral_rectangle:
- Dmin: Incomplete
- Lmin: Incomplete
- Rmax_bend: Incomplete
- Rmin_bend: Incomplete
- wmin_bend: Incomplete
- cycles: Incomplete
- width: Incomplete
- w_port: Incomplete
- gap: Incomplete
- xs: Incomplete
- layer: Incomplete
- Ltp: Incomplete
- Lpatch: Incomplete
- name: Incomplete
- instantiate: bool
- port_angle: Incomplete
- sharp_patch: Incomplete
- w_bend_port: Incomplete
- Lport: Incomplete
- cell_xs_transition: Incomplete
- res: Incomplete
- in_out_align: Incomplete
- cell: Incomplete
- def __init__(self, name: str = None, Dmin: float = 50, Rmax_bend: float = 10, Rmin_bend: float = 10, wmin_bend: float = 10, Lmin: float = 50, width: float = 2, w_port: float = 0.45, gap: float = 1, cycles: float = 20, xs: str = 'strip', layer: str = None, w_bend_port=None, Lport: int = 10, Ltp: int = 10, res: float = 0.5, cell_xs_transition=None, port_angle: float = 180, show_pins: bool = False, sharp_patch: bool = True, in_out_align: bool = True, Lpatch: float = 0.05) -> None: ...
- def __strt_with_taper__(self, width1, width2, xs, length, Ltp: int = 15, Lstart: int = 2): ...
- bend_cell: Incomplete
- L: Incomplete
- def generate_gds(self, show_pins): ...
-
-class Spiral_Rect_STD(spiral_rectangle):
- def __init__(self, name: str = None, Dmin: float = 50, R_bend: float = 10, Lmin: float = 50, width: float = 2, w_port: float = 0.45, gap: float = 1, cycles: float = 20, xs: str = 'strip', layer: str = None, Lport: int = 10, in_out_align: bool = True, res: float = 0.5, cell_xs_transition=None, port_angle: float = 180, show_pins: bool = False, sharp_patch: bool = True) -> None: ...
-
-class spiral_circle:
- Dmin: Incomplete
- cycles: Incomplete
- width: Incomplete
- w_port: Incomplete
- gap: Incomplete
- xs: Incomplete
- layer: Incomplete
- name: Incomplete
- instantiate: bool
- port_angle: Incomplete
- w_bend_center: Incomplete
- Euler_Sbend: Incomplete
- sharp_patch: Incomplete
- Lport: Incomplete
- rib2strip: Incomplete
- res: Incomplete
- strict_condition: Incomplete
- R_ratio_mamnual: Incomplete
- cell: Incomplete
- def __init__(self, name: str = None, Dmin: float = 50, width: float = 2, w_port: float = 0.45, w_bend_center: float = 1, gap: float = 1, cycles: float = 20, xs: str = 'strip', layer: str = None, Lport: int = 10, res: float = 0.5, rib2strip: bool = True, port_angle: float = 180, Euler_Sbend: bool = False, show_pins: bool = False, sharp_patch: bool = True, strict_condition: bool = False, R_ratio_mamnual=None) -> None: ...
- def opt_euler(self, R, R0): ...
- Atilt: Incomplete
- Rmax: Incomplete
- L: Incomplete
- Ru: Incomplete
- Rd: Incomplete
- def generate_gds(self, show_pins): ...
-
-class Spiral_Cicle_MM(spiral_circle):
- def __init__(self, name: str = None, Dmin: float = 50, width: float = 2, w_port: float = 0.45, w_bend_center: float = 1, gap: float = 1, cycles: float = 20, xs: str = 'strip', layer: str = None, Lport: int = 10, res: float = 0.5, rib2strip: bool = True, port_angle: float = 180, show_pins: bool = False, sharp_patch: bool = True, strict_condition: bool = False) -> None: ...
-
-class Spiral_Cicle_STD(spiral_circle):
- def __init__(self, name: str = None, Dmin: float = 50, width: float = 2, w_port: float = 0.45, gap: float = 1, cycles: float = 20, xs: str = 'strip', layer: str = None, Lport: int = 10, res: float = 0.5, rib2strip: bool = True, port_angle: float = 180, show_pins: bool = False, sharp_patch: bool = True, strict_condition: bool = False) -> None: ...
diff --git a/mxpic_release/mxpic/core/generate_license.pyi b/mxpic_release/mxpic/core/generate_license.pyi
deleted file mode 100644
index f8f63c2..0000000
--- a/mxpic_release/mxpic/core/generate_license.pyi
+++ /dev/null
@@ -1,3 +0,0 @@
-SECRET_KEY: bytes
-
-def generate_license(mac_address: str, days_valid: int, output_file: str = 'mxpic.lic'): ...
diff --git a/mxpic_release/mxpic/core/license_check.pyi b/mxpic_release/mxpic/core/license_check.pyi
deleted file mode 100644
index ce59c57..0000000
--- a/mxpic_release/mxpic/core/license_check.pyi
+++ /dev/null
@@ -1 +0,0 @@
-def verify_license() -> None: ...
diff --git a/mxpic_release/mxpic/foundries/AMF.pyi b/mxpic_release/mxpic/foundries/AMF.pyi
deleted file mode 100644
index 2d2b2ba..0000000
--- a/mxpic_release/mxpic/foundries/AMF.pyi
+++ /dev/null
@@ -1,11 +0,0 @@
-from .Foundry import Foundry as Foundry
-
-class AMF_Si220_Active(Foundry):
- STD_SMWG_WIDTH: float
- SLAB_GROWTH: int
- W_METAL_MIN: int
- SPACING_HEATER_MIN: int
- SPACING_METAL_MIN: int
- W_HEATER_MIN: int
- lib_path: str
- def __init__(self, layermap=...) -> None: ...
diff --git a/mxpic_release/mxpic/foundries/Foundry.pyi b/mxpic_release/mxpic/foundries/Foundry.pyi
deleted file mode 100644
index 76dbb0c..0000000
--- a/mxpic_release/mxpic/foundries/Foundry.pyi
+++ /dev/null
@@ -1,16 +0,0 @@
-from _typeshed import Incomplete
-
-class Foundry:
- STD_SMWG_WIDTH: float
- SLAB_GROWTH: int
- W_METAL_MIN: int
- SPACING_HEATER_MIN: int
- SPACING_METAL_MIN: float
- W_HEATER_MIN: int
- W_VIA_H2M: float
- SPACING_VIA_H2M: float
- ISL_W_MIN: int
- ISL_SP_MIN: int
- show_pins: bool
- layermap: Incomplete
- def __init__(self, layermap=None) -> None: ...
diff --git a/mxpic_release/mxpic/foundries/Silterra.pyi b/mxpic_release/mxpic/foundries/Silterra.pyi
deleted file mode 100644
index 689a483..0000000
--- a/mxpic_release/mxpic/foundries/Silterra.pyi
+++ /dev/null
@@ -1,11 +0,0 @@
-from .Foundry import Foundry as Foundry
-
-class EOM1_2ML_CU(Foundry):
- STD_SMWG_WIDTH: float
- SLAB_GROWTH: int
- W_METAL_MIN: int
- SPACING_HEATER_MIN: int
- SPACING_METAL_MIN: int
- W_HEATER_MIN: int
- lib_path: str
- def __init__(self, layermap=...) -> None: ...
diff --git a/mxpic_release/mxpic/foundries/__init__.pyi b/mxpic_release/mxpic/foundries/__init__.pyi
deleted file mode 100644
index 57b2a25..0000000
--- a/mxpic_release/mxpic/foundries/__init__.pyi
+++ /dev/null
@@ -1,2 +0,0 @@
-from .AMF import AMF_Si220_Active as AMF_Si220_Active
-from .Silterra import EOM1_2ML_CU as EOM1_2ML_CU
diff --git a/mxpic_release/mxpic/routing/__init__.pyi b/mxpic_release/mxpic/routing/__init__.pyi
deleted file mode 100644
index 94cee78..0000000
--- a/mxpic_release/mxpic/routing/__init__.pyi
+++ /dev/null
@@ -1 +0,0 @@
-from .routing import *
diff --git a/mxpic_release/mxpic/routing/routing.pyi b/mxpic_release/mxpic/routing/routing.pyi
deleted file mode 100644
index eebfd59..0000000
--- a/mxpic_release/mxpic/routing/routing.pyi
+++ /dev/null
@@ -1,36 +0,0 @@
-from ..structures import *
-import nazca as nd
-from _typeshed import Incomplete
-
-def ic_exception(msg: str = '') -> None: ...
-
-class Route(nd.interconnects.Interconnect):
- PCB: Incomplete
- sharp_patch: Incomplete
- Ltp_mm: Incomplete
- width2_mm: Incomplete
- MM_route: Incomplete
- def __init__(self, radius=None, width=None, angle: int = 90, Ltp_mm: int = 10, width2_mm: float = 1.0, MM_route: bool = False, xs=None, layer=None, adapt_width: bool = False, adapt_xs: bool = False, instantiate: bool = False, pinstyle=None, offset=None, varname=None, doc: str = '', PCB: bool = False, modes=None, sharp_patch: bool = True) -> None: ...
- def connPatch(self) -> None: ...
- def rt_bend(self, width: int = 3, xs: str = 'strip', angle: int = 90, layer=None, pin=None): ...
- def strt_mm(self, pin=None, width2=None, Ltp=None, width1=None, Lstart: float = 0.5, length=None, xs=None, arrow: bool = False): ...
- def line_mm(self, length=None, width=None, xs=None, width_mm=None, Ltp=None): ...
- def strt_mm_p2p(self, pin1=None, pin2=None, width2=None, Ltp=None, width1=None, Lstart: float = 0.5, length=None, xs=None, arrow: bool = False, name=None): ...
- def bend_p2p(self, pin1=None, pin2=None, radius=None, width=None, xs=None, name=None, arrow: bool = False, width_mm=None, Ltp=None, sharp_path: bool = True): ...
- def ubend_route(self, pin=None, offset: float = 20.0, radius=None, width=None, xs=None, length: int = 0, name=None, arrow: bool = False, balance: int = 0, end_angle: bool = False, width_mm=None, Ltp=None): ...
- def sbend_route(self, radius=None, width=None, pin=None, xs=None, offset: int = 20, Ltot=None, length1: int = 0, length2: int = 0, name=None, arrow: bool = False, Amax: float = 90.0, original_function: bool = False): ...
- def bend_strt_bend_p2p_mine(self, pin1=None, pin2=None, radius=None, radius1=None, radius2=None, width=None, xs=None, length1: int = 0, length2: int = 0, ictype: str = 'shortest', name=None, arrow: bool = False): ...
- def bend_route(self, radius=None, angle=None, width=None, pin=None, xs=None, length1: float = 0.1, length2: float = 0.1, name=None, arrow: bool = False, offset=None, sharp_patch: bool = True, original_function: bool = False): ...
- def bend_route_p2p(self, pin1=None, pin2=None, radius=None, width=None, xs=None, name=None, arrow: bool = False, original_function: bool = False): ...
- def bend_mine(self, radius=None, angle=None, width=None, pin=None, xs=None, length1: int = 0, length2: int = 0, name=None, arrow: bool = False, offset=None, sharp_patch: bool = True): ...
- def tube_mine(self, geo, showpins: bool = False, name=None, xs=None, arrow: bool = False, Ltp=None, width_mm=None, sharp_patch=None): ...
- def strt_bend_strt_p2p_mine(self, pin1=None, pin2=None, radius=None, radius1=None, radius2=None, width=None, xs=None, length1: int = 0, length2: int = 0, ictype: str = 'shortest', name=None, arrow: bool = False, width_mm=None, Ltp=None): ...
- def sbend_p2p_mine(self, pin1=None, pin2=None, width=None, radius=None, Lstart: int = 0, doFirst: int = 1, arrow: bool = False, width_mm=None, Ltp=None, sharp_patch: bool = False): ...
- def sbend_p2p(self, pin1=None, pin2=None, width=None, radius=None, Amax: int = 90, xs=None, doStrFirst: int = 1, Lstart: int = 0, BendEndFlag: int = 1, ref=None, name=None, arrow: bool = False, bsb: bool = True, sharp_patch=None, width_mm=None, Ltp=None): ...
- def bend_strt_bend_p2p(self, pin1=None, pin2=None, radius=None, radius1=None, radius2=None, width=None, xs=None, length1: int = 0, length2: int = 0, ictype: str = 'shortest', name=None, arrow: bool = True, width_mm=None, Ltp=None): ...
- def ubend_p2p(self, pin1=None, pin2=None, radius=None, width=None, xs=None, length: float = 0.1, name=None, arrow: bool = False, balance: int = 0, end_angle: bool = False, original_function: bool = False, Ltp=None, width_mm=None): ...
- def strt(self, length=None, width=None, pin=None, xs=None, edge1=None, edge2=None, edgepoints: int = 50, name=None, arrow: bool = False, gridpatch=None): ...
- def taper(self, length=None, width1=None, width2=None, shift: int = 0, xs=None, pin=None, name=None, patch: bool = False, arrow: bool = False): ...
- adapt_width: bool
- def taper_p2p(self, pin1=None, pin2=None, width1=None, width2=None, xs=None, name=None, arrow: bool = False): ...
- def strt_p2p(self, pin1=None, pin2=None, width=None, xs=None, name=None, arrow: bool = False): ...
diff --git a/mxpic_release/mxpic/setup.py b/mxpic_release/mxpic/setup.py
deleted file mode 100644
index cb12db5..0000000
--- a/mxpic_release/mxpic/setup.py
+++ /dev/null
@@ -1,9 +0,0 @@
-import os
-from setuptools import setup, Extension
-
-
-setup(
- name="mxpic",
- version="1.0.0",
-
-)
\ No newline at end of file
diff --git a/mxpic_release/mxpic/structures.pyi b/mxpic_release/mxpic/structures.pyi
deleted file mode 100644
index 52bc280..0000000
--- a/mxpic_release/mxpic/structures.pyi
+++ /dev/null
@@ -1,113 +0,0 @@
-import numpy as np
-from _typeshed import Incomplete
-
-class hole:
- cell: Incomplete
- def __init__(self, r_hole: float = 0.3, Dx_hole: float = 0.3, Dy_hole: float = 0.3, Lx_sq: int = 6, Ly_sq: int = 6, offset: int = 0, res: float = 0.05, xs: str = 'strip', layer=None, sharp_patch: bool = True, hole_shape: str = 'circle') -> None: ...
-
-class strt_round_courner:
- cell: Incomplete
- def __init__(self, width: int = 5, length: int = 10, layer=None, radius: int = 1, n_points: int = 64) -> None: ...
-
-class circle:
- vtx: Incomplete
- sz: Incomplete
- w: Incomplete
- cell: Incomplete
- def __init__(self, radius: int = 10, width: float = 0.45, theta_start: int = 0, theta_stop: int = 360, res: float = 0.05, angle=None, xs: str = 'strip', layer=None, sharp_patch: bool = True, y_cut=None) -> None: ...
-
-class mx_bend:
- sz: Incomplete
- w: Incomplete
- cell: Incomplete
- def __init__(self, radius: int = 10, width: float = 0.45, theta_start: int = 0, theta_stop: int = 360, res: float = 0.05, angle=None, xs: str = 'strip', layer=None, sharp_patch: bool = True) -> None: ...
-
-class Elipse_dual:
- ORx: Incomplete
- ORy: Incomplete
- IRx: Incomplete
- IRy: Incomplete
- offset_X: Incomplete
- offset_Y: Incomplete
- xs: Incomplete
- layer: Incomplete
- res: Incomplete
- theta_start: Incomplete
- theta_stop: Incomplete
- y_cut: Incomplete
- cell: Incomplete
- wa: Incomplete
- wb: Incomplete
- def __init__(self, ORx: float, ORy: float, IRx: float, IRy: float, offset_X: float = 0, offset_Y: float = 0, xs: str = None, layer: str = None, theta_start: float = 0, theta_stop: float = 360, sharp_patch: bool = True, res: float = 0.001, y_cut=None) -> None: ...
- sz: Incomplete
- def generate_gds(self, sharp_patch): ...
-
-class Elipse:
- La: Incomplete
- Lb: Incomplete
- wa: Incomplete
- wb: Incomplete
- offset_a: Incomplete
- offset_b: Incomplete
- type: Incomplete
- layer: Incomplete
- xs: Incomplete
- theta_start: Incomplete
- theta_stop: Incomplete
- res: Incomplete
- cell: Incomplete
- def __init__(self, La=None, Lb=None, wa=None, wb=None, offset_a: int = 0, offset_b: int = 0, type: str = 'center', width_type: str = 'sine', layer=None, xs=None, theta_start: int = 0, theta_stop: int = 360, res: float = 0.001, sharp_patch: bool = False, show_pins: bool = False) -> None: ...
- sz: Incomplete
- def generate_gds(self, sharp_patch, show_pins): ...
-
-class Conchoid:
- Atilt: Incomplete
- L: Incomplete
- cell: Incomplete
- vtx_center: Incomplete
- vtx: Incomplete
- K_end: Incomplete
- R_end: Incomplete
- def __init__(self, R0, kR, T, w, layer, w_end=None, res: float = 0.1, final_flat=None, begin_flat=None, xs=None) -> None: ...
-
-class Clothoid:
- name: Incomplete
- R: Incomplete
- A: Incomplete
- width_type: Incomplete
- spiral_order: Incomplete
- dL_cal: Incomplete
- xs: Incomplete
- layer: Incomplete
- dL_wg: Incomplete
- x: Incomplete
- y: Incomplete
- L: Incomplete
- L0: Incomplete
- theta: Incomplete
- vtx_center: Incomplete
- end_patch: Incomplete
- sz: Incomplete
- n_points: Incomplete
- w: Incomplete
- cell: Incomplete
- def __init__(self, name: str = None, R: list | np.ndarray = [10, 20], w: list | np.ndarray | float = [0.4, 0.5], A: list | np.ndarray = [0, 45], width_type: str = 'sine', spiral_order: float | list = 1, Rmax: float = 10000, dL_cal: float = 0.001, dL_wg: float = 0.1, xs: str = 'strip', layer: str = None, sharp_patch: bool = True, end_patch: bool = True, show_pins: bool = False) -> None: ...
- instantiate: bool
- vtx: Incomplete
- sz_p2p: Incomplete
- def generate_gds(self, sharp_patch, show_pins): ...
-
-class Racetrack:
- dLx: Incomplete
- R_bend: Incomplete
- dLy: Incomplete
- xs: Incomplete
- layer: Incomplete
- bend_cell: Incomplete
- A_bend: Incomplete
- w: Incomplete
- w_crack: float
- cell: Incomplete
- def __init__(self, bend_cell=None, xs: str = 'strip', layer=None, R_bend: int = 10, w: float = 0.5, dLx: int = 100, dLy: int = 100, res: float = 0.001) -> None: ...
- sz: Incomplete
- def generate_gds(self): ...