s_bend_ring_coupler¶
- photonforge.parametric.s_bend_ring_coupler(*, port_spec=None, coupling_distance=None, radius=None, s_bend_length=None, s_bend_offset=None, euler_fraction=None, coupling_length=None, technology=None, name=None, tidy3d_model_kwargs=None)¶
Ring coupling through an S bend curve.
- Parameters:
port_spec (str | PortSpec | tuple) – Port specification describing waveguide cross-section. A tuple with 2 values can be used, one for each coupler side.
coupling_distance (float) – Distance between bus and ring waveguide centers.
radius (float) – Central ring radius.
s_bend_length (float) – Length of the S bends. If
None
, a default is calculated based on the default bend radius, if possible.s_bend_offset (float) – Offset of the S bends.
euler_fraction (float) – Fraction of the bends that is created using an Euler spiral (see
photonforge.Path.arc()
). IfNone
, defaults to 0.coupling_length (float) – Length of straigh coupling region. If
None
, defaults to 0.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:
Coupling component.
- Return type:
component = s_bend_ring_coupler(
port_spec="Strip",
coupling_distance=0.6,
radius=5,
s_bend_length=5,
s_bend_offset=2,
euler_fraction=0.5,
)