transition

photonforge.parametric.transition(*, port_spec1, port_spec2, length, constant_length=0, profile=None, technology=None, name='', tidy3d_model_kwargs={})

Straight waveguide that works as a transition between port profiles.

Parameters:
  • port_spec1 (str | PortSpec) – Port specification describing the first cross-section.

  • port_spec2 (str | PortSpec) – Port specification describing the second cross-section.

  • length (float) – Transition length.

  • constant_length (float) – Constant cross-section length added to both ends.

  • profile (str | Expression) – String expression describing the transition shape parametrized by the independent variable "u", ranging from 0 to 1 along the transition. The expression must evaluate to a float between 0 and 1 representing the weight of the second profile with respect to the first at that position. Alternatively, an photonforge.Expression with 1 parameter can be used. If None, a linear transition is used.

  • technology (Technology) – Component technology. If None, the default technology is used.

  • name (str) – Component name.

  • tidy3d_model_kwargs (dict[str, Any]) – Dictionary of keyword arguments passed to the component’s photonforge.Tidy3DModel.

Returns:

Component with the transition geometry, ports and model.

Return type:

Component

component = transition(port_spec1="Strip", port_spec2="Rib", length=5, constant_length=0.5)
transition