New forge coding added
This commit is contained in:
+93
-80
@@ -1,118 +1,131 @@
|
||||
import os
|
||||
import sys
|
||||
import importlib
|
||||
import inspect
|
||||
from pathlib import Path
|
||||
|
||||
import matplotlib
|
||||
import shutil
|
||||
matplotlib.use('Agg')
|
||||
|
||||
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').
|
||||
from generate_handbook import DEFAULT_PACKAGE_ROOT, DEFAULT_SRC_ROOT, public_top_level_members
|
||||
|
||||
|
||||
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
|
||||
"WG": "blue",
|
||||
"SLAB": "cyan",
|
||||
"M1": "#FFD700",
|
||||
"M2": "silver",
|
||||
"DEEP_TRENCH": "black",
|
||||
(1, 0): "darkred",
|
||||
(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...")
|
||||
|
||||
def apply_mxpic_colors() -> None:
|
||||
"""Apply the mxPIC color palette to Nazca when the layers are available."""
|
||||
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
|
||||
continue
|
||||
|
||||
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")
|
||||
def remove_generated_pngs(img_root: Path) -> None:
|
||||
"""Remove generated images while preserving Markdown and other docs files."""
|
||||
if not img_root.exists():
|
||||
return
|
||||
|
||||
for png_file in img_root.rglob("*.png"):
|
||||
png_file.unlink()
|
||||
|
||||
|
||||
def module_name_for(py_file: Path, src_root: Path, package_root: str) -> str:
|
||||
relative_path = py_file.relative_to(src_root).with_suffix("")
|
||||
return f"{package_root}.{'.'.join(relative_path.parts)}"
|
||||
|
||||
|
||||
def generate_image_for_class(target_dir: Path, class_name: str, component_class: type) -> str:
|
||||
"""Instantiate one component class and save its cell image."""
|
||||
nd.clear_layout()
|
||||
instance = component_class()
|
||||
cell = getattr(instance, "cell", None)
|
||||
if cell is None:
|
||||
return "skipped"
|
||||
|
||||
target_dir.mkdir(parents=True, exist_ok=True)
|
||||
image_path = target_dir / f"{class_name}.png"
|
||||
nd.export_plt(path="", title=class_name, topcells=[cell])
|
||||
plt.savefig(image_path, bbox_inches="tight", dpi=300)
|
||||
plt.close()
|
||||
return "generated"
|
||||
|
||||
|
||||
def generate_component_images(
|
||||
img_root: Path = Path("images/components"),
|
||||
src_root: Path = DEFAULT_SRC_ROOT,
|
||||
package_root: str = DEFAULT_PACKAGE_ROOT,
|
||||
) -> dict[str, int]:
|
||||
print("Starting mxPIC component image generation...")
|
||||
|
||||
img_root = Path(img_root)
|
||||
|
||||
# 1. Delete the directory and all its contents
|
||||
if img_root.exists() and img_root.is_dir():
|
||||
shutil.rmtree(img_root)
|
||||
|
||||
# 2. Recreate the directory
|
||||
img_root.mkdir(parents=True, exist_ok=True)
|
||||
src_root = Path(src_root)
|
||||
counts = {"generated": 0, "skipped": 0, "failed": 0}
|
||||
|
||||
if not src_root.exists():
|
||||
print(f"❌ Error: Source directory '{src_root}' not found.")
|
||||
sys.exit(1)
|
||||
print(f"Source directory not found: {src_root}")
|
||||
counts["failed"] += 1
|
||||
return counts
|
||||
|
||||
# Walk through all Python files in the components folder
|
||||
success_count = 0
|
||||
fail_count = 0
|
||||
img_root.mkdir(parents=True, exist_ok=True)
|
||||
remove_generated_pngs(img_root)
|
||||
apply_mxpic_colors()
|
||||
|
||||
tapeout = mx.foundries.Silterra.EOM1_2ML_CU()
|
||||
|
||||
for py_file in src_root.rglob("*.py"):
|
||||
for py_file in sorted(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, ".")
|
||||
|
||||
module_name = module_name_for(py_file, src_root, package_root)
|
||||
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
|
||||
except Exception as error:
|
||||
print(f"Skipped module import {module_name}: {error}")
|
||||
counts["skipped"] += 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"
|
||||
class_names, _ = public_top_level_members(py_file)
|
||||
for class_name in class_names:
|
||||
component_class = getattr(module, class_name, None)
|
||||
if component_class is None:
|
||||
print(f"Skipped missing class {module_name}.{class_name}")
|
||||
counts["skipped"] += 1
|
||||
continue
|
||||
|
||||
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
|
||||
target_dir = img_root / py_file.relative_to(src_root).parent
|
||||
result = generate_image_for_class(target_dir, class_name, component_class)
|
||||
except Exception as error:
|
||||
plt.close()
|
||||
print(f"Failed image for {module_name}.{class_name}: {error}")
|
||||
counts["failed"] += 1
|
||||
continue
|
||||
|
||||
print(f"✅ Generated: {str(target_dir)}\\{name}.png")
|
||||
success_count += 1
|
||||
counts[result] += 1
|
||||
if result == "generated":
|
||||
print(f"Generated: {target_dir / f'{class_name}.png'}")
|
||||
else:
|
||||
print(f"Skipped class without cell: {module_name}.{class_name}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Failed to generate image for {name} in {module_name}: {e}")
|
||||
fail_count += 1
|
||||
print(
|
||||
"Image generation complete. "
|
||||
f"Generated: {counts['generated']} | "
|
||||
f"Skipped: {counts['skipped']} | "
|
||||
f"Failures: {counts['failed']}"
|
||||
)
|
||||
return counts
|
||||
|
||||
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/")
|
||||
generate_component_images(img_root=Path("docs/source/mxpic/components"))
|
||||
|
||||
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Vendored
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 343 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 318 KiB |
+5
-11
@@ -1,16 +1,10 @@
|
||||
.. mxpic_handbook documentation master file, created by
|
||||
sphinx-quickstart on Sun May 3 16:05:57 2026.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
# mxPIC Handbook
|
||||
|
||||
Welcome to the automated documentation for the mxPIC silicon photonics library.
|
||||
|
||||
# Welcome to the automated documentation for the mxPIC silicon photonics library.
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
:caption: Components:
|
||||
|
||||
mxpic/components/primitives/beam_splitters
|
||||
mxpic/components/primitives/directional_couplers
|
||||
mxpic/components/primitives/EC_dual_layer_px3
|
||||
mxpic/components/primitives/grating_couplers
|
||||
mxpic/components/primitives/multimode_interferometers
|
||||
mxpic/components/primitives/spiral
|
||||
mxpic/components/index
|
||||
```
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# mxpic.components.basic
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.basic
|
||||
:no-members:
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
# mxpic.components.composites.LoopMirror
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.composites.LoopMirror
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## LoopMirror
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.LoopMirror.LoopMirror
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,69 @@
|
||||
# mxpic.components.composites.MZI
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.composites.MZI
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## MZI
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI.MZI
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_NS
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI.MZI_NS
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_NS_ubend
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI.MZI_NS_ubend
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_2st_ubend
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI.MZI_2st_ubend
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_Eubend
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI.MZI_Eubend
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_Ubend
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI.MZI_Ubend
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_Butterfly
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI.MZI_Butterfly
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,60 @@
|
||||
# mxpic.components.composites.MZI_mesh
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.composites.MZI_mesh
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## W_waveguide
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI_mesh.W_waveguide
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## UMat_2x2_S
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI_mesh.UMat_2x2_S
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_mesh_U
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI_mesh.MZI_mesh_U
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## AMZI_W
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI_mesh.AMZI_W
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_mesh_Parl
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI_mesh.MZI_mesh_Parl
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MZI_mesh_Tri
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.MZI_mesh.MZI_mesh_Tri
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
# mxpic.components.composites.SptTree
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.composites.SptTree
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## SplittingTree
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.composites.SptTree.SplittingTree
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,6 @@
|
||||
# mxpic.components.composites.advance
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.composites.advance
|
||||
:no-members:
|
||||
```
|
||||
@@ -0,0 +1,11 @@
|
||||
# Composites
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
LoopMirror
|
||||
MZI
|
||||
MZI_mesh
|
||||
SptTree
|
||||
advance
|
||||
```
|
||||
@@ -0,0 +1,51 @@
|
||||
# mxpic.components.electronics.eic_units
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.electronics.eic_units
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## ISL
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.electronics.eic_units.ISL
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Vias
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.electronics.eic_units.Vias
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PAD
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.electronics.eic_units.PAD
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PADs
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.electronics.eic_units.PADs
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Vias_arc
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.electronics.eic_units.Vias_arc
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
# Electronics
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
eic_units
|
||||
```
|
||||
@@ -0,0 +1,21 @@
|
||||
# mxpic.components.gds_devices
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.gds_devices
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## gds_lib_load
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.gds_devices.gds_lib_load
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## generate_gds_lib
|
||||
|
||||
```{eval-rst}
|
||||
.. autofunction:: mxpic.components.gds_devices.generate_gds_lib
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
# Components
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
composites/index
|
||||
electronics/index
|
||||
others/index
|
||||
pdks/index
|
||||
primitives/index
|
||||
basic
|
||||
gds_devices
|
||||
pins
|
||||
routing
|
||||
structures
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
# Others
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
simulation/index
|
||||
```
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
# mxpic.components.others.simulation.DualPortElements
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.others.simulation.DualPortElements
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## DEVICE_PORTS
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.others.simulation.DualPortElements.DEVICE_PORTS
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DEVICE_RING_BUS
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.others.simulation.DualPortElements.DEVICE_RING_BUS
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DEVICE_COUPLER
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.others.simulation.DualPortElements.DEVICE_COUPLER
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## EULER_CROW_INTER_CP
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.others.simulation.DualPortElements.EULER_CROW_INTER_CP
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## EULER_CROW_BUS
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.others.simulation.DualPortElements.EULER_CROW_BUS
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## RESONATOR
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.others.simulation.DualPortElements.RESONATOR
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## RING_PHASE
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.others.simulation.DualPortElements.RING_PHASE
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PortParas
|
||||
|
||||
```{eval-rst}
|
||||
.. autofunction:: mxpic.components.others.simulation.DualPortElements.PortParas
|
||||
```
|
||||
|
||||
## MonitorParas
|
||||
|
||||
```{eval-rst}
|
||||
.. autofunction:: mxpic.components.others.simulation.DualPortElements.MonitorParas
|
||||
```
|
||||
|
||||
## DEVICE_2X2_FDTD_INIT
|
||||
|
||||
```{eval-rst}
|
||||
.. autofunction:: mxpic.components.others.simulation.DualPortElements.DEVICE_2X2_FDTD_INIT
|
||||
```
|
||||
|
||||
## tuple_to_complex
|
||||
|
||||
```{eval-rst}
|
||||
.. autofunction:: mxpic.components.others.simulation.DualPortElements.tuple_to_complex
|
||||
```
|
||||
|
||||
## SimuDataFigurePlot
|
||||
|
||||
```{eval-rst}
|
||||
.. autofunction:: mxpic.components.others.simulation.DualPortElements.SimuDataFigurePlot
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
# Simulation
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
DualPortElements
|
||||
```
|
||||
@@ -0,0 +1,33 @@
|
||||
# mxpic.components.pdks.AMF_pdk
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.pdks.AMF_pdk
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## GC_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.AMF_pdk.GC_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_TE_1310
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.AMF_pdk.GC_TE_1310
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PD_Cband_Cell
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.AMF_pdk.PD_Cband_Cell
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,105 @@
|
||||
# mxpic.components.pdks.CUMEC_pdk
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.pdks.CUMEC_pdk
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## PAD_60_80
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.PAD_60_80
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GPD_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.GPD_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## EC_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.EC_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.GC_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_TM_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.GC_TM_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_TE_1310
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.GC_TE_1310
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MMI_1x2_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.MMI_1x2_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MMI_1x2_TE_1310
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.MMI_1x2_TE_1310
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MMI_2x2_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.MMI_2x2_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CRX_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.CRX_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PBS_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.CUMEC_pdk.PBS_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,132 @@
|
||||
# mxpic.components.pdks.IMECAS_pdk
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.pdks.IMECAS_pdk
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## Template
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.Template
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## EC_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.EC_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.GC_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_TM_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.GC_TM_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_TE_1310
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.GC_TE_1310
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_TM_1310
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.GC_TM_1310
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DC_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.DC_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MMI_2x2_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.MMI_2x2_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MMI_1x2_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.MMI_1x2_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MMI_2x2_TE_1310
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.MMI_2x2_TE_1310
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MMI_1x2_TE_1310
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.MMI_1x2_TE_1310
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Ybranch_TE
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.Ybranch_TE
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CRX_TE_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.CRX_TE_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CRX_TE_1310
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.IMECAS_pdk.CRX_TE_1310
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,33 @@
|
||||
# mxpic.components.pdks.hgl_pdk_A
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.pdks.hgl_pdk_A
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## DC_bend_50_50_Cband
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.hgl_pdk_A.DC_bend_50_50_Cband
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DC_bend_20_80_Cband
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.hgl_pdk_A.DC_bend_20_80_Cband
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DC_bend_4_96_Cband
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.hgl_pdk_A.DC_bend_4_96_Cband
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,11 @@
|
||||
# Pdks
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
AMF_pdk
|
||||
CUMEC_pdk
|
||||
IMECAS_pdk
|
||||
hgl_pdk_A
|
||||
qy_pdk_A
|
||||
```
|
||||
@@ -0,0 +1,51 @@
|
||||
# mxpic.components.pdks.qy_pdk_A
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.pdks.qy_pdk_A
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## DC_pX3_50_50_Cband
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.qy_pdk_A.DC_pX3_50_50_Cband
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MMG_1D_D14um_1550_2modes
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.qy_pdk_A.MMG_1D_D14um_1550_2modes
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MDM_ADC_TE1_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.qy_pdk_A.MDM_ADC_TE1_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MDM_ADC_TE2_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.qy_pdk_A.MDM_ADC_TE2_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MDM_ADC_TE3_1550
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.pdks.qy_pdk_A.MDM_ADC_TE3_1550
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,6 @@
|
||||
# mxpic.components.pins
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.pins
|
||||
:no-members:
|
||||
```
|
||||
@@ -17,4 +17,3 @@
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# mxpic.components.primitives.active.dev_ps
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.active.dev_ps
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## Route
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.dev_ps.Route
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Heater_NDoped
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.dev_ps.Heater_NDoped
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PS_PIN
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.dev_ps.PS_PIN
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,9 @@
|
||||
# Active
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
dev_ps
|
||||
pin_wg
|
||||
rings
|
||||
```
|
||||
@@ -0,0 +1,24 @@
|
||||
# mxpic.components.primitives.active.pin_wg
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.active.pin_wg
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## waveguide_PIN
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.pin_wg.waveguide_PIN
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## WGDoped
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.pin_wg.WGDoped
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,60 @@
|
||||
# mxpic.components.primitives.active.rings
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.active.rings
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## Route
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.rings.Route
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## AED_Ring_PIN
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.rings.AED_Ring_PIN
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## STD_Ring_PIN
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.rings.STD_Ring_PIN
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PIN_MRR_MM_Allpass
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.rings.PIN_MRR_MM_Allpass
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PIN_MRR_MM_Adddrop
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.rings.PIN_MRR_MM_Adddrop
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PIN_MRR_STD_Allpass
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.active.rings.PIN_MRR_STD_Allpass
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -30,4 +30,3 @@
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
|
||||
+29
-30
@@ -5,6 +5,19 @@
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## 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:
|
||||
```
|
||||
|
||||
## ADC_STD_2x2
|
||||
|
||||
```{eval-rst}
|
||||
@@ -18,6 +31,19 @@
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DC
|
||||
|
||||
```{eval-rst}
|
||||
.. image:: DC.png
|
||||
:align: center
|
||||
:width: 600px
|
||||
|
||||
.. autoclass:: mxpic.components.primitives.directional_couplers.DC
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## BS_tdc
|
||||
|
||||
```{eval-rst}
|
||||
@@ -31,14 +57,14 @@
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DC
|
||||
## MDM
|
||||
|
||||
```{eval-rst}
|
||||
.. image:: DC.png
|
||||
.. image:: MDM.png
|
||||
:align: center
|
||||
:width: 600px
|
||||
|
||||
.. autoclass:: mxpic.components.primitives.directional_couplers.DC
|
||||
.. autoclass:: mxpic.components.primitives.directional_couplers.MDM
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
@@ -69,30 +95,3 @@
|
||||
: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:
|
||||
```
|
||||
|
||||
|
||||
+56
-78
@@ -5,84 +5,6 @@
|
||||
: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}
|
||||
@@ -109,3 +31,59 @@
|
||||
: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:
|
||||
```
|
||||
|
||||
## 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:
|
||||
```
|
||||
|
||||
## 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:
|
||||
```
|
||||
|
||||
## FA
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.grating_couplers.FA
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_SiN_Si_Dual_Layer
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.grating_couplers.GC_SiN_Si_Dual_Layer
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# Primitives
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
active/index
|
||||
passive/index
|
||||
pic/index
|
||||
EC_dual_layer_px3
|
||||
beam_splitters
|
||||
directional_couplers
|
||||
grating_couplers
|
||||
multimode_interferometers
|
||||
spiral
|
||||
```
|
||||
-1
@@ -30,4 +30,3 @@
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
# mxpic.components.primitives.passive.crows
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.passive.crows
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## STD_CROW_V
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.crows.STD_CROW_V
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CROW_Eul_Ring
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.crows.CROW_Eul_Ring
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CROW_Eul_RCK
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.crows.CROW_Eul_RCK
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CROW_Circular_ring
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.crows.CROW_Circular_ring
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CROW_STD_Allpass
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.crows.CROW_STD_Allpass
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CROW_STD_Adddrop
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.crows.CROW_STD_Adddrop
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## CROW_AED
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.crows.CROW_AED
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,9 @@
|
||||
# Passive
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
crows
|
||||
rings
|
||||
unit
|
||||
```
|
||||
@@ -0,0 +1,132 @@
|
||||
# mxpic.components.primitives.passive.rings
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.passive.rings
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## Route
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.Route
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## SOCR
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.SOCR
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## SOCR_Cband
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.SOCR_Cband
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## SOCR_Adiabatic
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.SOCR_Adiabatic
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## SOCR_Adiabatic_Cband
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.SOCR_Adiabatic_Cband
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MRR_AED
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.MRR_AED
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MRR_STD_Ring
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.MRR_STD_Ring
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MRR_STD_Allpass
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.MRR_STD_Allpass
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MRR_STD_Adddrop
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.MRR_STD_Adddrop
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MRR_MM_Allpass
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.MRR_MM_Allpass
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MRR_MM_Adddrop
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.MRR_MM_Adddrop
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MRR_DW_Adddrop
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.MRR_DW_Adddrop
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MRR_DW_Allpass
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.MRR_DW_Allpass
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## STD_ring_AMZI_adddrop
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.rings.STD_ring_AMZI_adddrop
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,51 @@
|
||||
# mxpic.components.primitives.passive.unit
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.passive.unit
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## waveguide
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.unit.waveguide
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PS_2st
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.unit.PS_2st
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PS_2st_Straight
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.unit.PS_2st_Straight
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## PSR_1x2
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.unit.PSR_1x2
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Brag_WDM
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.passive.unit.Brag_WDM
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
# mxpic.components.primitives.pic.PBS
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.pic.PBS
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## PBS_3wg
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.PBS.PBS_3wg
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,24 @@
|
||||
# mxpic.components.primitives.pic.YBS
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.pic.YBS
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## YBranch
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.YBS.YBranch
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Ybranch_3wg
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.YBS.Ybranch_3wg
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,24 @@
|
||||
# mxpic.components.primitives.pic.bragg
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.pic.bragg
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## Bragg_apodized
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.bragg.Bragg_apodized
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Bragg
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.bragg.Bragg
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,69 @@
|
||||
# mxpic.components.primitives.pic.couplers
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.pic.couplers
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## ring_bus_wg
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.couplers.ring_bus_wg
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## ADC_STD_2x2
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.couplers.ADC_STD_2x2
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DC
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.couplers.DC
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## BS_tdc
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.couplers.BS_tdc
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## MDM
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.couplers.MDM
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DC_bend
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.couplers.DC_bend
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## DC_pX_3sg
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.couplers.DC_pX_3sg
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,24 @@
|
||||
# mxpic.components.primitives.pic.cross
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.pic.cross
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## Cross
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.cross.Cross
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Cross_Sine
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.cross.Cross_Sine
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,78 @@
|
||||
# mxpic.components.primitives.pic.gratings
|
||||
|
||||
```{eval-rst}
|
||||
.. automodule:: mxpic.components.primitives.pic.gratings
|
||||
:no-members:
|
||||
```
|
||||
|
||||
## Nano_ant
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.gratings.Nano_ant
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Taper
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.gratings.Taper
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Grating_2D_Hole
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.gratings.Grating_2D_Hole
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Grating_2D_Hole_4Rec
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.gratings.Grating_2D_Hole_4Rec
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## Grating_2D_Hole_3Rec
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.gratings.Grating_2D_Hole_3Rec
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_STD_2D
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.gratings.GC_STD_2D
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## GC_STD_1D
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.gratings.GC_STD_1D
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
|
||||
## FA
|
||||
|
||||
```{eval-rst}
|
||||
.. autoclass:: mxpic.components.primitives.pic.gratings.FA
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
```
|
||||
@@ -0,0 +1,17 @@
|
||||
# Pic
|
||||
|
||||
```{toctree}
|
||||
:maxdepth: 2
|
||||
|
||||
PBS
|
||||
YBS
|
||||
bragg
|
||||
couplers
|
||||
cross
|
||||
gratings
|
||||
mmi
|
||||
racetrack
|
||||
rings
|
||||
spiral
|
||||
taper
|
||||
```
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user