Files
mxpic_forge/docs/build/html/mxpic/components/composites/MZI.html
T

874 lines
74 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" data-content_root="../../../" >
<head>
<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.composites.MZI &#8212; mxpic_handbook mxpic documentation</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../../../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../../../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=8f2a1f02" />
<!-- So that users can add custom icons -->
<script src="../../../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../../../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../../../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<script src="../../../_static/documentation_options.js?v=91346475"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'mxpic/components/composites/MZI';</script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
<link rel="next" title="mxpic.components.composites.MZI_mesh" href="MZI_mesh.html" />
<link rel="prev" title="mxpic.components.composites.LoopMirror" href="LoopMirror.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="" />
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<form class="bd-search d-flex align-items-center"
action="../../../search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
placeholder="Search the docs ..."
aria-label="Search the docs ..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
<div class="bd-header__inner bd-page-width">
<button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation">
<span class="fa-solid fa-bars"></span>
</button>
<div class="col-lg-3 navbar-header-items__start">
<div class="navbar-item">
<a class="navbar-brand logo" href="../../../index.html">
<p class="title logo__title">mxpic_handbook mxpic documentation</p>
</a></div>
</div>
<div class="col-lg-9 navbar-header-items">
<div class="me-auto navbar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item current active">
<a class="nav-link nav-internal" href="../index.html">
Components
</a>
</li>
</ul>
</nav></div>
</div>
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page">
<span class="fa-solid fa-outdent"></span>
</button>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
<div class="sidebar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item current active">
<a class="nav-link nav-internal" href="../index.html">
Components
</a>
</li>
</ul>
</nav></div>
</div>
<div class="sidebar-header-items__end">
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
</div>
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">
<nav class="bd-docs-nav bd-links"
aria-label="Section Navigation">
<p class="bd-links__title" role="heading" aria-level="1">Section Navigation</p>
<div class="bd-toc-item navbar-nav"><ul class="current nav bd-sidenav">
<li class="toctree-l1 current active has-children"><a class="reference internal" href="index.html">Composites</a><details open="open"><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="LoopMirror.html">mxpic.components.composites.LoopMirror</a></li>
<li class="toctree-l2 current active"><a class="current reference internal" href="#">mxpic.components.composites.MZI</a></li>
<li class="toctree-l2"><a class="reference internal" href="MZI_mesh.html">mxpic.components.composites.MZI_mesh</a></li>
<li class="toctree-l2"><a class="reference internal" href="SptTree.html">mxpic.components.composites.SptTree</a></li>
<li class="toctree-l2"><a class="reference internal" href="advance.html">mxpic.components.composites.advance</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../electronics/index.html">Electronics</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../electronics/eic_units.html">mxpic.components.electronics.eic_units</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../geometry/index.html">Geometry</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../geometry/curves.html">mxpic.components.geometry.curves</a></li>
<li class="toctree-l2"><a class="reference internal" href="../geometry/polygons.html">mxpic.components.geometry.polygons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../geometry/racetrack.html">mxpic.components.geometry.racetrack</a></li>
<li class="toctree-l2"><a class="reference internal" href="../geometry/rings.html">mxpic.components.geometry.rings</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../others/index.html">Others</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="../others/simulation/index.html">Simulation</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../others/simulation/DualPortElements.html">mxpic.components.others.simulation.DualPortElements</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../primitives/index.html">Primitives</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="../primitives/active/index.html">Active</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../primitives/active/dev_ps.html">mxpic.components.primitives.active.dev_ps</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/active/pin_wg.html">mxpic.components.primitives.active.pin_wg</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/active/rings.html">mxpic.components.primitives.active.rings</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../primitives/passive/index.html">Passive</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../primitives/passive/crows.html">mxpic.components.primitives.passive.crows</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/passive/rings.html">mxpic.components.primitives.passive.rings</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/passive/unit.html">mxpic.components.primitives.passive.unit</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../primitives/pic/index.html">Pic</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/PBS.html">mxpic.components.primitives.pic.PBS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/YBS.html">mxpic.components.primitives.pic.YBS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/bragg.html">mxpic.components.primitives.pic.bragg</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/couplers.html">mxpic.components.primitives.pic.couplers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/cross.html">mxpic.components.primitives.pic.cross</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/gratings.html">mxpic.components.primitives.pic.gratings</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/mmi.html">mxpic.components.primitives.pic.mmi</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/racetrack.html">mxpic.components.primitives.pic.racetrack</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/rings.html">mxpic.components.primitives.pic.rings</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/spiral.html">mxpic.components.primitives.pic.spiral</a></li>
<li class="toctree-l3"><a class="reference internal" href="../primitives/pic/taper.html">mxpic.components.primitives.pic.taper</a></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference internal" href="../primitives/EC_dual_layer_px3.html">mxpic.components.primitives.EC_dual_layer_px3</a></li>
<li class="toctree-l2"><a class="reference internal" href="../primitives/grating_couplers.html">mxpic.components.primitives.grating_couplers</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference internal" href="../basic.html">mxpic.components.basic</a></li>
<li class="toctree-l1"><a class="reference internal" href="../gds_devices.html">mxpic.components.gds_devices</a></li>
<li class="toctree-l1"><a class="reference internal" href="../pins.html">mxpic.components.pins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../routing.html">mxpic.components.routing</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
</div>
<main id="main-content" class="bd-main" role="main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article d-print-none">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumb" class="d-print-none">
<ul class="bd-breadcrumbs">
<li class="breadcrumb-item breadcrumb-home">
<a href="../../../index.html" class="nav-link" aria-label="Home">
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item"><a href="../index.html" class="nav-link">Components</a></li>
<li class="breadcrumb-item"><a href="index.html" class="nav-link">Composites</a></li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">mxpic.components.composites.MZI</span></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="module-mxpic.components.composites.MZI">
<span id="mxpic-components-composites-mzi"></span><h1>mxpic.components.composites.MZI<a class="headerlink" href="#module-mxpic.components.composites.MZI" title="Link to this heading">#</a></h1>
<p>Mach-Zehnder interferometer composite layouts.</p>
<section id="mzi">
<h2>MZI<a class="headerlink" href="#mzi" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI</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_wg</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">dL_Amzi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</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">150</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">D_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">75</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_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">w_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'heater'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</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">15</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_metal</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'metal'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_metal</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">via_h2m</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">isl</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">outer_isl</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">dual_ht</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">L_patch</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">BS</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">BS2</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">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><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI" 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>Mach-Zehnder interferometer with optional heaters and isolation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em><em>, </em><em>optional</em>) Nazca cell name. If omitted, the generated cell is not instantiated.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Input and output waveguide width in microns.</p></li>
<li><p><strong>dL_Amzi</strong> (<em>float</em><em>, </em><em>optional</em>) Differential arm length for asymmetric MZI operation.</p></li>
<li><p><strong>L_arm</strong> (<em>int</em><em>, </em><em>optional</em>) Nominal straight arm length.</p></li>
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) Bend radius used by internal routing.</p></li>
<li><p><strong>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) Vertical distance between interferometer arms.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch. If omitted, the beam splitter port pitch is used.</p></li>
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) Internal arm waveguide width.</p></li>
<li><p><strong>xs_heater</strong> (<em>str</em><em>, </em><em>optional</em>) Heater cross-section name.</p></li>
<li><p><strong>w_heater</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>Ltp</strong> (<em>int</em><em>, </em><em>optional</em>) Taper length between bus and arm widths.</p></li>
<li><p><strong>xs_metal</strong> (<em>str</em><em>, </em><em>optional</em>) Metal routing cross-section name.</p></li>
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) Metal routing width.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>outer_isl</strong> (<em>bool</em><em>, </em><em>optional</em>) Add outer isolation structures.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
<li><p><strong>L_patch</strong> (<em>float</em><em>, </em><em>optional</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) First beam splitter cell or object. If omitted, a default DC is used.</p></li>
<li><p><strong>BS2</strong> (<em>Any</em><em>, </em><em>optional</em>) Second beam splitter cell or object. If omitted, <code class="docutils literal notranslate"><span class="pre">BS</span></code> is reused.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
<section id="mzi-ns">
<h2>MZI_NS<a class="headerlink" href="#mzi-ns" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_NS">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_NS</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ln</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ls</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">D_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">40</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L12</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_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_ht</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">via_h2m</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">isl</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">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">D_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">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">dual_ht</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.composites.MZI.MZI_NS" 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>Nested-straight MZI composite with taperable arm widths.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS</strong> (<em>Any</em>) Beam splitter cell or object used at both splitter positions.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w1</strong> (<em>float</em>) Input/output waveguide width.</p></li>
<li><p><strong>w2</strong> (<em>float</em>) Internal arm waveguide width.</p></li>
<li><p><strong>L0</strong> (<em>Any</em>) Input/output straight section length.</p></li>
<li><p><strong>Ln</strong> (<em>Any</em>) Length of the nominal arm section.</p></li>
<li><p><strong>Ls</strong> (<em>Any</em>) Length of the shifted arm section.</p></li>
<li><p><strong>Ltp</strong> (<em>Any</em>) Taper length between <code class="docutils literal notranslate"><span class="pre">w1</span></code> and <code class="docutils literal notranslate"><span class="pre">w2</span></code>.</p></li>
<li><p><strong>R_bend</strong> (<em>Any</em>) Bend radius used by the arm routing.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em>) Optical waveguide width used for ports and routing.</p></li>
<li><p><strong>L_patch</strong> (<em>Any</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) Vertical distance between interferometer arms.</p></li>
<li><p><strong>L12</strong> (<em>Any</em><em>, </em><em>optional</em>) Optional length between the first and second beam splitter regions.</p></li>
<li><p><strong>w_heater</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>L_ht</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater length override.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch override.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_NS.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_NS.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated nested-straight MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
<section id="mzi-ns-ubend">
<h2>MZI_NS_ubend<a class="headerlink" href="#mzi-ns-ubend" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_NS_ubend">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_NS_ubend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ln</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ls</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L12</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_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</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">isl</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">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">D_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">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">dual_ht</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.composites.MZI.MZI_NS_ubend" 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>Nested-straight MZI composite using U-bend arm routing.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS</strong> (<em>Any</em>) Beam splitter cell or object used at both splitter positions.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w1</strong> (<em>float</em>) Input/output waveguide width.</p></li>
<li><p><strong>w2</strong> (<em>float</em>) Internal arm waveguide width.</p></li>
<li><p><strong>L0</strong> (<em>Any</em>) Input/output straight section length.</p></li>
<li><p><strong>Ln</strong> (<em>Any</em>) Length of the nominal arm section.</p></li>
<li><p><strong>Ls</strong> (<em>Any</em>) Length of the shifted arm section.</p></li>
<li><p><strong>Ltp</strong> (<em>Any</em>) Taper length between <code class="docutils literal notranslate"><span class="pre">w1</span></code> and <code class="docutils literal notranslate"><span class="pre">w2</span></code>.</p></li>
<li><p><strong>R_bend</strong> (<em>Any</em>) Bend radius used by the U-bends.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em>) Optical waveguide width used for ports and routing.</p></li>
<li><p><strong>L_patch</strong> (<em>Any</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>L12</strong> (<em>Any</em><em>, </em><em>optional</em>) Optional length between splitter regions.</p></li>
<li><p><strong>w_ht</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>L_ht</strong> (<em>int</em><em>, </em><em>optional</em>) Heater length override.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch override.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_NS_ubend.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_NS_ubend.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated U-bend MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
<section id="mzi-2st-ubend">
<h2>MZI_2st_ubend<a class="headerlink" href="#mzi-2st-ubend" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_2st_ubend">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_2st_ubend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ln1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ls1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ln2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ls2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R_bend</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</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">isl</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">L12</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.composites.MZI.MZI_2st_ubend" 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>Two-stage U-bend MZI composite with three beam splitters.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS1</strong> (<em>Any</em>) Beam splitter cells or objects for the three splitter stages.</p></li>
<li><p><strong>BS2</strong> (<em>Any</em>) Beam splitter cells or objects for the three splitter stages.</p></li>
<li><p><strong>BS3</strong> (<em>Any</em>) Beam splitter cells or objects for the three splitter stages.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w1</strong> (<em>float</em>) Input/output waveguide width.</p></li>
<li><p><strong>w2</strong> (<em>float</em>) Internal arm waveguide width.</p></li>
<li><p><strong>L0</strong> (<em>Any</em>) Input/output straight section length.</p></li>
<li><p><strong>Ln1</strong> (<em>Any</em>) Nominal and shifted arm lengths for the first stage.</p></li>
<li><p><strong>Ls1</strong> (<em>Any</em>) Nominal and shifted arm lengths for the first stage.</p></li>
<li><p><strong>Ln2</strong> (<em>Any</em>) Nominal and shifted arm lengths for the second stage.</p></li>
<li><p><strong>Ls2</strong> (<em>Any</em>) Nominal and shifted arm lengths for the second stage.</p></li>
<li><p><strong>Ltp</strong> (<em>Any</em>) Taper length between <code class="docutils literal notranslate"><span class="pre">w1</span></code> and <code class="docutils literal notranslate"><span class="pre">w2</span></code>.</p></li>
<li><p><strong>R_bend</strong> (<em>Any</em>) Bend radius used by U-bend routing.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em>) Optical waveguide width used for ports and routing.</p></li>
<li><p><strong>L_patch</strong> (<em>Any</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>L12</strong> (<em>Any</em><em>, </em><em>optional</em>) Optional length between beam splitter regions.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_2st_ubend.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_2st_ubend.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated two-stage MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
<section id="mzi-eubend">
<h2>MZI_Eubend<a class="headerlink" href="#mzi-eubend" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Eubend">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_Eubend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_arm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dL_Amzi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmax</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">30</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rmin</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">dL</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm_min</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">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.composites.MZI.MZI_Eubend" 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>Euler U-bend MZI composite for compact asymmetric routing.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS</strong> (<em>Any</em>) Beam splitter cell or object.</p></li>
<li><p><strong>w_arm</strong> (<em>float</em>) Internal arm waveguide width.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em>) Input/output waveguide width.</p></li>
<li><p><strong>L_arm</strong> (<em>Any</em>) Nominal straight arm length.</p></li>
<li><p><strong>dL_Amzi</strong> (<em>float</em>) Differential length for asymmetric MZI operation.</p></li>
<li><p><strong>L_patch</strong> (<em>Any</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>Rmax</strong> (<em>int</em><em>, </em><em>optional</em>) Maximum Euler bend radius.</p></li>
<li><p><strong>Rmin</strong> (<em>int</em><em>, </em><em>optional</em>) Minimum Euler bend radius.</p></li>
<li><p><strong>dL</strong> (<em>float</em><em>, </em><em>optional</em>) Length-search resolution for the Euler compensation.</p></li>
<li><p><strong>w_arm_min</strong> (<em>float</em><em>, </em><em>optional</em>) Minimum arm width used during tapering.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Eubend.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Eubend.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated Euler U-bend MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
<section id="mzi-ubend">
<h2>MZI_Ubend<a class="headerlink" href="#mzi-ubend" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Ubend">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_Ubend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BS</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_arm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_wg</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_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_tp</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">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">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">L_patch</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">w_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">via_h2m</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">isl</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">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">D_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">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">dual_ht</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.composites.MZI.MZI_Ubend" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference internal" href="#mxpic.components.composites.MZI.MZI_NS_ubend" title="mxpic.components.composites.MZI.MZI_NS_ubend"><code class="xref py py-class docutils literal notranslate"><span class="pre">MZI_NS_ubend</span></code></a></p>
<p>Convenience U-bend MZI wrapper with default width handling.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) Nazca cell name.</p></li>
<li><p><strong>BS</strong> (<em>Any</em>) Beam splitter cell or object.</p></li>
<li><p><strong>L_arm</strong> (<em>Any</em>) Nominal arm length.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) Internal arm waveguide width.</p></li>
<li><p><strong>L_tp</strong> (<em>int</em><em>, </em><em>optional</em>) Taper length between bus and arm widths.</p></li>
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) Bend radius used by U-bend routing.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Input/output waveguide width.</p></li>
<li><p><strong>L_patch</strong> (<em>float</em><em>, </em><em>optional</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>w_ht</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>L_ht</strong> (<em>int</em><em>, </em><em>optional</em>) Heater length override.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch override.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Ubend.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Ubend.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated U-bend MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section>
<section id="mzi-butterfly">
<h2>MZI_Butterfly<a class="headerlink" href="#mzi-butterfly" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Butterfly">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.MZI.</span></span><span class="sig-name descname"><span class="pre">MZI_Butterfly</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_wg</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">dL_AMZI</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</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">150</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_inner</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">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">D_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">w_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'heater'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</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">15</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs_metal</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'metal'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_metal</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">via_h2m</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">isl</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">outer_isl</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">dual_ht</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">L_patch</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">BS</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">BS2</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">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><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Butterfly" 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>Butterfly-style MZI composite with compact folded arms.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em><em>, </em><em>optional</em>) Nazca cell name. If omitted, the generated cell is not instantiated.</p></li>
<li><p><strong>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) Optical waveguide cross-section name.</p></li>
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) Input and output waveguide width in microns.</p></li>
<li><p><strong>dL_AMZI</strong> (<em>float</em><em>, </em><em>optional</em>) Differential arm length for asymmetric MZI operation.</p></li>
<li><p><strong>L_arm</strong> (<em>int</em><em>, </em><em>optional</em>) Nominal straight arm length.</p></li>
<li><p><strong>L_inner</strong> (<em>int</em><em>, </em><em>optional</em>) Inner straight section length used by the butterfly fold.</p></li>
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) Bend radius used by internal routing.</p></li>
<li><p><strong>D_port</strong> (<em>Any</em><em>, </em><em>optional</em>) Output port pitch. If omitted, beam splitter pitch is used.</p></li>
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) Internal arm waveguide width.</p></li>
<li><p><strong>xs_ht</strong> (<em>str</em><em>, </em><em>optional</em>) Heater cross-section name.</p></li>
<li><p><strong>w_ht</strong> (<em>float</em><em>, </em><em>optional</em>) Heater width. Use 0 to disable heater drawing.</p></li>
<li><p><strong>Ltp</strong> (<em>int</em><em>, </em><em>optional</em>) Taper length between bus and arm widths.</p></li>
<li><p><strong>xs_metal</strong> (<em>str</em><em>, </em><em>optional</em>) Metal routing cross-section name.</p></li>
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) Metal routing width.</p></li>
<li><p><strong>via_h2m</strong> (<em>Any</em><em>, </em><em>optional</em>) Heater-to-metal via object or cell.</p></li>
<li><p><strong>isl</strong> (<em>Any</em><em>, </em><em>optional</em>) Isolation trench object or cell.</p></li>
<li><p><strong>outer_isl</strong> (<em>bool</em><em>, </em><em>optional</em>) Add outer isolation structures.</p></li>
<li><p><strong>dual_ht</strong> (<em>bool</em><em>, </em><em>optional</em>) Add heaters on both arms.</p></li>
<li><p><strong>L_patch</strong> (<em>float</em><em>, </em><em>optional</em>) Straight patch length at routing interfaces.</p></li>
<li><p><strong>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) First beam splitter cell or object. If omitted, a default DC is used.</p></li>
<li><p><strong>BS2</strong> (<em>Any</em><em>, </em><em>optional</em>) Second beam splitter cell or object. If omitted, <code class="docutils literal notranslate"><span class="pre">BS</span></code> is reused.</p></li>
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) Add cladding patches around sharp geometry features.</p></li>
<li><p><strong>show_pins</strong> (<em>bool</em><em>, </em><em>optional</em>) Show Nazca pin stubs in the generated layout.</p></li>
</ul>
</dd>
</dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Butterfly.cell">
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI.MZI_Butterfly.cell" title="Link to this definition">#</a></dt>
<dd><p>Generated butterfly MZI layout cell.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>nazca.Cell</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Butterfly.generate_gds">
<span class="sig-name descname"><span class="pre">generate_gds</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">show_pin</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.composites.MZI.MZI_Butterfly.generate_gds" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.composites.MZI.MZI_Butterfly.generate_test_gds">
<span class="sig-name descname"><span class="pre">generate_test_gds</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dXgc2gc</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dYgc2gc</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gc</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.5</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">name</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.composites.MZI.MZI_Butterfly.generate_test_gds" title="Link to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
</section>
</section>
</article>
<footer class="prev-next-footer d-print-none">
<div class="prev-next-area">
<a class="left-prev"
href="LoopMirror.html"
title="previous page">
<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.composites.LoopMirror</p>
</div>
</a>
<a class="right-next"
href="MZI_mesh.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">mxpic.components.composites.MZI_mesh</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div
id="pst-page-navigation-heading-2"
class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> On this page
</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="#mzi">MZI</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.composites.MZI.MZI"><code class="docutils literal notranslate"><span class="pre">MZI</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.composites.MZI.MZI.cell"><code class="docutils literal notranslate"><span class="pre">MZI.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-ns">MZI_NS</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.composites.MZI.MZI_NS"><code class="docutils literal notranslate"><span class="pre">MZI_NS</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.composites.MZI.MZI_NS.cell"><code class="docutils literal notranslate"><span class="pre">MZI_NS.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-ns-ubend">MZI_NS_ubend</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.composites.MZI.MZI_NS_ubend"><code class="docutils literal notranslate"><span class="pre">MZI_NS_ubend</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.composites.MZI.MZI_NS_ubend.cell"><code class="docutils literal notranslate"><span class="pre">MZI_NS_ubend.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-2st-ubend">MZI_2st_ubend</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.composites.MZI.MZI_2st_ubend"><code class="docutils literal notranslate"><span class="pre">MZI_2st_ubend</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.composites.MZI.MZI_2st_ubend.cell"><code class="docutils literal notranslate"><span class="pre">MZI_2st_ubend.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-eubend">MZI_Eubend</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.composites.MZI.MZI_Eubend"><code class="docutils literal notranslate"><span class="pre">MZI_Eubend</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.composites.MZI.MZI_Eubend.cell"><code class="docutils literal notranslate"><span class="pre">MZI_Eubend.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-ubend">MZI_Ubend</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.composites.MZI.MZI_Ubend"><code class="docutils literal notranslate"><span class="pre">MZI_Ubend</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.composites.MZI.MZI_Ubend.cell"><code class="docutils literal notranslate"><span class="pre">MZI_Ubend.cell</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-butterfly">MZI_Butterfly</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.composites.MZI.MZI_Butterfly"><code class="docutils literal notranslate"><span class="pre">MZI_Butterfly</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.composites.MZI.MZI_Butterfly.cell"><code class="docutils literal notranslate"><span class="pre">MZI_Butterfly.cell</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Butterfly.generate_gds"><code class="docutils literal notranslate"><span class="pre">MZI_Butterfly.generate_gds()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI.MZI_Butterfly.generate_test_gds"><code class="docutils literal notranslate"><span class="pre">MZI_Butterfly.generate_test_gds()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav></div>
<div class="sidebar-secondary-item">
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../../../_sources/mxpic/components/composites/MZI.md.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div></div>
</div></div>
</div>
<footer class="bd-footer-content">
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../../../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../../../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<footer class="bd-footer">
<div class="bd-footer__inner bd-page-width">
<div class="footer-items__start">
<div class="footer-item">
<p class="copyright">
© Copyright 2026, Qin Yue (PotatoMaxwell).
<br/>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.4.7.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item">
<p class="theme-version">
<!-- # L10n: Setting the PST URL as an argument as this does not need to be localized -->
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.16.1.
</p></div>
</div>
</div>
</footer>
</body>
</html>