Skip to content

parametric.bend

bend(
*,
port_spec: Annotated[str | photonforge.PortSpec, _] | None = None,
radius: Annotated[float, exclusiveMinimum=0, units='μm'] | None = None,
angle: Annotated[float, maximum=180, minimum=-180, units='°']
| None = None,
euler_fraction: Annotated[float, maximum=1, minimum=0] | None = None,
port_bends: bool | None = None,
technology: photonforge.Technology | None = None,
name: str | None = None,
model: photonforge.Model | None = None,
) -> photonforge.Component

Waveguide bend section.

Args

  • port_spec: Port specification describing waveguide cross-section.
  • radius: Central arc radius.
  • angle: Arc coverage angle. If None, defaults to 90.
  • euler_fraction: Fraction of the bend that is created using an Euler spiral (see Path.arc). If None, defaults to 0.
  • port_bends: Flag controllig whether to set a bend radius for the ports. Not used when euler_factor > 0. If None, defaults to False.
  • technology: Component technology. If None, the default technology is used.
  • name: Component name.
  • model: Model to be used with this component. If None a WaveguideModel is used.

Returns

Component with the circular bend section, ports and model.

Example

>>> component = pf.parametric.bend(port_spec="Strip", radius=5, euler_fraction=0.5)

bend