gdsfactory.path.euler

Contents

gdsfactory.path.euler#

gdsfactory.path.euler(radius: float = 10, angle: float = 90, p: float = 0.5, use_eff: bool = False, npoints: int | None = None) Path[source]#

Returns an euler bend that adiabatically transitions from straight to curved.

radius is the minimum radius of curvature of the bend. However, if use_eff is set to True, radius corresponds to the effective radius of curvature (making the curve a drop-in replacement for an arc). If p < 1.0, will create a “partial euler” curve as described in Vogelbacher et. al. https://dx.doi.org/10.1364/oe.27.031394

Parameters:
  • radius – minimum radius of curvature.

  • angle – total angle of the curve.

  • p – Proportion of the curve that is an Euler curve.

  • use_eff – If False: radius is the minimum radius of curvature of the bend. If True: The curve will be scaled such that the endpoints match an arc with parameters radius and angle.

  • npoints – Number of points used per 360 degrees.

import gdsfactory as gf

p = gf.path.euler(radius=10, angle=45, p=1, use_eff=True, npoints=720)
p.plot()

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

../_images/gdsfactory-path-euler-1.png