gdsfactory.cross_section.rib_heater_doped_via_stack

gdsfactory.cross_section.rib_heater_doped_via_stack#

gdsfactory.cross_section.rib_heater_doped_via_stack(width: float = 0.5, layer: LayerSpec = 'WG', heater_width: float = 1.0, heater_gap: float = 0.8, layer_slab: LayerSpec = 'SLAB90', layer_heater: LayerSpec = 'NPP', via_stack_width: float = 2.0, via_stack_gap: float = 0.8, layers_via_stack: LayerSpecs = ('NPP', 'VIAC'), bbox_offsets_via_stack: tuple[float, ...] = (0, -0.2), slab_gap: float = 0.2, slab_offset: float = 0, with_top_heater: bool = True, with_bot_heater: bool = True, sections: tuple[Section, ...] | None = None, **kwargs) CrossSection[source]#

Returns rib cross_section with N++ doped heaters on both sides.

dimensions from https://doi.org/10.1364/OE.27.010456

Parameters:
  • width – in um.

  • layer – for main waveguide section.

  • heater_width – in um.

  • heater_gap – in um.

  • layer_slab – for pedestal.

  • layer_heater – for doped heater.

  • via_stack_width – for the contact.

  • via_stack_gap – in um.

  • layers_via_stack – for the contact.

  • bbox_offsets_via_stack – for the contact.

  • slab_gap – from heater edge.

  • slab_offset – over the center of the slab.

  • with_top_heater – adds top/left heater.

  • with_bot_heater – adds bottom/right heater.

  • sections – list of sections to add to the cross_section.

  • kwargs – cross_section settings.

                            |<----width------>|
slab_gap                     __________________ via_stack_gap     via_stack width
<-->                        |                 |<------------>|<--------------->
                            |                 | heater_gap |
                            |                 |<---------->|
 ___ _______________________|                 |___________________________ ____
|   |            |              undoped Si                 |              |    |
|   |layer_heater|              intrinsic region           |layer_heater  |    |
|___|____________|_________________________________________|______________|____|
                                                            <------------>
                                                             heater_width
<------------------------------------------------------------------------------>
                                slab_width
import gdsfactory as gf

xs = gf.cross_section.rib_heater_doped_via_stack(width=0.5, heater_width=2, heater_gap=0.5, layer_heater='NPP')
p = gf.path.arc(radius=10, angle=45)
c = p.extrude(xs)
c.plot()

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

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