Files

952 lines
106 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" data-content_root="../../" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mxpic.components.routing &#8212; mxpic_handbook mxpic documentation</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=8f2a1f02" />
<!-- So that users can add custom icons -->
<script src="../../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<script src="../../_static/documentation_options.js?v=91346475"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'mxpic/components/routing';</script>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="prev" title="mxpic.components.pins" href="pins.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="" />
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<form class="bd-search d-flex align-items-center"
action="../../search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
placeholder="Search the docs ..."
aria-label="Search the docs ..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
<div class="bd-header__inner bd-page-width">
<button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation">
<span class="fa-solid fa-bars"></span>
</button>
<div class="col-lg-3 navbar-header-items__start">
<div class="navbar-item">
<a class="navbar-brand logo" href="../../index.html">
<p class="title logo__title">mxpic_handbook mxpic documentation</p>
</a></div>
</div>
<div class="col-lg-9 navbar-header-items">
<div class="me-auto navbar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item current active">
<a class="nav-link nav-internal" href="index.html">
Components
</a>
</li>
</ul>
</nav></div>
</div>
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page">
<span class="fa-solid fa-outdent"></span>
</button>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
<div class="sidebar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item current active">
<a class="nav-link nav-internal" href="index.html">
Components
</a>
</li>
</ul>
</nav></div>
</div>
<div class="sidebar-header-items__end">
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
</div>
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">
<nav class="bd-docs-nav bd-links"
aria-label="Section Navigation">
<p class="bd-links__title" role="heading" aria-level="1">Section Navigation</p>
<div class="bd-toc-item navbar-nav"><ul class="current nav bd-sidenav">
<li class="toctree-l1 has-children"><a class="reference internal" href="composites/index.html">Composites</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="composites/LoopMirror.html">mxpic.components.composites.LoopMirror</a></li>
<li class="toctree-l2"><a class="reference internal" href="composites/MZI.html">mxpic.components.composites.MZI</a></li>
<li class="toctree-l2"><a class="reference internal" href="composites/MZI_mesh.html">mxpic.components.composites.MZI_mesh</a></li>
<li class="toctree-l2"><a class="reference internal" href="composites/SptTree.html">mxpic.components.composites.SptTree</a></li>
<li class="toctree-l2"><a class="reference internal" href="composites/advance.html">mxpic.components.composites.advance</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="electronics/index.html">Electronics</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="electronics/eic_units.html">mxpic.components.electronics.eic_units</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="geometry/index.html">Geometry</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="geometry/curves.html">mxpic.components.geometry.curves</a></li>
<li class="toctree-l2"><a class="reference internal" href="geometry/polygons.html">mxpic.components.geometry.polygons</a></li>
<li class="toctree-l2"><a class="reference internal" href="geometry/racetrack.html">mxpic.components.geometry.racetrack</a></li>
<li class="toctree-l2"><a class="reference internal" href="geometry/rings.html">mxpic.components.geometry.rings</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="others/index.html">Others</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="others/simulation/index.html">Simulation</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="others/simulation/DualPortElements.html">mxpic.components.others.simulation.DualPortElements</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="primitives/index.html">Primitives</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="primitives/active/index.html">Active</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="primitives/active/dev_ps.html">mxpic.components.primitives.active.dev_ps</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/active/pin_wg.html">mxpic.components.primitives.active.pin_wg</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/active/rings.html">mxpic.components.primitives.active.rings</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="primitives/passive/index.html">Passive</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="primitives/passive/crows.html">mxpic.components.primitives.passive.crows</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/passive/rings.html">mxpic.components.primitives.passive.rings</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/passive/unit.html">mxpic.components.primitives.passive.unit</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="primitives/pic/index.html">Pic</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/PBS.html">mxpic.components.primitives.pic.PBS</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/YBS.html">mxpic.components.primitives.pic.YBS</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/bragg.html">mxpic.components.primitives.pic.bragg</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/couplers.html">mxpic.components.primitives.pic.couplers</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/cross.html">mxpic.components.primitives.pic.cross</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/edge_couplers.html">mxpic.components.primitives.pic.edge_couplers</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/gratings.html">mxpic.components.primitives.pic.gratings</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/mmi.html">mxpic.components.primitives.pic.mmi</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/racetrack.html">mxpic.components.primitives.pic.racetrack</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/rings.html">mxpic.components.primitives.pic.rings</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/spiral.html">mxpic.components.primitives.pic.spiral</a></li>
<li class="toctree-l3"><a class="reference internal" href="primitives/pic/taper.html">mxpic.components.primitives.pic.taper</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference internal" href="basic.html">mxpic.components.basic</a></li>
<li class="toctree-l1"><a class="reference internal" href="gds_devices.html">mxpic.components.gds_devices</a></li>
<li class="toctree-l1"><a class="reference internal" href="pins.html">mxpic.components.pins</a></li>
<li class="toctree-l1 current active"><a class="current reference internal" href="#">mxpic.components.routing</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
</div>
<main id="main-content" class="bd-main" role="main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article d-print-none">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumb" class="d-print-none">
<ul class="bd-breadcrumbs">
<li class="breadcrumb-item breadcrumb-home">
<a href="../../index.html" class="nav-link" aria-label="Home">
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item"><a href="index.html" class="nav-link">Components</a></li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">mxpic.components.routing</span></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="module-mxpic.components.routing">
<span id="mxpic-components-routing"></span><h1>mxpic.components.routing<a class="headerlink" href="#module-mxpic.components.routing" title="Link to this heading">#</a></h1>
<section id="route">
<h2>Route<a class="headerlink" href="#route" title="Link to this heading">#</a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="mxpic.components.routing.Route">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">mxpic.components.routing.</span></span><span class="sig-name descname"><span class="pre">Route</span></span><span class="sig-paren">(</span><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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</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">90</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Ltp_mm</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">width2_mm</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">MM_route</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">xs</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">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">adapt_width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">adapt_xs</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">instantiate</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">pinstyle</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">offset</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">varname</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">doc</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">PCB</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">modes</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><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route" title="Link to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Interconnect</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.bend_mine">
<span class="sig-name descname"><span class="pre">bend_mine</span></span><span class="sig-paren">(</span><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">None</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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length1</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">length2</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">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">arrow</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">offset</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><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.bend_mine" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.bend_p2p">
<span class="sig-name descname"><span class="pre">bend_p2p</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">radius</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">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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">width_mm</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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sharp_path</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.routing.Route.bend_p2p" title="Link to this definition">#</a></dt>
<dd><p>Another package of IC.strt_bend_strt_p2p, which gives the possiblity to attach pins with right angle</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.bend_route">
<span class="sig-name descname"><span class="pre">bend_route</span></span><span class="sig-paren">(</span><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">None</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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length1</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">length2</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">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">arrow</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">offset</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">original_function</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.routing.Route.bend_route" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.bend_route_p2p">
<span class="sig-name descname"><span class="pre">bend_route_p2p</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">radius</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">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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">original_function</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.routing.Route.bend_route_p2p" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.bend_strt_bend_p2p">
<span class="sig-name descname"><span class="pre">bend_strt_bend_p2p</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">radius</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">radius1</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">radius2</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">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length1</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">length2</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">ictype</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'shortest'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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">width_mm</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">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.bend_strt_bend_p2p" title="Link to this definition">#</a></dt>
<dd><p>Generate a point-to-point bend-straight-bend interconnect.</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>pin1</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) start pin (default=cp)</p></li>
<li><p><strong>pin2</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) end pin</p></li>
<li><p><strong>radius1</strong> (<em>float</em>) optional first bend radius in um</p></li>
<li><p><strong>radius2</strong> (<em>float</em>) optional second bend radius im um</p></li>
<li><p><strong>width</strong> (<em>float</em>) optional waveguide width in um</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optional xsection</p></li>
<li><p><strong>ictype</strong> (<em>str</em>) interconnection type (default=shortest)
options: shortest, ll, lr, rl, rr, all</p></li>
<li><p><strong>name</strong> (<em>str</em>) optional new name for the component</p></li>
<li><p><strong>arrow</strong> (<em>bool</em>) draw connection arrows (default=True)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>bend_strt_bend element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a bend-straight-bend guide to connect two specific points:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mf">10.0</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">bend_strt_bend_p2p</span><span class="p">(</span><span class="n">pin1</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">pin2</span><span class="o">=</span><span class="p">(</span><span class="mi">40</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">90</span><span class="p">))</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.bend_strt_bend_p2p_mine">
<span class="sig-name descname"><span class="pre">bend_strt_bend_p2p_mine</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">radius</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">radius1</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">radius2</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">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length1</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">length2</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">ictype</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'shortest'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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.routing.Route.bend_strt_bend_p2p_mine" title="Link to this definition">#</a></dt>
<dd><p>Generate a point-to-point bend-straight-bend interconnect.</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>pin1</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) start pin (default=cp)</p></li>
<li><p><strong>pin2</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) end pin</p></li>
<li><p><strong>radius1</strong> (<em>float</em>) optional first bend radius in um</p></li>
<li><p><strong>radius2</strong> (<em>float</em>) optional second bend radius im um</p></li>
<li><p><strong>width</strong> (<em>float</em>) optional waveguide width in um</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optional xsection</p></li>
<li><p><strong>ictype</strong> (<em>str</em>) interconnection type (default=shortest)
options: shortest, ll, lr, rl, rr, all</p></li>
<li><p><strong>name</strong> (<em>str</em>) optional new name for the component</p></li>
<li><p><strong>arrow</strong> (<em>bool</em>) draw connection arrows (default=True)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>bend_strt_bend element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a bend-straight-bend guide to connect two specific points:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mf">10.0</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">bend_strt_bend_p2p</span><span class="p">(</span><span class="n">pin1</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">pin2</span><span class="o">=</span><span class="p">(</span><span class="mi">40</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">90</span><span class="p">))</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.connPatch">
<span class="sig-name descname"><span class="pre">connPatch</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.connPatch" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.line_mm">
<span class="sig-name descname"><span class="pre">line_mm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</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">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width_mm</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">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.line_mm" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.rt_bend">
<span class="sig-name descname"><span class="pre">rt_bend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'strip'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pin</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.routing.Route.rt_bend" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.sbend_p2p">
<span class="sig-name descname"><span class="pre">sbend_p2p</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">width</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">radius</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">Amax</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">doStrFirst</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Lstart</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">BendEndFlag</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ref</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">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">arrow</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">bsb</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">sharp_patch</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">width_mm</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">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.sbend_p2p" title="Link to this definition">#</a></dt>
<dd><p>Create point-to-point s-bend interconnect.</p>
<p>The direction of the end pin is ignored.</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>pin1</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) start pin (default=cp)</p></li>
<li><p><strong>pin2</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) end pin</p></li>
<li><p><strong>width</strong> (<em>float</em>) width of the interconnect in um</p></li>
<li><p><strong>radius</strong> (<em>float</em>) bend radius of the interconnect in um</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optional xsection of sbend</p></li>
<li><p><strong>doFirst</strong> (<em>int</em>) (default=1)</p></li>
<li><p><strong>Amax</strong> (<em>float</em>) maximum bend angle (default=90)</p></li>
<li><p><strong>Lstart</strong> (<em>float</em>) straight waveguide length at beginning (positive
value) or end (negative value) of sbend</p></li>
<li><p><strong>ref</strong> (<em>Node</em>) reference direction for the sbend (default=pin1).</p></li>
<li><p><strong>name</strong> (<em>str</em>) optional new name for the component</p></li>
<li><p><strong>BendEndFlag</strong> (<em>int</em>) (default=1)</p></li>
<li><p><strong>arrow</strong> (<em>bool</em>) draw connection arrows (default=True)</p></li>
<li><p><strong>bsb</strong> (<em>bool</em>) If True, use bend_straight_bend_p2p() as fallback (default=True)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>sbend element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a sbend to connect two specific points:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mf">10.0</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">sbend_p2p</span><span class="p">(</span><span class="n">pin1</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">pin2</span><span class="o">=</span><span class="p">(</span><span class="mi">40</span><span class="p">,</span> <span class="mi">20</span><span class="p">))</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.sbend_p2p_mine">
<span class="sig-name descname"><span class="pre">sbend_p2p_mine</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">width</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">radius</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">Lstart</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">doFirst</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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">width_mm</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">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">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.sbend_p2p_mine" title="Link to this definition">#</a></dt>
<dd><p>Create pin-to-pin s-bend interconnect. This code is made by myself to avoid the possible gap between two bend</p>
<p>The direction of the end pin is ignored and is assumed to be parallel with pin1.</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>pin1</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) start pin (default=cp)</p></li>
<li><p><strong>pin2</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) end pin</p></li>
<li><p><strong>width</strong> (<em>float</em>) width of the interconnect in um</p></li>
<li><p><strong>radius</strong> (<em>float</em>) bend radius of the interconnect in um</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optional xsection of sbend</p></li>
<li><p><strong>doFirst</strong> (<em>int</em>) (default=1)</p></li>
<li><p><strong>Lstart</strong> (<em>float</em>) straight waveguide length at beginning (positive
value) or end (negative value) of sbend</p></li>
<li><p><strong>arrow</strong> (<em>bool</em>) draw connection arrows (default=True)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>sbend element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a sbend to connect two specific points:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mf">10.0</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">sbend_p2p</span><span class="p">(</span><span class="n">pin1</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">pin2</span><span class="o">=</span><span class="p">(</span><span class="mi">40</span><span class="p">,</span> <span class="mi">20</span><span class="p">))</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.sbend_route">
<span class="sig-name descname"><span class="pre">sbend_route</span></span><span class="sig-paren">(</span><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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</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">Ltot</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">length1</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">length2</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">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">arrow</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">Amax</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">original_function</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.routing.Route.sbend_route" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.strt">
<span class="sig-name descname"><span class="pre">strt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</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">width</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">pin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edge1</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">edge2</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">edgepoints</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">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">arrow</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">gridpatch</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.routing.Route.strt" title="Link to this definition">#</a></dt>
<dd><p>Create a straight waveguide.</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>length</strong> (<em>float</em>) length of guide in um</p></li>
<li><p><strong>width</strong> (<em>float</em>) width of guide in um</p></li>
<li><p><strong>pin</strong> (<em>Node</em>) optional Node for modeling info</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optionals xsection of guide</p></li>
<li><p><strong>layer</strong> (<em>int</em><em> | </em><em>str</em>) layer number or layername</p></li>
<li><p><strong>edge1</strong> (<em>function</em>) optional function F(t) describing edge1 of the waveguide</p></li>
<li><p><strong>edge2</strong> (<em>function</em>) optional function G(t) describing edge2 of the waveguide</p></li>
<li><p><strong>edgepoints</strong> (<em>int</em>) optional number of points for edge1 and edge2 (default=50)</p></li>
<li><p><strong>name</strong> (<em>str</em>) optional new name for the component</p></li>
<li><p><strong>arrow</strong> (<em>bool</em>) draw connection arrows (default=True)</p></li>
<li><p><strong>gridpatch</strong> (<em>float</em>) patch gridsnap jumps at grid disconnect
of cells with chamfers of size gridpatch. Default=0 is no patch.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>waveguide element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a straight waveguide:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mf">10.0</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">strt</span><span class="p">(</span><span class="n">length</span><span class="o">=</span><span class="mi">20</span><span class="p">)</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.strt_bend_strt_p2p_mine">
<span class="sig-name descname"><span class="pre">strt_bend_strt_p2p_mine</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">radius</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">radius1</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">radius2</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">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length1</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">length2</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">ictype</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'shortest'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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">width_mm</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">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.strt_bend_strt_p2p_mine" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.strt_mm">
<span class="sig-name descname"><span class="pre">strt_mm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin</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">width2</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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width1</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">Lstart</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">length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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.routing.Route.strt_mm" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.strt_mm_p2p">
<span class="sig-name descname"><span class="pre">strt_mm_p2p</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">width2</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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width1</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">Lstart</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">length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.strt_mm_p2p" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.strt_p2p">
<span class="sig-name descname"><span class="pre">strt_p2p</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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.routing.Route.strt_p2p" title="Link to this definition">#</a></dt>
<dd><p>Create point-to-point straight interconnect.</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>pin1</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) start of waveguide</p></li>
<li><p><strong>pin2</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) end of waveguide</p></li>
<li><p><strong>width</strong> (<em>float</em>) width of waveguide</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optional xsection of waveguide</p></li>
<li><p><strong>name</strong> (<em>str</em>) optional new name for the component</p></li>
<li><p><strong>arrow</strong> (<em>bool</em>) draw connection arrows (default=True)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>straight waveguide element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a straight guide between points:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mf">10.0</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">strt_p2p</span><span class="p">(</span><span class="n">pin1</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">pin2</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">))</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.taper">
<span class="sig-name descname"><span class="pre">taper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</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">width1</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">width2</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">shift</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</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">pin</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">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">patch</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">arrow</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.routing.Route.taper" title="Link to this definition">#</a></dt>
<dd><p>Create a linear taper.</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>length</strong> (<em>float</em>) length of taper</p></li>
<li><p><strong>width1</strong> (<em>float</em>) start width of taper</p></li>
<li><p><strong>width2</strong> (<em>float</em>) end width of taper</p></li>
<li><p><strong>shift</strong> (<em>float</em>) lateral shift of taper end</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optional xsection of taper</p></li>
<li><p><strong>pin</strong> (<em>Node</em>) optional Node for modeling info</p></li>
<li><p><strong>name</strong> (<em>str</em>) optional new name for the component</p></li>
<li><p><strong>arrow</strong> (<em>bool</em>) draw connection arrows (default=True)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>linear taper element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a linear taper:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mf">10.0</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">taper</span><span class="p">(</span><span class="n">length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">width1</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">width2</span><span class="o">=</span><span class="mf">5.0</span><span class="p">)</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.taper_p2p">
<span class="sig-name descname"><span class="pre">taper_p2p</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">width1</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">width2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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.routing.Route.taper_p2p" title="Link to this definition">#</a></dt>
<dd><p>Create point-to-point (angled) taper interconnect.</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>pin1</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) start pin (default=cp)</p></li>
<li><p><strong>pin2</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) end pin</p></li>
<li><p><strong>width1</strong> (<em>float</em>) width at start (taken from pin1 if None)</p></li>
<li><p><strong>width2</strong> (<em>float</em>) width at end (taken from pin2 if None)</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optional xsection of taper</p></li>
<li><p><strong>name</strong> (<em>str</em>) optional new name for the component</p></li>
<li><p><strong>BendEndFlag</strong> (<em>int</em>) (default=1)</p></li>
<li><p><strong>arrow</strong> (<em>bool</em>) draw connection arrows (default=True)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>taper element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a taper to connect two specific points:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">taper_p2p</span><span class="p">(</span><span class="n">pin1</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">pin2</span><span class="o">=</span><span class="p">(</span><span class="mi">40</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="n">width2</span><span class="o">=</span><span class="mi">4</span><span class="p">)</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.tube_mine">
<span class="sig-name descname"><span class="pre">tube_mine</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">geo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">showpins</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">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arrow</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">Ltp</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">width_mm</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">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.tube_mine" title="Link to this definition">#</a></dt>
<dd><p>draw interconnect based on symbols.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>Tube element based on the provided elements</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p>Cell</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.ubend_p2p">
<span class="sig-name descname"><span class="pre">ubend_p2p</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin1</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">pin2</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">radius</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">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length</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">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">arrow</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">balance</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">end_angle</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">original_function</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">Ltp</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">width_mm</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.routing.Route.ubend_p2p" title="Link to this definition">#</a></dt>
<dd><p>Create point-to-point u-bend interconnect.</p>
<p>An extra straight length can be added to the ubend with &lt;length&gt;.</p>
<p>If the sideways translation needed in the ubend is &lt;2*radius, then
the ubend automatically introduces a horseshoe shape. The horseshoe
can be made sidelobed by a &lt;balance&gt; parameter between -1 and 1, where
0 results in a symmetric shape.</p>
<p>The orientation of the output pin does not matter unless
end_angle=True is set (default=False). If True an extra bend is
introduced on pin2 to align its direction with pin1 before drawing an
orthogonal ubend.</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>pin1</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) start pin (default=cp)</p></li>
<li><p><strong>pin2</strong> (<em>Node</em><em> | </em><em>Instance</em><em> | </em><em>tuple</em><em>(</em><em>x</em><em>, </em><em>y</em><em>, </em><em>a</em><em>)</em>) end pin</p></li>
<li><p><strong>radius</strong> (<em>float</em>) optional bend radius in um</p></li>
<li><p><strong>width</strong> (<em>float</em>) optional waveguide width in um</p></li>
<li><p><strong>xs</strong> (<em>str</em>) optional xsection of ubend</p></li>
<li><p><strong>length</strong> (<em>float</em>) extra straight section for longer ubend (default=0)</p></li>
<li><p><strong>balance</strong> (<em>float</em>) for a ubend &lt;2*radius sidewyas, shift the horseshoe shape (default=0)</p></li>
<li><p><strong>end_angle</strong> (<em>bool</em>) Take pin2 angle into account when connecting if True (default=False)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>ubend element</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>Cell</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>Create and place a ubend to connect two specific points:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">nazca</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">nd</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">nazca.interconnects</span><span class="w"> </span><span class="kn">import</span> <span class="n">Interconnect</span>
<span class="n">ic</span> <span class="o">=</span> <span class="n">Interconnect</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="mf">2.0</span><span class="p">,</span> <span class="n">radius</span><span class="o">=</span><span class="mf">10.0</span><span class="p">)</span>
<span class="n">guide</span> <span class="o">=</span> <span class="n">ic</span><span class="o">.</span><span class="n">ubend_p2p</span><span class="p">(</span><span class="n">pin1</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">pin2</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">90</span><span class="p">),</span> <span class="n">length</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
<span class="n">guide</span><span class="o">.</span><span class="n">put</span><span class="p">()</span>
<span class="n">nd</span><span class="o">.</span><span class="n">export_plt</span><span class="p">()</span>
</pre></div>
</div>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="mxpic.components.routing.Route.ubend_route">
<span class="sig-name descname"><span class="pre">ubend_route</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pin</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">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20.0</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">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length</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">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">arrow</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">balance</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">end_angle</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">width_mm</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">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.Route.ubend_route" title="Link to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
</section>
<section id="ic-exception">
<h2>ic_exception<a class="headerlink" href="#ic-exception" title="Link to this heading">#</a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="mxpic.components.routing.ic_exception">
<span class="sig-prename descclassname"><span class="pre">mxpic.components.routing.</span></span><span class="sig-name descname"><span class="pre">ic_exception</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#mxpic.components.routing.ic_exception" title="Link to this definition">#</a></dt>
<dd><p>Raise interconnect exception if conditions apply.</p>
</dd></dl>
</section>
</section>
</article>
<footer class="prev-next-footer d-print-none">
<div class="prev-next-area">
<a class="left-prev"
href="pins.html"
title="previous page">
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">mxpic.components.pins</p>
</div>
</a>
</div>
</footer>
</div>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div
id="pst-page-navigation-heading-2"
class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> On this page
</div>
<nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#route">Route</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.routing.Route"><code class="docutils literal notranslate"><span class="pre">Route</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.routing.Route.bend_mine"><code class="docutils literal notranslate"><span class="pre">Route.bend_mine()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.bend_p2p"><code class="docutils literal notranslate"><span class="pre">Route.bend_p2p()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.bend_route"><code class="docutils literal notranslate"><span class="pre">Route.bend_route()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.bend_route_p2p"><code class="docutils literal notranslate"><span class="pre">Route.bend_route_p2p()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.bend_strt_bend_p2p"><code class="docutils literal notranslate"><span class="pre">Route.bend_strt_bend_p2p()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.bend_strt_bend_p2p_mine"><code class="docutils literal notranslate"><span class="pre">Route.bend_strt_bend_p2p_mine()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.connPatch"><code class="docutils literal notranslate"><span class="pre">Route.connPatch()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.line_mm"><code class="docutils literal notranslate"><span class="pre">Route.line_mm()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.rt_bend"><code class="docutils literal notranslate"><span class="pre">Route.rt_bend()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.sbend_p2p"><code class="docutils literal notranslate"><span class="pre">Route.sbend_p2p()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.sbend_p2p_mine"><code class="docutils literal notranslate"><span class="pre">Route.sbend_p2p_mine()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.sbend_route"><code class="docutils literal notranslate"><span class="pre">Route.sbend_route()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.strt"><code class="docutils literal notranslate"><span class="pre">Route.strt()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.strt_bend_strt_p2p_mine"><code class="docutils literal notranslate"><span class="pre">Route.strt_bend_strt_p2p_mine()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.strt_mm"><code class="docutils literal notranslate"><span class="pre">Route.strt_mm()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.strt_mm_p2p"><code class="docutils literal notranslate"><span class="pre">Route.strt_mm_p2p()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.strt_p2p"><code class="docutils literal notranslate"><span class="pre">Route.strt_p2p()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.taper"><code class="docutils literal notranslate"><span class="pre">Route.taper()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.taper_p2p"><code class="docutils literal notranslate"><span class="pre">Route.taper_p2p()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.tube_mine"><code class="docutils literal notranslate"><span class="pre">Route.tube_mine()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.ubend_p2p"><code class="docutils literal notranslate"><span class="pre">Route.ubend_p2p()</span></code></a></li>
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#mxpic.components.routing.Route.ubend_route"><code class="docutils literal notranslate"><span class="pre">Route.ubend_route()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#ic-exception">ic_exception</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.routing.ic_exception"><code class="docutils literal notranslate"><span class="pre">ic_exception()</span></code></a></li>
</ul>
</li>
</ul>
</nav></div>
<div class="sidebar-secondary-item">
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../../_sources/mxpic/components/routing.md.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div></div>
</div></div>
</div>
<footer class="bd-footer-content">
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<footer class="bd-footer">
<div class="bd-footer__inner bd-page-width">
<div class="footer-items__start">
<div class="footer-item">
<p class="copyright">
© Copyright 2026, Qin Yue (PotatoMaxwell).
<br/>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.4.7.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item">
<p class="theme-version">
<!-- # L10n: Setting the PST URL as an argument as this does not need to be localized -->
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.16.1.
</p></div>
</div>
</div>
</footer>
</body>
</html>