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
)