gdsfactory.cross_section.l_wg_doped_with_trenches

gdsfactory.cross_section.l_wg_doped_with_trenches#

gdsfactory.cross_section.l_wg_doped_with_trenches(width=0.5, layer='WG', layer_trench='DEEP_ETCH', gap_low_doping=0.0, gap_medium_doping=0.5, gap_high_doping=1.0, width_doping=8.0, slab_offset=0.3, width_slab=None, width_trench=2.0, layer_low='P', layer_mid='PP', layer_high='PPP', layer_via=None, width_via=1.0, layer_metal=None, width_metal=1.0, port_names=('o1', 'o2'), cladding_layers=None, cladding_offsets=None, wg_marking_layer=None, sections=None, **kwargs)[source]#

L waveguide PN doped cross_section.

Parameters:
  • width (float) – width of the ridge in um.

  • layer (tuple[int, int] | str | int | LayerEnum) – ridge layer. None adds only ridge.

  • layer_trench (tuple[int, int] | str | int | LayerEnum) – layer to etch trenches.

  • gap_low_doping (float) – from waveguide outer edge to low doping. Only used for PIN.

  • gap_medium_doping (float | None) – from waveguide edge to medium doping. None removes it.

  • gap_high_doping (float | None) – from edge to high doping. None removes it.

  • width_doping (float) – in um.

  • slab_offset (float | None) – from the edge of the trench to the edge of the slab.

  • width_slab (float | None) – in um.

  • width_trench (float) – in um.

  • layer_low (tuple[int, int] | str | int | LayerEnum) – low doping layer.

  • layer_mid (tuple[int, int] | str | int | LayerEnum) – mid doping layer.

  • layer_high (tuple[int, int] | str | int | LayerEnum) – high doping layer.

  • layer_via (tuple[int, int] | str | int | LayerEnum | None) – via layer.

  • width_via (float) – via width in um.

  • layer_metal (tuple[int, int] | str | int | LayerEnum | None) – metal layer.

  • width_metal (float) – metal width in um.

  • port_names (tuple[str, str]) – input and output port names.

  • cladding_layers (Sequence[tuple[int, int]] | None) – optional list of cladding layers.

  • cladding_offsets (Sequence[float] | None) – optional list of cladding offsets.

  • wg_marking_layer (tuple[int, int] | str | int | LayerEnum | None) – layer to mark where the actual guiding section is.

  • sections (tuple[Section, ...] | None) – optional list of sections.

  • kwargs (Any) – cross_section settings.

Return type:

CrossSection

                                   gap_low_doping
                                    <------>
                                           |
                                           wg
                                          edge
                                           |
 _____                       _______ ______
      |                     |              |
      |_____________________|              |
                                           |
                                           |
                             <------------>
                                    width
      <--------------------->               |
     width_trench       |                   |
                        |                   |
                        |<----------------->|
                           gap_medium_doping
              |<--------------------------->|
                      gap_high_doping
<------------------------------------------->
                 width_slab
import gdsfactory as gf

xs = gf.cross_section.pn_with_trenches(width=0.5, gap_low_doping=0, width_doping=2.)
p = gf.path.arc(radius=10, angle=45)
c = p.extrude(xs)
c.plot()

(Source code, png, hires.png, pdf)

../_images/gdsfactory-cross_section-l_wg_doped_with_trenches-1.png