piel.models.physical.photonic.taper
===================================

.. py:module:: piel.models.physical.photonic.taper


Attributes
----------

.. autoapisummary::

   piel.models.physical.photonic.taper.taper_strip_to_slab150
   piel.models.physical.photonic.taper.taper_sc_nc


Functions
---------

.. autoapisummary::

   piel.models.physical.photonic.taper.taper
   piel.models.physical.photonic.taper.taper_strip_to_ridge
   piel.models.physical.photonic.taper.taper_strip_to_ridge_trenches


Module Contents
---------------

.. py:function:: taper(length: float = 10.0, width1: float = 0.5, width2: float | None = None, port: gdsfactory.port.Port | None = None, with_two_ports: bool = True, cross_section: gdsfactory.typings.CrossSectionSpec = 'xs_sc', port_names: tuple | None = ('e1', 'e2'), port_types: tuple | None = ('electrical', 'electrical'), **kwargs) -> gdsfactory.component.Component

   Linear taper, which tapers only the main cross section section.

   Deprecated, use gf.components.taper_cross_section instead

   :param length: taper length.
   :param width1: width of the west/left port.
   :param width2: width of the east/right port. Defaults to width1.
   :param port: can taper from a port instead of defining width1.
   :param with_two_ports: includes a second port.
                          False for terminator and edge coupler fiber interface.
   :param cross_section: specification (CrossSection, string, CrossSectionFactory dict).
   :param port_names: Ordered tuple of port names. First port is default                 taper port, second name only if with_two_ports flags used.
   :type port_names: tuple
   :param port_types: Ordered tuple of port measurement. First port is default                 taper port, second name only if with_two_ports flags used.
   :type port_types: tuple
   :param kwargs: cross_section settings.


.. py:function:: taper_strip_to_ridge(length: float = 10.0, width1: float = 0.5, width2: float = 0.5, w_slab1: float = 0.15, w_slab2: float = 6.0, layer_wg: gdsfactory.typings.LayerSpec = 'WG', layer_slab: gdsfactory.typings.LayerSpec = 'SLAB90', cross_section: gdsfactory.typings.CrossSectionSpec = 'xs_sc', use_slab_port: bool = False, **kwargs) -> gdsfactory.component.Component

   Linear taper from strip to rib.

   Deprecated, use gf.components.taper_cross_section instead.

   :param length: taper length (um).
   :param width1: in um.
   :param width2: in um.
   :param w_slab1: slab width in um.
   :param w_slab2: slab width in um.
   :param layer_wg: for input waveguide.
   :param layer_slab: for output waveguide with slab.
   :param cross_section: for input waveguide.
   :param use_slab_port: if True, uses the port associated with the slab layer (layer_slab)
                         for the second output port of the component.
                         If False, the second port uses the same layer as the first port (layer_wg).
   :param kwargs: cross_section settings.

   .. code::

                     __________________________
                    /           |
            _______/____________|______________
                  /             |
      width1     |w_slab1       | w_slab2  width2
            ______\_____________|______________
                   \            |
                    \__________________________



.. py:function:: taper_strip_to_ridge_trenches(length: float = 10.0, width: float = 0.5, slab_offset: float = 3.0, trench_width: float = 2.0, trench_layer: gdsfactory.typings.LayerSpec = 'DEEP_ETCH', layer_wg: gdsfactory.typings.LayerSpec = 'WG', trench_offset: float = 0.1) -> gdsfactory.Component

   Defines taper using trenches to define the etch.

   :param length: in um.
   :param width: in um.
   :param slab_offset: in um.
   :param trench_width: in um.
   :param trench_layer: trench layer.
   :param layer_wg: waveguide layer.
   :param trench_offset: after waveguide in um.


.. py:data:: taper_strip_to_slab150

.. py:data:: taper_sc_nc

