transition¶
- photonforge.parametric.transition(*, port_spec1=None, port_spec2=None, length=None, constant_length=None, profile=None, technology=None, name=None, tidy3d_model_kwargs=None)[source]¶
Straight waveguide that works as a transition between port profiles.
- Parameters:
port_spec1 (Annotated[str | PortSpec, _] | None) – Port specification describing the first cross-section.
port_spec2 (Annotated[str | PortSpec, _] | None) – Port specification describing the second cross-section.
length (Annotated[float, exclusiveMinimum=0, units='μm'] | None) – Transition length.
constant_length (Annotated[float, minimum=0, units='μm'] | None) – Constant cross-section length added to both ends. If
None, defaults to 0.profile (Annotated[str | Expression, _] | None) – 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, anphotonforge.Expressionwith 1 parameter can be used. IfNone, a linear transition is used.technology (Annotated[Technology, _] | None) – Component technology. If
None, the default technology is used.name (Annotated[str, _] | None) – Component name.
tidy3d_model_kwargs (Annotated[dict[str, Any], _] | None) – Dictionary of keyword arguments passed to the component’s
photonforge.Tidy3DModel.
- Returns:
Component with the transition geometry, ports and model.
- Return type:
component = pf.parametric.transition(
port_spec1="Strip", port_spec2="Rib", length=5, constant_length=0.5
)