Technolgy file archetecture revised with dictionary input method
This commit is contained in:
+30
-1
@@ -375,12 +375,38 @@
|
||||
|
||||
<section id="module-mxpic.components.composites.LoopMirror">
|
||||
<span id="mxpic-components-composites-loopmirror"></span><h1>mxpic.components.composites.LoopMirror<a class="headerlink" href="#module-mxpic.components.composites.LoopMirror" title="Link to this heading">#</a></h1>
|
||||
<p>Loop mirror composite layouts.</p>
|
||||
<section id="loopmirror">
|
||||
<h2>LoopMirror<a class="headerlink" href="#loopmirror" title="Link to this heading">#</a></h2>
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.LoopMirror.LoopMirror">
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.LoopMirror.</span></span><span class="sig-name descname"><span class="pre">LoopMirror</span></span><span class="sig-paren">(</span><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">Radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">45</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">BS</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.LoopMirror.LoopMirror" 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>Loop mirror reflector built from a beam splitter and return bend.</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>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) – Waveguide cross-section name.</p></li>
|
||||
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) – Optical waveguide width in microns.</p></li>
|
||||
<li><p><strong>Radius</strong> (<em>float</em><em>, </em><em>optional</em>) – Bend radius used for the loop mirror routing.</p></li>
|
||||
<li><p><strong>angle</strong> (<em>float</em><em>, </em><em>optional</em>) – Bend angle in degrees for the side bends.</p></li>
|
||||
<li><p><strong>sharp_patch</strong> (<em>bool</em><em>, </em><em>optional</em>) – Add cladding patch geometry around sharp loop features.</p></li>
|
||||
<li><p><strong>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) – Beam splitter object or cell. If not provided, a default directional
|
||||
coupler is generated.</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="py attribute">
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.LoopMirror.LoopMirror.cell">
|
||||
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.LoopMirror.LoopMirror.cell" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Generated loop mirror 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>
|
||||
@@ -434,7 +460,10 @@
|
||||
<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="#loopmirror">LoopMirror</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.LoopMirror.LoopMirror"><code class="docutils literal notranslate"><span class="pre">LoopMirror</span></code></a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.LoopMirror.LoopMirror"><code class="docutils literal notranslate"><span class="pre">LoopMirror</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.LoopMirror.LoopMirror.cell"><code class="docutils literal notranslate"><span class="pre">LoopMirror.cell</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
+291
-6
@@ -375,12 +375,54 @@
|
||||
|
||||
<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>
|
||||
@@ -390,6 +432,46 @@
|
||||
<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>
|
||||
@@ -399,6 +481,45 @@
|
||||
<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>
|
||||
@@ -408,6 +529,43 @@
|
||||
<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>
|
||||
@@ -417,6 +575,38 @@
|
||||
<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>
|
||||
@@ -426,6 +616,41 @@
|
||||
<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>
|
||||
@@ -435,6 +660,47 @@
|
||||
<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>
|
||||
@@ -498,31 +764,50 @@
|
||||
<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></li>
|
||||
<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></li>
|
||||
<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></li>
|
||||
<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></li>
|
||||
<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></li>
|
||||
<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></li>
|
||||
<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>
|
||||
|
||||
+249
-2
@@ -375,12 +375,48 @@
|
||||
|
||||
<section id="module-mxpic.components.composites.MZI_mesh">
|
||||
<span id="mxpic-components-composites-mzi-mesh"></span><h1>mxpic.components.composites.MZI_mesh<a class="headerlink" href="#module-mxpic.components.composites.MZI_mesh" title="Link to this heading">#</a></h1>
|
||||
<p>Mach-Zehnder interferometer mesh composite layouts.</p>
|
||||
<section id="w-waveguide">
|
||||
<h2>W_waveguide<a class="headerlink" href="#w-waveguide" title="Link to this heading">#</a></h2>
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.MZI_mesh.W_waveguide">
|
||||
<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_mesh.</span></span><span class="sig-name descname"><span class="pre">W_waveguide</span></span><span class="sig-paren">(</span><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">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">dL</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_wg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">80</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_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</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">6</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">n_bends</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">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">ISL_UPPER</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">ISL_LOWER</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.25</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reverse</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_mesh.W_waveguide" 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>W-shaped waveguide phase shifter section.</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>xs_wg</strong> (<em>str</em><em>, </em><em>optional</em>) – Waveguide cross-section name.</p></li>
|
||||
<li><p><strong>w_wg</strong> (<em>float</em><em>, </em><em>optional</em>) – Optical waveguide width in microns.</p></li>
|
||||
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) – Bend radius used by W-shaped routing.</p></li>
|
||||
<li><p><strong>dL</strong> (<em>float</em><em>, </em><em>optional</em>) – Vertical excursion of the W routing.</p></li>
|
||||
<li><p><strong>L_wg</strong> (<em>int</em><em>, </em><em>optional</em>) – Total phase shifter waveguide length.</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_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater width. Use 0 to disable heater geometry.</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>) – Optional isolation helper.</p></li>
|
||||
<li><p><strong>n_bends</strong> (<em>int</em><em>, </em><em>optional</em>) – Number of W bend periods.</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>ISL_UPPER</strong> (<em>bool</em><em>, </em><em>optional</em>) – Enable upper isolation placement when used.</p></li>
|
||||
<li><p><strong>ISL_LOWER</strong> (<em>bool</em><em>, </em><em>optional</em>) – Enable lower isolation placement when used.</p></li>
|
||||
<li><p><strong>L_patch</strong> (<em>float</em><em>, </em><em>optional</em>) – Straight patch length at bend interfaces.</p></li>
|
||||
<li><p><strong>reverse</strong> (<em>bool</em><em>, </em><em>optional</em>) – Swap optical input/output pin naming.</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="py attribute">
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.MZI_mesh.W_waveguide.cell">
|
||||
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.W_waveguide.cell" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Generated W-waveguide 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_mesh.W_waveguide.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_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_mesh.W_waveguide.generate_gds" title="Link to this definition">#</a></dt>
|
||||
@@ -395,6 +431,46 @@
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.MZI_mesh.UMat_2x2_S">
|
||||
<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_mesh.</span></span><span class="sig-name descname"><span class="pre">UMat_2x2_S</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">'unit_mesh_2x2'</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">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">L_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">80</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">50</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">R_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</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_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">bend_heaters</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">dL_ht</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">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_heater</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_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_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</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">8</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">ht_same_side</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">port_align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">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_mesh.UMat_2x2_S" 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>Standard 2x2 MZI mesh unit with phase shifter 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><em>, </em><em>optional</em>) – Nazca cell name.</p></li>
|
||||
<li><p><strong>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) – Beam splitter cell or object. If omitted, a default DC is generated.</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>L_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Straight arm length between beam splitters.</p></li>
|
||||
<li><p><strong>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Vertical spacing between MZI arms.</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>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) – Routing bend radius.</p></li>
|
||||
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) – Internal arm width. If omitted, <code class="docutils literal notranslate"><span class="pre">w_wg</span></code> is used.</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_heater</strong> (<em>str</em><em>, </em><em>optional</em>) – Heater cross-section name.</p></li>
|
||||
<li><p><strong>bend_heaters</strong> (<em>bool</em><em>, </em><em>optional</em>) – Route heaters along bent arms.</p></li>
|
||||
<li><p><strong>dL_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater routing vertical offset.</p></li>
|
||||
<li><p><strong>dL_AMZI</strong> (<em>float</em><em>, </em><em>optional</em>) – Differential length added for AMZI behavior.</p></li>
|
||||
<li><p><strong>L_heater</strong> (<em>Any</em><em>, </em><em>optional</em>) – Optional explicit heater length.</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_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater width.</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 helper object or cell.</p></li>
|
||||
<li><p><strong>ht_same_side</strong> (<em>bool</em><em>, </em><em>optional</em>) – Place both heater contacts on the same side.</p></li>
|
||||
<li><p><strong>port_align</strong> (<em>bool</em><em>, </em><em>optional</em>) – Align optical ports to a common grid.</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_mesh.UMat_2x2_S.cell">
|
||||
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.UMat_2x2_S.cell" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Generated 2x2 unit mesh 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_mesh.UMat_2x2_S.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_pins</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.UMat_2x2_S.generate_gds" title="Link to this definition">#</a></dt>
|
||||
@@ -409,6 +485,47 @@
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.MZI_mesh.MZI_mesh_U">
|
||||
<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_mesh.</span></span><span class="sig-name descname"><span class="pre">MZI_mesh_U</span></span><span class="sig-paren">(</span><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">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">L_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">80</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">50</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">n_ports</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</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">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_compensate</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_compensate</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">mesh_type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'triangle'</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">bend_heaters</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">dL_ht</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">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_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</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">8</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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">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">port_align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_heater</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><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_U" 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>Universal MZI mesh built from repeated 2x2 MZI units.</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>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) – Beam splitter cell or object used by unit cells.</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>L_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Straight arm length in each unit MZI.</p></li>
|
||||
<li><p><strong>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Vertical spacing between MZI arms.</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>n_ports</strong> (<em>int</em><em>, </em><em>optional</em>) – Number of mesh ports.</p></li>
|
||||
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) – Routing bend radius.</p></li>
|
||||
<li><p><strong>L_compensate</strong> (<em>int</em><em>, </em><em>optional</em>) – Length used for compensation routing.</p></li>
|
||||
<li><p><strong>R_compensate</strong> (<em>int</em><em>, </em><em>optional</em>) – Bend radius used by compensation routing.</p></li>
|
||||
<li><p><strong>mesh_type</strong> (<em>str</em><em>, </em><em>optional</em>) – Mesh topology name, such as <code class="docutils literal notranslate"><span class="pre">"triangle"</span></code> or <code class="docutils literal notranslate"><span class="pre">"parallelogram"</span></code>.</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>bend_heaters</strong> (<em>bool</em><em>, </em><em>optional</em>) – Route heaters along bent arms.</p></li>
|
||||
<li><p><strong>dL_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater routing vertical offset.</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_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater width.</p></li>
|
||||
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) – Metal routing width.</p></li>
|
||||
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) – Internal arm width. If omitted, <code class="docutils literal notranslate"><span class="pre">w_wg</span></code> is used.</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>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 helper object or cell.</p></li>
|
||||
<li><p><strong>port_align</strong> (<em>bool</em><em>, </em><em>optional</em>) – Align optical ports to a common grid.</p></li>
|
||||
<li><p><strong>L_heater</strong> (<em>Any</em><em>, </em><em>optional</em>) – Optional explicit heater length.</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_mesh.MZI_mesh_U.cell">
|
||||
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_U.cell" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Generated universal MZI mesh 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_mesh.MZI_mesh_U.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_pins</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_U.generate_gds" title="Link to this definition">#</a></dt>
|
||||
@@ -423,6 +540,46 @@
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.MZI_mesh.AMZI_W">
|
||||
<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_mesh.</span></span><span class="sig-name descname"><span class="pre">AMZI_W</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">'AMZI_W'</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">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">D_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">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">R_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_bend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp</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_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">dL_ht</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">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_heater</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_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_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</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">8</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">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">port_align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_patch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.25</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_mesh.AMZI_W" 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>Asymmetric MZI with W-shaped phase shifter 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.</p></li>
|
||||
<li><p><strong>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) – Beam splitter cell or object. If omitted, a default DC is generated.</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>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Vertical spacing between MZI arms.</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>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) – Routing bend radius.</p></li>
|
||||
<li><p><strong>n_bend</strong> (<em>int</em><em>, </em><em>optional</em>) – Number of W-shaped bend periods.</p></li>
|
||||
<li><p><strong>w_arm</strong> (<em>float</em><em>, </em><em>optional</em>) – Internal arm width. If omitted, <code class="docutils literal notranslate"><span class="pre">w_wg</span></code> is used.</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_heater</strong> (<em>str</em><em>, </em><em>optional</em>) – Heater cross-section name.</p></li>
|
||||
<li><p><strong>dL_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater routing vertical offset.</p></li>
|
||||
<li><p><strong>dL_AMZI</strong> (<em>float</em><em>, </em><em>optional</em>) – Differential length added for AMZI behavior.</p></li>
|
||||
<li><p><strong>L_heater</strong> (<em>Any</em><em>, </em><em>optional</em>) – Optional explicit heater length.</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_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater width.</p></li>
|
||||
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) – Metal routing width.</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>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 helper object or cell.</p></li>
|
||||
<li><p><strong>port_align</strong> (<em>bool</em><em>, </em><em>optional</em>) – Align optical ports to a common grid.</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>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_mesh.AMZI_W.cell">
|
||||
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.AMZI_W.cell" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Generated asymmetric W-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_mesh.AMZI_W.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_pins</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.AMZI_W.generate_gds" title="Link to this definition">#</a></dt>
|
||||
@@ -442,6 +599,46 @@
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.MZI_mesh.MZI_mesh_Parl">
|
||||
<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_mesh.</span></span><span class="sig-name descname"><span class="pre">MZI_mesh_Parl</span></span><span class="sig-paren">(</span><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">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">L_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">80</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">50</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">n_ports</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</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">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_compensate</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_compensate</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">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">bend_heaters</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">dL_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">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_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</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">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_ram</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">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">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">L_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">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_mesh.MZI_mesh_Parl" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_U" title="mxpic.components.composites.MZI_mesh.MZI_mesh_U"><code class="xref py py-class docutils literal notranslate"><span class="pre">MZI_mesh_U</span></code></a></p>
|
||||
<p>Parallelogram MZI mesh topology wrapper.</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>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) – Beam splitter cell or object used by unit cells.</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>L_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Straight arm length in each unit MZI.</p></li>
|
||||
<li><p><strong>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Vertical spacing between MZI arms.</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>n_ports</strong> (<em>int</em><em>, </em><em>optional</em>) – Number of mesh ports.</p></li>
|
||||
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) – Routing bend radius.</p></li>
|
||||
<li><p><strong>L_compensate</strong> (<em>int</em><em>, </em><em>optional</em>) – Length used for compensation routing.</p></li>
|
||||
<li><p><strong>R_compensate</strong> (<em>int</em><em>, </em><em>optional</em>) – Bend radius used by compensation routing.</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>bend_heaters</strong> (<em>bool</em><em>, </em><em>optional</em>) – Route heaters along bent arms.</p></li>
|
||||
<li><p><strong>dL_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater routing vertical offset.</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_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater width.</p></li>
|
||||
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) – Metal routing width.</p></li>
|
||||
<li><p><strong>w_ram</strong> (<em>float</em><em>, </em><em>optional</em>) – Internal arm width passed to the unit mesh generator.</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>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 helper object or cell.</p></li>
|
||||
<li><p><strong>L_heater</strong> (<em>Any</em><em>, </em><em>optional</em>) – Optional explicit heater length.</p></li>
|
||||
<li><p><strong>port_align</strong> (<em>bool</em><em>, </em><em>optional</em>) – Align optical ports to a common grid.</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_mesh.MZI_mesh_Parl.cell">
|
||||
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_Parl.cell" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Generated parallelogram MZI mesh 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>
|
||||
@@ -451,6 +648,46 @@
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.MZI_mesh.MZI_mesh_Tri">
|
||||
<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_mesh.</span></span><span class="sig-name descname"><span class="pre">MZI_mesh_Tri</span></span><span class="sig-paren">(</span><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">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">L_arm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">80</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">50</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">n_ports</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</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">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L_compensate</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_compensate</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">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">bend_heaters</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">dL_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">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_ht</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</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">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w_ram</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">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">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">L_heater</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">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_mesh.MZI_mesh_Tri" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Bases: <a class="reference internal" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_U" title="mxpic.components.composites.MZI_mesh.MZI_mesh_U"><code class="xref py py-class docutils literal notranslate"><span class="pre">MZI_mesh_U</span></code></a></p>
|
||||
<p>Triangular MZI mesh topology wrapper.</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>BS</strong> (<em>Any</em><em>, </em><em>optional</em>) – Beam splitter cell or object used by unit cells.</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>L_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Straight arm length in each unit MZI.</p></li>
|
||||
<li><p><strong>D_arm</strong> (<em>int</em><em>, </em><em>optional</em>) – Vertical spacing between MZI arms.</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>n_ports</strong> (<em>int</em><em>, </em><em>optional</em>) – Number of mesh ports.</p></li>
|
||||
<li><p><strong>R_bend</strong> (<em>int</em><em>, </em><em>optional</em>) – Routing bend radius.</p></li>
|
||||
<li><p><strong>L_compensate</strong> (<em>int</em><em>, </em><em>optional</em>) – Length used for compensation routing.</p></li>
|
||||
<li><p><strong>R_compensate</strong> (<em>int</em><em>, </em><em>optional</em>) – Bend radius used by compensation routing.</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>bend_heaters</strong> (<em>bool</em><em>, </em><em>optional</em>) – Route heaters along bent arms.</p></li>
|
||||
<li><p><strong>dL_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater routing vertical offset.</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_ht</strong> (<em>float</em><em>, </em><em>optional</em>) – Heater width.</p></li>
|
||||
<li><p><strong>w_metal</strong> (<em>float</em><em>, </em><em>optional</em>) – Metal routing width.</p></li>
|
||||
<li><p><strong>w_ram</strong> (<em>float</em><em>, </em><em>optional</em>) – Internal arm width passed to the unit mesh generator.</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>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 helper object or cell.</p></li>
|
||||
<li><p><strong>L_heater</strong> (<em>Any</em><em>, </em><em>optional</em>) – Optional explicit heater length.</p></li>
|
||||
<li><p><strong>port_align</strong> (<em>bool</em><em>, </em><em>optional</em>) – Align optical ports to a common grid.</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_mesh.MZI_mesh_Tri.cell">
|
||||
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_Tri.cell" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Generated triangular MZI mesh 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>
|
||||
@@ -505,6 +742,7 @@
|
||||
<ul class="visible nav section-nav flex-column">
|
||||
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#w-waveguide">W_waveguide</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_mesh.W_waveguide"><code class="docutils literal notranslate"><span class="pre">W_waveguide</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_mesh.W_waveguide.cell"><code class="docutils literal notranslate"><span class="pre">W_waveguide.cell</span></code></a></li>
|
||||
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI_mesh.W_waveguide.generate_gds"><code class="docutils literal notranslate"><span class="pre">W_waveguide.generate_gds()</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -512,6 +750,7 @@
|
||||
</li>
|
||||
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#umat-2x2-s">UMat_2x2_S</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_mesh.UMat_2x2_S"><code class="docutils literal notranslate"><span class="pre">UMat_2x2_S</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_mesh.UMat_2x2_S.cell"><code class="docutils literal notranslate"><span class="pre">UMat_2x2_S.cell</span></code></a></li>
|
||||
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI_mesh.UMat_2x2_S.generate_gds"><code class="docutils literal notranslate"><span class="pre">UMat_2x2_S.generate_gds()</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -519,6 +758,7 @@
|
||||
</li>
|
||||
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-mesh-u">MZI_mesh_U</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_mesh.MZI_mesh_U"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_U</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_mesh.MZI_mesh_U.cell"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_U.cell</span></code></a></li>
|
||||
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_U.generate_gds"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_U.generate_gds()</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -526,6 +766,7 @@
|
||||
</li>
|
||||
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#amzi-w">AMZI_W</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_mesh.AMZI_W"><code class="docutils literal notranslate"><span class="pre">AMZI_W</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_mesh.AMZI_W.cell"><code class="docutils literal notranslate"><span class="pre">AMZI_W.cell</span></code></a></li>
|
||||
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI_mesh.AMZI_W.generate_gds"><code class="docutils literal notranslate"><span class="pre">AMZI_W.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_mesh.AMZI_W.generate_test_gds"><code class="docutils literal notranslate"><span class="pre">AMZI_W.generate_test_gds()</span></code></a></li>
|
||||
</ul>
|
||||
@@ -533,11 +774,17 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mzi-mesh-parl">MZI_mesh_Parl</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_mesh.MZI_mesh_Parl"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_Parl</span></code></a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_Parl"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_Parl</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_mesh.MZI_mesh_Parl.cell"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_Parl.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-mesh-tri">MZI_mesh_Tri</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_mesh.MZI_mesh_Tri"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_Tri</span></code></a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.MZI_mesh.MZI_mesh_Tri"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_Tri</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_mesh.MZI_mesh_Tri.cell"><code class="docutils literal notranslate"><span class="pre">MZI_mesh_Tri.cell</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
+23
-34
@@ -375,51 +375,39 @@
|
||||
|
||||
<section id="module-mxpic.components.composites.SptTree">
|
||||
<span id="mxpic-components-composites-spttree"></span><h1>mxpic.components.composites.SptTree<a class="headerlink" href="#module-mxpic.components.composites.SptTree" title="Link to this heading">#</a></h1>
|
||||
<p>Optical splitting tree composite layouts.</p>
|
||||
<section id="splittingtree">
|
||||
<h2>SplittingTree<a class="headerlink" href="#splittingtree" title="Link to this heading">#</a></h2>
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.SptTree.SplittingTree">
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.composites.SptTree.</span></span><span class="sig-name descname"><span class="pre">SplittingTree</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ybranch</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">output_number</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">16</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bend_radius</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">output_pitch</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><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.SptTree.SplittingTree" 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>Class for generating splitting tree.</p>
|
||||
<dl class="simple">
|
||||
<dt>Paras:</dt><dd><ol class="arabic simple">
|
||||
<li><dl class="simple">
|
||||
<dt>ybranch [class] (Default None)</dt><dd><ul class="simple">
|
||||
<li><p>length (Default: 28) Length of the ybranch</p></li>
|
||||
<li><p>width (Default: 2) Pitch between two output waveguides</p></li>
|
||||
<li><p>w_wg (Default: 0.45) Width of output waveguide</p></li>
|
||||
<li><dl class="simple">
|
||||
<dt>cell (Default: box)</dt><dd><ul>
|
||||
<li><p>a1 [Pin] Input waveguide</p></li>
|
||||
<li><p>b1 [Pin] Output waveguide1</p></li>
|
||||
<li><p>b2 [Pin] Output waveguide2</p></li>
|
||||
<p>Binary splitter tree built from repeated Y-branch cells.</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>ybranch</strong> (<em>Any</em><em>, </em><em>optional</em>) – Y-branch object with a <code class="docutils literal notranslate"><span class="pre">cell</span></code> attribute and <code class="docutils literal notranslate"><span class="pre">a1</span></code>, <code class="docutils literal notranslate"><span class="pre">b1</span></code>, and
|
||||
<code class="docutils literal notranslate"><span class="pre">b2</span></code> pins. If omitted, a simple box-based Y-branch is generated.</p></li>
|
||||
<li><p><strong>output_number</strong> (<em>int</em><em>, </em><em>optional</em>) – Number of output channels. Values are coerced to the nearest lower
|
||||
power of two when needed.</p></li>
|
||||
<li><p><strong>bend_radius</strong> (<em>int</em><em>, </em><em>optional</em>) – Bend radius used to route between splitter levels.</p></li>
|
||||
<li><p><strong>output_pitch</strong> (<em>Any</em><em>, </em><em>optional</em>) – Output channel pitch in microns. If omitted, the Y-branch output
|
||||
pitch is used.</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>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li><dl class="simple">
|
||||
<dt>output_number [-] (Default: 16)</dt><dd><p>Number of output channels(Need to be 2^N)</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li><dl class="simple">
|
||||
<dt>bend_radius [um] (Default: 10)</dt><dd><p>Bend radius used to connect the different layer of Y branch</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li><dl class="simple">
|
||||
<dt>output_pitch [um] (Default: None)</dt><dd><p>Can define the pitch of output channel(If ==None, then pitch=self.width, which is the minimum pitch)</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ol>
|
||||
<dl class="py attribute">
|
||||
<dt class="sig sig-object py" id="mxpic.components.composites.SptTree.SplittingTree.cell">
|
||||
<span class="sig-name descname"><span class="pre">cell</span></span><a class="headerlink" href="#mxpic.components.composites.SptTree.SplittingTree.cell" title="Link to this definition">#</a></dt>
|
||||
<dd><p>Generated splitting tree 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.SptTree.SplittingTree.generate_gds">
|
||||
<span class="sig-name descname"><span class="pre">generate_gds</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.composites.SptTree.SplittingTree.generate_gds" title="Link to this definition">#</a></dt>
|
||||
@@ -480,6 +468,7 @@
|
||||
<ul class="visible nav section-nav flex-column">
|
||||
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#splittingtree">SplittingTree</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.SptTree.SplittingTree"><code class="docutils literal notranslate"><span class="pre">SplittingTree</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.SptTree.SplittingTree.cell"><code class="docutils literal notranslate"><span class="pre">SplittingTree.cell</span></code></a></li>
|
||||
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.composites.SptTree.SplittingTree.generate_gds"><code class="docutils literal notranslate"><span class="pre">SplittingTree.generate_gds()</span></code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
@@ -303,7 +303,13 @@
|
||||
<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>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../structures.html">mxpic.components.structures</a></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/polygons.html">mxpic.components.geometry.polygons</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="../geometry/rings.html">mxpic.components.geometry.rings</a></li>
|
||||
<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/racetrack.html">mxpic.components.geometry.racetrack</a></li>
|
||||
</ul>
|
||||
</details></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav></div>
|
||||
@@ -369,6 +375,7 @@
|
||||
|
||||
<section id="module-mxpic.components.composites.advance">
|
||||
<span id="mxpic-components-composites-advance"></span><h1>mxpic.components.composites.advance<a class="headerlink" href="#module-mxpic.components.composites.advance" title="Link to this heading">#</a></h1>
|
||||
<p>Convenience exports for advanced ring and CROW composite building blocks.</p>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user