Updated of the forge from github with image system online

This commit is contained in:
2026-05-08 16:20:49 +08:00
parent d7c19ed782
commit 9f2e3f3f78
152 changed files with 1573 additions and 1201 deletions
+24 -44
View File
@@ -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
# --- 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: 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
- 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 }}
+9 -2
View File
@@ -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))
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

@@ -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:
```
@@ -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:
```
@@ -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:
```
@@ -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:
```
@@ -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:
```
@@ -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:
```

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 286 B

Before

Width:  |  Height:  |  Size: 90 B

After

Width:  |  Height:  |  Size: 90 B

Before

Width:  |  Height:  |  Size: 90 B

After

Width:  |  Height:  |  Size: 90 B

@@ -123,35 +123,35 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
@@ -165,7 +165,7 @@
<li class=" ">
<a class="nav-link dropdown-item nav-internal" href="mxpic/components/primitives/spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -245,42 +245,42 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -44,7 +44,7 @@
<script>DOCUMENTATION_OPTIONS.pagename = 'index';</script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="mxpic\components\primitives\beam_splitters" href="mxpic/components/primitives/beam_splitters.html" />
<link rel="next" title="mxpic.components.primitives.beam_splitters" href="mxpic/components/primitives/beam_splitters.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="" />
@@ -125,35 +125,35 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
@@ -167,7 +167,7 @@
<li class=" ">
<a class="nav-link dropdown-item nav-internal" href="mxpic/components/primitives/spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -251,42 +251,42 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -349,48 +349,48 @@ contain the root <code class="docutils literal notranslate"><span class="pre">to
<div class="toctree-wrapper compound">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Components:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/beam_splitters.html">mxpic\components\primitives\beam_splitters</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/beam_splitters.html#mxpic.components.primitives.beam_splitters.YBranch"><code class="docutils literal notranslate"><span class="pre">YBranch</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/beam_splitters.html#mxpic.components.primitives.beam_splitters.Ybranch_3wg"><code class="docutils literal notranslate"><span class="pre">Ybranch_3wg</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/beam_splitters.html">mxpic.components.primitives.beam_splitters</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/beam_splitters.html#ybranch">YBranch</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/beam_splitters.html#ybranch-3wg">Ybranch_3wg</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html">mxpic\components\primitives\directional_couplers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#mxpic.components.primitives.directional_couplers.ADC_STD_2x2"><code class="docutils literal notranslate"><span class="pre">ADC_STD_2x2</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#mxpic.components.primitives.directional_couplers.BS_tdc"><code class="docutils literal notranslate"><span class="pre">BS_tdc</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#mxpic.components.primitives.directional_couplers.DC"><code class="docutils literal notranslate"><span class="pre">DC</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#mxpic.components.primitives.directional_couplers.DC_bend"><code class="docutils literal notranslate"><span class="pre">DC_bend</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#mxpic.components.primitives.directional_couplers.DC_pX_3sg"><code class="docutils literal notranslate"><span class="pre">DC_pX_3sg</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#mxpic.components.primitives.directional_couplers.MDM"><code class="docutils literal notranslate"><span class="pre">MDM</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#mxpic.components.primitives.directional_couplers.ring_bus_wg"><code class="docutils literal notranslate"><span class="pre">ring_bus_wg</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html">mxpic.components.primitives.directional_couplers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#adc-std-2x2">ADC_STD_2x2</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#bs-tdc">BS_tdc</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#dc">DC</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#dc-bend">DC_bend</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#dc-px-3sg">DC_pX_3sg</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#mdm">MDM</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/directional_couplers.html#ring-bus-wg">ring_bus_wg</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">mxpic\components\primitives\EC_dual_layer_px3</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/EC_dual_layer_px3.html#mxpic.components.primitives.EC_dual_layer_px3.EC_dual_layer_px3"><code class="docutils literal notranslate"><span class="pre">EC_dual_layer_px3</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">mxpic.components.primitives.EC_dual_layer_px3</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/EC_dual_layer_px3.html#ec-dual-layer-px3">EC_dual_layer_px3</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html">mxpic\components\primitives\grating_couplers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#mxpic.components.primitives.grating_couplers.FA"><code class="docutils literal notranslate"><span class="pre">FA</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#mxpic.components.primitives.grating_couplers.GC_STD_1D"><code class="docutils literal notranslate"><span class="pre">GC_STD_1D</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#mxpic.components.primitives.grating_couplers.GC_STD_2D"><code class="docutils literal notranslate"><span class="pre">GC_STD_2D</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#mxpic.components.primitives.grating_couplers.Grating_2D_Hole"><code class="docutils literal notranslate"><span class="pre">Grating_2D_Hole</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#mxpic.components.primitives.grating_couplers.Grating_2D_Hole_3Rec"><code class="docutils literal notranslate"><span class="pre">Grating_2D_Hole_3Rec</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#mxpic.components.primitives.grating_couplers.Grating_2D_Hole_4Rec"><code class="docutils literal notranslate"><span class="pre">Grating_2D_Hole_4Rec</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#mxpic.components.primitives.grating_couplers.Nano_ant"><code class="docutils literal notranslate"><span class="pre">Nano_ant</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#mxpic.components.primitives.grating_couplers.Taper"><code class="docutils literal notranslate"><span class="pre">Taper</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html">mxpic.components.primitives.grating_couplers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#fa">FA</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#gc-std-1d">GC_STD_1D</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#gc-std-2d">GC_STD_2D</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#grating-2d-hole">Grating_2D_Hole</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#grating-2d-hole-3rec">Grating_2D_Hole_3Rec</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#grating-2d-hole-4rec">Grating_2D_Hole_4Rec</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#nano-ant">Nano_ant</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/grating_couplers.html#taper">Taper</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/multimode_interferometers.html">mxpic\components\primitives\multimode_interferometers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/multimode_interferometers.html#mxpic.components.primitives.multimode_interferometers.MMI_ML"><code class="docutils literal notranslate"><span class="pre">MMI_ML</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/multimode_interferometers.html#mxpic.components.primitives.multimode_interferometers.MMI_STD"><code class="docutils literal notranslate"><span class="pre">MMI_STD</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/multimode_interferometers.html">mxpic.components.primitives.multimode_interferometers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/multimode_interferometers.html#mmi-ml">MMI_ML</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/multimode_interferometers.html#mmi-std">MMI_STD</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/spiral.html">mxpic\components\primitives\spiral</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#mxpic.components.primitives.spiral.Spiral_Cicle_MM"><code class="docutils literal notranslate"><span class="pre">Spiral_Cicle_MM</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#mxpic.components.primitives.spiral.Spiral_Cicle_STD"><code class="docutils literal notranslate"><span class="pre">Spiral_Cicle_STD</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#mxpic.components.primitives.spiral.Spiral_Rect_STD"><code class="docutils literal notranslate"><span class="pre">Spiral_Rect_STD</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#mxpic.components.primitives.spiral.spiral"><code class="docutils literal notranslate"><span class="pre">spiral</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#mxpic.components.primitives.spiral.spiral_circle"><code class="docutils literal notranslate"><span class="pre">spiral_circle</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#mxpic.components.primitives.spiral.spiral_rectangle"><code class="docutils literal notranslate"><span class="pre">spiral_rectangle</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="mxpic/components/primitives/spiral.html">mxpic.components.primitives.spiral</a><ul>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#spiral-cicle-mm">Spiral_Cicle_MM</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#spiral-cicle-std">Spiral_Cicle_STD</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#spiral-rect-std">Spiral_Rect_STD</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#spiral">spiral</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#spiral-circle">spiral_circle</a></li>
<li class="toctree-l2"><a class="reference internal" href="mxpic/components/primitives/spiral.html#spiral-rectangle">spiral_rectangle</a></li>
</ul>
</li>
</ul>
@@ -412,7 +412,7 @@ contain the root <code class="docutils literal notranslate"><span class="pre">to
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">mxpic\components\primitives\beam_splitters</p>
<p class="prev-next-title">mxpic.components.primitives.beam_splitters</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
@@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mxpic\components\primitives\beam_splitters &#8212; mxpic_handbook mxpic documentation</title>
<title>mxpic.components.primitives.beam_splitters &#8212; mxpic_handbook mxpic documentation</title>
@@ -44,7 +44,7 @@
<script>DOCUMENTATION_OPTIONS.pagename = 'mxpic/components/primitives/beam_splitters';</script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="mxpic\components\primitives\directional_couplers" href="directional_couplers.html" />
<link rel="next" title="mxpic.components.primitives.directional_couplers" href="directional_couplers.html" />
<link rel="prev" title="Welcome to the automated documentation for the mxPIC silicon photonics library." href="../../../index.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
@@ -126,35 +126,35 @@
<li class="nav-item current active">
<a class="nav-link nav-internal" href="#">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
@@ -168,7 +168,7 @@
<li class=" ">
<a class="nav-link dropdown-item nav-internal" href="spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -250,42 +250,42 @@
<li class="nav-item current active">
<a class="nav-link nav-internal" href="#">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -355,7 +355,7 @@
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">mxpic\components\primitives\beam_splitters</span></li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">mxpic.components.primitives.beam_splitters</span></li>
</ul>
</nav>
</div>
@@ -373,7 +373,11 @@
<article class="bd-article">
<section id="module-mxpic.components.primitives.beam_splitters">
<span id="mxpic-components-primitives-beam-splitters"></span><h1>mxpic\components\primitives\beam_splitters<a class="headerlink" href="#module-mxpic.components.primitives.beam_splitters" title="Link to this heading">#</a></h1>
<span id="mxpic-components-primitives-beam-splitters"></span><h1>mxpic.components.primitives.beam_splitters<a class="headerlink" href="#module-mxpic.components.primitives.beam_splitters" title="Link to this heading">#</a></h1>
<section id="ybranch">
<h2>YBranch<a class="headerlink" href="#ybranch" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="../../../_images/YBranch.png"><img alt="../../../_images/YBranch.png" class="align-center" src="../../../_images/YBranch.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.beam_splitters.YBranch">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.beam_splitters.</span></span><span class="sig-name descname"><span class="pre">YBranch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[1.2,</span> <span class="pre">1.0,</span> <span class="pre">1.8,</span> <span class="pre">1.2,</span> <span class="pre">1.0,</span> <span class="pre">1.2,</span> <span class="pre">1.2]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_att</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">A_att</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.beam_splitters.YBranch" title="Link to this definition">#</a></dt>
@@ -403,6 +407,11 @@ Length must be &gt;= 2. Default is <code class="docutils literal notranslate"><s
</dd></dl>
</section>
<section id="ybranch-3wg">
<h2>Ybranch_3wg<a class="headerlink" href="#ybranch-3wg" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="../../../_images/Ybranch_3wg.png"><img alt="../../../_images/Ybranch_3wg.png" class="align-center" src="../../../_images/Ybranch_3wg.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.beam_splitters.Ybranch_3wg">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.beam_splitters.</span></span><span class="sig-name descname"><span class="pre">Ybranch_3wg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w0</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.18</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lcp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R0</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_attach</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_in_tp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.beam_splitters.Ybranch_3wg" title="Link to this definition">#</a></dt>
@@ -440,6 +449,7 @@ Length must be &gt;= 2. Default is <code class="docutils literal notranslate"><s
</dd></dl>
</section>
</section>
@@ -466,7 +476,7 @@ Length must be &gt;= 2. Default is <code class="docutils literal notranslate"><s
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">mxpic\components\primitives\directional_couplers</p>
<p class="prev-next-title">mxpic.components.primitives.directional_couplers</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
@@ -489,13 +499,19 @@ Length must be &gt;= 2. Default is <code class="docutils literal notranslate"><s
</div>
<nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.YBranch"><code class="docutils literal notranslate"><span class="pre">YBranch</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.YBranch.generate_gds"><code class="docutils literal notranslate"><span class="pre">YBranch.generate_gds()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#ybranch">YBranch</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.YBranch"><code class="docutils literal notranslate"><span class="pre">YBranch</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.YBranch.generate_gds"><code class="docutils literal notranslate"><span class="pre">YBranch.generate_gds()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#ybranch-3wg">Ybranch_3wg</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.Ybranch_3wg"><code class="docutils literal notranslate"><span class="pre">Ybranch_3wg</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.Ybranch_3wg.generate_gds"><code class="docutils literal notranslate"><span class="pre">Ybranch_3wg.generate_gds()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.Ybranch_3wg.generate_test_gds"><code class="docutils literal notranslate"><span class="pre">Ybranch_3wg.generate_test_gds()</span></code></a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.Ybranch_3wg"><code class="docutils literal notranslate"><span class="pre">Ybranch_3wg</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.Ybranch_3wg.generate_gds"><code class="docutils literal notranslate"><span class="pre">Ybranch_3wg.generate_gds()</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.beam_splitters.Ybranch_3wg.generate_test_gds"><code class="docutils literal notranslate"><span class="pre">Ybranch_3wg.generate_test_gds()</span></code></a></li>
</ul>
</li>
</ul>
@@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mxpic\components\primitives\multimode_interferometers &#8212; mxpic_handbook mxpic documentation</title>
<title>mxpic.components.primitives.multimode_interferometers &#8212; mxpic_handbook mxpic documentation</title>
@@ -44,8 +44,8 @@
<script>DOCUMENTATION_OPTIONS.pagename = 'mxpic/components/primitives/multimode_interferometers';</script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="mxpic\components\primitives\spiral" href="spiral.html" />
<link rel="prev" title="mxpic\components\primitives\grating_couplers" href="grating_couplers.html" />
<link rel="next" title="mxpic.components.primitives.spiral" href="spiral.html" />
<link rel="prev" title="mxpic.components.primitives.grating_couplers" href="grating_couplers.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="" />
@@ -126,35 +126,35 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="#">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
@@ -168,7 +168,7 @@
<li class=" ">
<a class="nav-link dropdown-item nav-internal" href="spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -250,42 +250,42 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="#">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -355,7 +355,7 @@
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">mxpic\components\primitives\multimode_interferometers</span></li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">mxpic.components.primitives.multimode_interferometers</span></li>
</ul>
</nav>
</div>
@@ -373,7 +373,11 @@
<article class="bd-article">
<section id="module-mxpic.components.primitives.multimode_interferometers">
<span id="mxpic-components-primitives-multimode-interferometers"></span><h1>mxpic\components\primitives\multimode_interferometers<a class="headerlink" href="#module-mxpic.components.primitives.multimode_interferometers" title="Link to this heading">#</a></h1>
<span id="mxpic-components-primitives-multimode-interferometers"></span><h1>mxpic.components.primitives.multimode_interferometers<a class="headerlink" href="#module-mxpic.components.primitives.multimode_interferometers" title="Link to this heading">#</a></h1>
<section id="mmi-ml">
<h2>MMI_ML<a class="headerlink" href="#mmi-ml" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="../../../_images/MMI_ML.png"><img alt="../../../_images/MMI_ML.png" class="align-center" src="../../../_images/MMI_ML.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.multimode_interferometers.MMI_ML">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.multimode_interferometers.</span></span><span class="sig-name descname"><span class="pre">MMI_ML</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[10]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[0.45,</span> <span class="pre">1.35]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arm_sine_width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_mmi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[10]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_mmi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[5,</span> <span class="pre">5]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mmi_sine_width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.01</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">N_out</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">N_in</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dp_out</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dp_in</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.5</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.multimode_interferometers.MMI_ML" title="Link to this definition">#</a></dt>
@@ -412,6 +416,11 @@
</dd></dl>
</section>
<section id="mmi-std">
<h2>MMI_STD<a class="headerlink" href="#mmi-std" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="../../../_images/MMI_STD.png"><img alt="../../../_images/MMI_STD.png" class="align-center" src="../../../_images/MMI_STD.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.multimode_interferometers.MMI_STD">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.multimode_interferometers.</span></span><span class="sig-name descname"><span class="pre">MMI_STD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">N_out</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">N_in</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_mmi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_mmi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dp_out</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dp_in</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.5</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.multimode_interferometers.MMI_STD" title="Link to this definition">#</a></dt>
@@ -438,6 +447,7 @@
</dl>
</dd></dl>
</section>
</section>
@@ -456,7 +466,7 @@
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">mxpic\components\primitives\grating_couplers</p>
<p class="prev-next-title">mxpic.components.primitives.grating_couplers</p>
</div>
</a>
<a class="right-next"
@@ -464,7 +474,7 @@
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">mxpic\components\primitives\spiral</p>
<p class="prev-next-title">mxpic.components.primitives.spiral</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
@@ -487,12 +497,18 @@
</div>
<nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.multimode_interferometers.MMI_ML"><code class="docutils literal notranslate"><span class="pre">MMI_ML</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.multimode_interferometers.MMI_ML.generate_gds"><code class="docutils literal notranslate"><span class="pre">MMI_ML.generate_gds()</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.multimode_interferometers.MMI_ML.generate_test_gds"><code class="docutils literal notranslate"><span class="pre">MMI_ML.generate_test_gds()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mmi-ml">MMI_ML</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.multimode_interferometers.MMI_ML"><code class="docutils literal notranslate"><span class="pre">MMI_ML</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.multimode_interferometers.MMI_ML.generate_gds"><code class="docutils literal notranslate"><span class="pre">MMI_ML.generate_gds()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.multimode_interferometers.MMI_ML.generate_test_gds"><code class="docutils literal notranslate"><span class="pre">MMI_ML.generate_test_gds()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mmi-std">MMI_STD</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.multimode_interferometers.MMI_STD"><code class="docutils literal notranslate"><span class="pre">MMI_STD</span></code></a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.multimode_interferometers.MMI_STD"><code class="docutils literal notranslate"><span class="pre">MMI_STD</span></code></a></li>
</ul>
</nav></div>
@@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mxpic\components\primitives\spiral &#8212; mxpic_handbook mxpic documentation</title>
<title>mxpic.components.primitives.spiral &#8212; mxpic_handbook mxpic documentation</title>
@@ -44,7 +44,7 @@
<script>DOCUMENTATION_OPTIONS.pagename = 'mxpic/components/primitives/spiral';</script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="prev" title="mxpic\components\primitives\multimode_interferometers" href="multimode_interferometers.html" />
<link rel="prev" title="mxpic.components.primitives.multimode_interferometers" href="multimode_interferometers.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="" />
@@ -125,35 +125,35 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
@@ -167,7 +167,7 @@
<li class=" current active">
<a class="nav-link dropdown-item nav-internal" href="#">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -249,42 +249,42 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="#">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -354,7 +354,7 @@
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">mxpic\components\primitives\spiral</span></li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">mxpic.components.primitives.spiral</span></li>
</ul>
</nav>
</div>
@@ -372,7 +372,11 @@
<article class="bd-article">
<section id="module-mxpic.components.primitives.spiral">
<span id="mxpic-components-primitives-spiral"></span><h1>mxpic\components\primitives\spiral<a class="headerlink" href="#module-mxpic.components.primitives.spiral" title="Link to this heading">#</a></h1>
<span id="mxpic-components-primitives-spiral"></span><h1>mxpic.components.primitives.spiral<a class="headerlink" href="#module-mxpic.components.primitives.spiral" title="Link to this heading">#</a></h1>
<section id="spiral-cicle-mm">
<h2>Spiral_Cicle_MM<a class="headerlink" href="#spiral-cicle-mm" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="../../../_images/Spiral_Cicle_MM.png"><img alt="../../../_images/Spiral_Cicle_MM.png" class="align-center" src="../../../_images/Spiral_Cicle_MM.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.spiral.Spiral_Cicle_MM">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.spiral.</span></span><span class="sig-name descname"><span class="pre">Spiral_Cicle_MM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_bend_center</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lport</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rib2strip</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">strict_condition</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.spiral.Spiral_Cicle_MM" title="Link to this definition">#</a></dt>
@@ -401,6 +405,11 @@
</dl>
</dd></dl>
</section>
<section id="spiral-cicle-std">
<h2>Spiral_Cicle_STD<a class="headerlink" href="#spiral-cicle-std" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="../../../_images/Spiral_Cicle_STD.png"><img alt="../../../_images/Spiral_Cicle_STD.png" class="align-center" src="../../../_images/Spiral_Cicle_STD.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.spiral.Spiral_Cicle_STD">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.spiral.</span></span><span class="sig-name descname"><span class="pre">Spiral_Cicle_STD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lport</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rib2strip</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">strict_condition</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.spiral.Spiral_Cicle_STD" title="Link to this definition">#</a></dt>
@@ -428,6 +437,11 @@
</dl>
</dd></dl>
</section>
<section id="spiral-rect-std">
<h2>Spiral_Rect_STD<a class="headerlink" href="#spiral-rect-std" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="mxpic/components/primitives/Spiral_Rect_STD.png"><img alt="mxpic/components/primitives/Spiral_Rect_STD.png" class="align-center" src="mxpic/components/primitives/Spiral_Rect_STD.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.spiral.Spiral_Rect_STD">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.spiral.</span></span><span class="sig-name descname"><span class="pre">Spiral_Rect_STD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lport</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">in_out_align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cell_xs_transition</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.spiral.Spiral_Rect_STD" title="Link to this definition">#</a></dt>
@@ -458,9 +472,14 @@
</dl>
</dd></dl>
</section>
<section id="spiral">
<h2>spiral<a class="headerlink" href="#spiral" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="../../../_images/spiral.png"><img alt="../../../_images/spiral.png" class="align-center" src="../../../_images/spiral.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.spiral.spiral">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.spiral.</span></span><span class="sig-name descname"><span class="pre">spiral</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shape</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'circle'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmin_euler</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_bend_center</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmin_bend_center</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_bend_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cell_transition</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Euler_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.spiral.spiral" title="Link to this definition">#</a></dt>
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.spiral.</span></span><span class="sig-name descname"><span class="pre">spiral</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shape</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'circle'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmin_euler</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_bend_center</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmin_bend_center</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_bend_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cell_transition</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Euler_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_build</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.spiral.spiral" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Parametric waveguide spiral supporting circular or rectangular footprints.</p>
<dl class="field-list simple">
@@ -498,6 +517,11 @@
</dd></dl>
</section>
<section id="spiral-circle">
<h2>spiral_circle<a class="headerlink" href="#spiral-circle" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="../../../_images/spiral_circle.png"><img alt="../../../_images/spiral_circle.png" class="align-center" src="../../../_images/spiral_circle.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.spiral.spiral_circle">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.spiral.</span></span><span class="sig-name descname"><span class="pre">spiral_circle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_bend_center</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lport</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rib2strip</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Euler_Sbend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">strict_condition</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_ratio_mamnual</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.spiral.spiral_circle" title="Link to this definition">#</a></dt>
@@ -545,9 +569,14 @@
</dd></dl>
</section>
<section id="spiral-rectangle">
<h2>spiral_rectangle<a class="headerlink" href="#spiral-rectangle" title="Link to this heading">#</a></h2>
<a class="reference internal image-reference" href="mxpic/components/primitives/spiral_rectangle.png"><img alt="mxpic/components/primitives/spiral_rectangle.png" class="align-center" src="mxpic/components/primitives/spiral_rectangle.png" style="width: 600px;" />
</a>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.primitives.spiral.spiral_rectangle">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.spiral.</span></span><span class="sig-name descname"><span class="pre">spiral_rectangle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmax_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmin_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wmin_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_bend_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lport</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cell_xs_transition</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">in_out_align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lpatch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.05</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.spiral.spiral_rectangle" title="Link to this definition">#</a></dt>
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.primitives.spiral.</span></span><span class="sig-name descname"><span class="pre">spiral_rectangle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Dmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmax_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmin_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wmin_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lmin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cycles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_bend_port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lport</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cell_xs_transition</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_pins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">in_out_align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lpatch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_build</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.primitives.spiral.spiral_rectangle" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Rectangular spiral with optional cross-section transitions and alignment control.</p>
<dl class="field-list simple">
@@ -585,6 +614,7 @@
</dd></dl>
</section>
</section>
@@ -603,7 +633,7 @@
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">mxpic\components\primitives\multimode_interferometers</p>
<p class="prev-next-title">mxpic.components.primitives.multimode_interferometers</p>
</div>
</a>
</div>
@@ -625,21 +655,39 @@
</div>
<nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.Spiral_Cicle_MM"><code class="docutils literal notranslate"><span class="pre">Spiral_Cicle_MM</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.Spiral_Cicle_STD"><code class="docutils literal notranslate"><span class="pre">Spiral_Cicle_STD</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.Spiral_Rect_STD"><code class="docutils literal notranslate"><span class="pre">Spiral_Rect_STD</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral"><code class="docutils literal notranslate"><span class="pre">spiral</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral.generate_gds"><code class="docutils literal notranslate"><span class="pre">spiral.generate_gds()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#spiral-cicle-mm">Spiral_Cicle_MM</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.Spiral_Cicle_MM"><code class="docutils literal notranslate"><span class="pre">Spiral_Cicle_MM</span></code></a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_circle"><code class="docutils literal notranslate"><span class="pre">spiral_circle</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_circle.cell"><code class="docutils literal notranslate"><span class="pre">spiral_circle.cell</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_circle.generate_gds"><code class="docutils literal notranslate"><span class="pre">spiral_circle.generate_gds()</span></code></a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_circle.opt_euler"><code class="docutils literal notranslate"><span class="pre">spiral_circle.opt_euler()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#spiral-cicle-std">Spiral_Cicle_STD</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.Spiral_Cicle_STD"><code class="docutils literal notranslate"><span class="pre">Spiral_Cicle_STD</span></code></a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#spiral-rect-std">Spiral_Rect_STD</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.Spiral_Rect_STD"><code class="docutils literal notranslate"><span class="pre">Spiral_Rect_STD</span></code></a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#spiral">spiral</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral"><code class="docutils literal notranslate"><span class="pre">spiral</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral.generate_gds"><code class="docutils literal notranslate"><span class="pre">spiral.generate_gds()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#spiral-circle">spiral_circle</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_circle"><code class="docutils literal notranslate"><span class="pre">spiral_circle</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_circle.cell"><code class="docutils literal notranslate"><span class="pre">spiral_circle.cell</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_circle.generate_gds"><code class="docutils literal notranslate"><span class="pre">spiral_circle.generate_gds()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_circle.opt_euler"><code class="docutils literal notranslate"><span class="pre">spiral_circle.opt_euler()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#spiral-rectangle">spiral_rectangle</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_rectangle"><code class="docutils literal notranslate"><span class="pre">spiral_rectangle</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_rectangle.generate_gds"><code class="docutils literal notranslate"><span class="pre">spiral_rectangle.generate_gds()</span></code></a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_rectangle"><code class="docutils literal notranslate"><span class="pre">spiral_rectangle</span></code></a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.primitives.spiral.spiral_rectangle.generate_gds"><code class="docutils literal notranslate"><span class="pre">spiral_rectangle.generate_gds()</span></code></a></li>
</ul>
</li>
</ul>
BIN
View File
Binary file not shown.
@@ -126,35 +126,35 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
@@ -168,7 +168,7 @@
<li class=" ">
<a class="nav-link dropdown-item nav-internal" href="mxpic/components/primitives/spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -248,42 +248,42 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -125,35 +125,35 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
@@ -167,7 +167,7 @@
<li class=" ">
<a class="nav-link dropdown-item nav-internal" href="mxpic/components/primitives/spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
@@ -247,42 +247,42 @@
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/beam_splitters.html">
mxpic\components\primitives\beam_splitters
mxpic.components.primitives.beam_splitters
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/directional_couplers.html">
mxpic\components\primitives\directional_couplers
mxpic.components.primitives.directional_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/EC_dual_layer_px3.html">
mxpic\components\primitives\EC_dual_layer_px3
mxpic.components.primitives.EC_dual_layer_px3
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/grating_couplers.html">
mxpic\components\primitives\grating_couplers
mxpic.components.primitives.grating_couplers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/multimode_interferometers.html">
mxpic\components\primitives\multimode_interferometers
mxpic.components.primitives.multimode_interferometers
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="mxpic/components/primitives/spiral.html">
mxpic\components\primitives\spiral
mxpic.components.primitives.spiral
</a>
</li>
File diff suppressed because one or more lines are too long
+110
View File
@@ -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/")
+166
View File
@@ -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()

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

@@ -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:
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

@@ -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:
```

Some files were not shown because too many files have changed in this diff Show More