gdsfactory.path.euler

Contents

gdsfactory.path.euler#

gdsfactory.path.euler(radius=10, angle=90, p=0.5, use_eff=False, npoints=None, angular_step=None)[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 (float) – minimum radius of curvature.

  • angle (float) – total angle of the curve.

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

  • use_eff (bool) – 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 (int | None) – Number of points used per 360 degrees.

  • angular_step (float | None) – If provided, determines the angular step (in degrees) between points. This overrides npoints calculation.

Return type:

Path

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